DEV Community

Ben Halpern
Ben Halpern

Posted on

What are your tips for getting your first programming job?

Latest comments (32)

Collapse
 
triplejdev profile image
Rhymes Toasterface

I would say to remember that as well as finding a job (that you may need BADLY), you need to find the right job.
If you’re looking for your first job, there must be a reason? Why do you want to do programming? Use the same thinking to find the company that fits. It may be tempting to take the first job to get a foot in the door of the industry, but quickly that job could become a run of the mill daily grind.
If you can, hold off. You’ll know the right one when it comes along.

Collapse
 
isaacdlyman profile image
Isaac Lyman • Edited

I won't give any specific tips (a lot of good ones have already been shared), but I'll tell you how my two brothers and I did it.

My older brother started coding in high school. He was really good at it and picked up a few gigs before he went away to college. Later on, he got a job as a QA Engineer (if there was ever a job more in demand and less in supply than software development...) and after a year or two writing Selenium test suites, his company gave him a spot on the programming team.

I also coded a bit in high school -- I wrote programs in BASIC on my TI calculator to make my calculus homework go faster, and messed around a little with Visual Basic, Dark Basic, Python, C++ and a couple others -- but I wasn't nearly as prodigious as my brother at that point. In college I got a job doing technical support on campus, with no qualifications other than "I'm good with computers." Student jobs tend to have lower barriers to entry. There was a lot of downtime at that job (there was a period of, like, two months where nobody was opening strange email attachments; it was great). My coworkers watched Netflix and surfed the web during downtime, but I decided to spend that time learning HTML, CSS and JavaScript. I bought a domain name and built my personal website.

After that year I took two years off to serve as a Mormon missionary, and when I came back, the software boom was in full swing. I couldn't pass any coding interviews, but with my tech skills and the courses I'd taken toward an English degree, I got a job as a technical writer for the university's online education department. I shared a cubicle with some of the QA engineers, saw a lot of the work they did, and realized I'd be good at it. I offered my help to their team lead, who was surprised but offered me a couple of tasks to see if I could figure them out. (I could.) Whenever I had time to spare from my regular work, I would help out the QA team, and eventually I changed my job title to "Technical Writer / QA Engineer". Not much later, I changed jobs to another department, doing QA engineering for a higher rate per-hour. I worked hard there (in the words of my supervisor: "The first QA that's written any useful tests") and before long they offered me a spot on one of their web development teams. And a few months later they moved me to the architecture team.

A few months before I graduated, my brother referred me to a startup, who offered me a part-time position, transitioning to full-time after graduation, at almost double what I was earning. I said yes and I've been with them ever since. So much for my English degree.

My little brother has always been good with computers, but never did any coding. University wasn't for him and he was struggling to decide where to take his career. My older brother and I encouraged him to try programming; for some reason we thought he might have a genetic predisposition for it 😉. So he signed up for a local code bootcamp. He just graduated from it a month or so ago, and he already has a paid internship lined up with an awesome company...as a QA engineer. And there's a good chance they'll take him full-time once the internship is over.

I guess the three of us have walked a very similar path.

Collapse
 
oscherler profile image
Olivier “Ölbaum” Scherler

Under 22 years old, diploma from a school that didn't exist two years ago, ten years of professional experience, five years experience in technologies released a year ago, skills of a senior, salary expectations of an intern.

Collapse
 
dakebl profile image
Dale Blackburn

A few tips:

Be honest about your abilities.
Be enthusiastic to learn (and be vocal about your desire to do so).
Brush up/start to learn any prerequisit tech.
Be friendly and try to relax.

One of the most understated considerations is often team fit, and the is arguably one of the more important qualities that a team would seek. Practice your soft skills and set realistic but positive expectations into the recruitment team.

Your goal is to be enthusiastic, optimistic, and above all, someone that people would want to work with.

Collapse
 
rod750 profile image
rod750

Apply even though you do not meet the requirements. One requirement of my first programming job was have a degree in computer science, I didn't have it but I got the job because I showed that I had the skills.

Have passion to learn and display it in the interviews. I interview programmers and those who get my attention are those that get excited learning new things, and demonstrate to have skills to learn fast.

Write code: personal projects, experiments, every little piece of code helps to show your skills and what are your areas of interest.

Collapse
 
arggrande profile image
Adam Grande

Use whatever opportunities you can to build your experience.

Are you entering things manually into a spreadsheet? Build a little VBA app that'll speed up your data entry.

Do you need to do reporting on some spreadsheets? Write a macro (or a console app) that'll take all that information and spit it out into something coherent.

I think its super important, especially in the early days, to take whatever you can. It doesn't need to be a massive custom build app in the latest frameworks (though hell, if you can do that good luck to you!). It just needs to be something demonstrable, where you can prove you've learnt something, and that you're willing to be inventive.

Another thing you can do is to reach out to not-for-profit/charity organisations, and see if there's anything small they need built. A lot of the time, these organisations are strapped for cash and will appreciate any assistance. Before starting any work you still probably want to talk to a lawyer and ensure you're not signing yourself up for trouble.

Collapse
 
grappleshark profile image
Tanja Lichtensteiger

There's a lot of good advice on this thread already, so I will just say: show willingness to learn more. Show that you want to invest in your self development, that whatever tools are thrown at you that you're open to them and spend time learning (and failing). Enthusiasm for this is attractive to an employer. I've hired people who didn't even fit 70% but I could see the potential to be developed.

Collapse
 
sherpmc profile image
sherp

I'm 16 and just got my first programming job. Granted, it doesnt pay much @ 14/hour, but it's something.

For me was, just keep asking, keep applying, and don't give up.

Collapse
 
isaacdlyman profile image
Isaac Lyman

That's amazing. Can I ask what got you into programming in the first place? I'll often talk to a teenager who I think has awesome aptitude for programming, but I can rarely persuade them to get serious about it.

Collapse
 
erebos-manannan profile image
Erebos Manannán

When applying for your first job, you should accept that no matter how good you might be compared to your school mates or similar you are likely far from being a good programmer. However, there is some hope with proper work experience for you to become one.

  • Figure out what kind of things make you excited, do you want to work on web frontend, server-side applications, desktop applications, OpenGL, C#, or what?

  • Try to find some companies that you find interesting and are working with the things that make you excited.

  • Figure out from their job applications, blog, application code, GitHub, etc. as best you can what technologies they are using. Pay attention to any extra tools they mention in their job applications as useful to know for the job.

  • Try to learn some of these technologies, and look into alternatives. Publish your code in GitHub.

  • Try your best to pay extra attention to things that will be important when working in teams: README.md with clear instructions on how to use the project, clean code with clear structure, automated tests, decent version control practices.

  • Start sending out applications with the best CV and introduction note you can come up with, spend time looking up templates you like and actually filling in interesting information. Keep your CV down to 1-2 pages. These can gladly largely be copy & pasted, but mention why specifically the company you're applying to seems interesting to you. Make sure you include links to your relevant and most impressive GitHub projects.

Now, if you do manage to get yourself an interview they will not likely be impressed by your existing knowledge, but passion and drive to learn can be very strong indicators for success in a working environment.

It is very common, especially for junior positions, for the companies to ask for you to perform a small programming test. You should expect to spend a few evenings on that at an early stage in the interview process.

Prepare to be questioned about every decision in your code, and people pointing out bugs and such. They will likely want to hear your reasoning to see how much you only copy & pasted other people's stuff without understanding it.

Hiring a guy who has no practical work experience is always a big risk and an investment, they will not want to do it unless it seems you are worth it so do your best to convince them of your interest in learning from them.

Collapse
 
ferkungamaboobo profile image
Doug R. Thomas, Esq.

Our team is broader than straight programming, but I think the broad digital realm can get the same suggestions. A big thing for me as a the supervising manager and initial interviewer is narrative -- when you have a good story, a good "this is what got me into digital stuff," or a good "this is how I can use my past experience that isn't necessarily digital to help the team," I feel more compelled to move someone along the hiring path.

An example from me - I connected what I now know as UX to survey design in my political science background, and UX and behavioral conversion rate optimization is a big part of my wheelhouse right now. Making those connections also shows that you're capable lateral thinking - a huge skill in programming, especially in smaller and less-organized teams.

Collapse
 
nixcraft profile image
nixCraft

Not a tip, but here is how I got my first gig. When you are in school start contributing to your favorite open source projects. Take part in mailing lists. That is how I got my first gig. It was a simple Perl script help that leads to getting me an interview and later job too. I hope this helps someone.

Collapse
 
hamatti profile image
Juha-Matti Santala

People have given great advice on having hobby projects and following up on the applications so I won't go into them. My advice is to network and be active: attend hackathons and meetups, show that you are willing to learn and take on new challenges.

It can be intimidating first (I bailed out of my first hackathon after 3 hours of not doing anything) but you'll get there. Many teams are happy to take a junior into the team to teach, just be up front about it. Meetups are great ways to learn new things, meet new people and get your name/face into the minds of people.

Collapse
 
graffic profile image
Javier Gonel

1) Focus
You can apply to every job where you can submit your resume. Or you can target them. Both require time.

You might think that sending (and keeping track of) 100 CVs is fast, but it will take the same time or more than filtering first and then targeting your resume and cover letter. Also I believe you will get better response rates and that will motivate you more.

2) Keep track
Yes, open your applied.txt and keep track of your moves.

2) Understand that you still don't know what you enjoy doing.
I've seen it many times with first timers. They apply, they get the job, and then they realise that they don't like that kind of job. Understand that a company will set a probation period so you both can check after some time if everything is ok.

3) Relax and smile
First time in a big building. First time talking to a person that could be your colleague. Remember to be yourself, even if it is a young yourself, still student yourself. They know it is your first job, don't try to hide it.

4) It is not all about code
You see that dev there? You might spend more time speaking with that person than to your friends. Did you enjoyed the interview with your interviewers? They will ask the same question to themselves.

5) Keep doing interviews.
Remember point 1? Add some extra companies just to warm up interviews.

Collapse
 
gurchiekt profile image
Thomas Gurchiek

Number 5) can be a daunting one. Though it is needed sometimes to get your mind in the right place to feel comfortable answering questions on the technical portions.

I would also say apply for positions that are slightly above your experience level. For instance, if you have 1-2 years of professional experience apply for the positions that are wanting 3-4. Sometimes employers will pick your brain a bit to see what you know. You would be surprised that some will make exceptions. Never hurts to let them know you are interested in advancing in your career.

Collapse
 
peazzoni1 profile image
Aaron Peazzoni
  1. Know the fundamentals of the stack you want to work with. JS, HTML, CSS etc. Also know some SQL. But don't worry about blowing them away with your knowledge.

  2. Have some projects on GitHub to reference. But keep in mind there's an 80% chance the interviewer won't even look at them. They're really just for you...but in a good way.

Try to make one project a volunteer job for a small business. It can honestly be anything as long as you write some code for it.

  1. The hardest part - find a recruiter or dev that's willing to go to bat for you for new jr dev jobs. The ideal situation is a team that wants someone who's motivated and willing to learn on the job. And that they can get at bargain. Those jobs are out there but often not advertised. But if you connect with the right recruiter or developer, they'll get you in the door to interview.

  2. For the interview, you really only have to answer 3 questions for them: 1) can you do the work? 2) will you do the work? 3) are you a good fit with the team culture?

I also wouldn't necessarily assume you'll get overly complex technical questions. Instead you might get simple questions that may be hard to answer. E.g. "What happens when type in a URL address and press return?", or "define what an object is in JS."

When you feel like you're ready for the first job, focus most of your energy on #3. And repeat this phrase once a day: "it's just a matter of time."
Because it is.

Collapse
 
aaroneiche profile image
Aaron Eiche

My first programming job was at a small company. The thing that really pushed my boss to hire me was that I took the concepts that we'd spoken about and implemented them in a simple example application. It was probably done the wrong way, but he told me later that that had really impressed him.

Having work that you can show these days is a must. Having work that is relevant to the position you're interested in is a leg-up.