DEV Community

Ben Halpern
Ben Halpern

Posted on


What are your tips for getting your first programming job?

Top comments (33)

oneearedmusic profile image
Erika Wiedemann

Follow up on your applications! I know a lot of people are hesitant because they don't want to be a bother, want to give due process, etc... but communication is key.

I don't suggest repeatedly sending an email 2-3 days later, but if you haven't heard anything back after a week and you're genuinely interested, let them know you're still looking forward to their response in a quick 2-3 sentence message.

One place I applied for completely lost my information. I followed up, sent a new copy of my CV, and received an interview.

graffic profile image
Javier Gonel

Human errors happen and your tip is good to double check on the recruiting team.

But beware of places where they "loose candidates". Why are they loosing them? Is that an example of how the company will deal with you as an employee? Is that how they value fellow engineers?

ben profile image
Ben Halpern

Yeah, I totally agree. The candidate who follows up is going to get more attention and there is no downside even if they end up going with someone else.

craigcottingham profile image
Craig S. Cottingham

Meet ups and user groups. I've gotten more positions in the past 25 years through people I knew than applications I sent in.

Learn aggressively. Present something at a meetup; in my experience they're always looking for presentations, even if it's just a 5-minute lightning talk. Show that you're eager and able to learn.

mattbontrager profile image
Matt Bontrager

Breadth and depth.

Breadth: Have a broad base of knowledge across the spectrum of computer science. Understand that your primary function as a programmer within the context of a larger organization is to solve problems; sometimes very difficult problems, the solution of which may come from any number of different technologies.

Depth: Increase your value to the organization by being an expert in one particular discipline. After previously establishing that you have many different tools in your toolbox (breadth), show your prospective employer that, when it comes to your particular specialty, there is none better.

Admittedly, to develop a genuine expertise, true depth, takes time. Since this is your first programming job, you may not have that time. The way you overcome that challenge: you have to have a genuine passion for your technology of choice. Develop projects on your own to demonstrate your passion.

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.

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.

polyov_dev profile image
Evan Derby

Make projects! As long as you can show that you've got skill, and you can show that it relates to what the company is looking for, then you might just be of value. The projects don't have to have legitimate value or purpose, they just have to help you develop your skills.

For my first programming job, I hadn't gone to college or gotten any certificates yet: I just had a whole bunch of projects that showed my (future) employer that I knew what I was doing. When they brought me in for an interview, they asked me to explain one of my projects. The same thing kept happening for the other jobs that I got, despite my having some work experience on my resume.

ben profile image
Ben Halpern

Absolutely. Projects have the bonus of being the best way to learn.

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.

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.

mathur_anurag profile image
Anurag Mathur 
  1. Relocate to the town/city/area of maximum opportunity.
  2. Do not restrict yourself to a particular domain, try to be a generalist initially. Specialise later, with sufficient experience.
  3. Always write a forwarding letter with your resume, which explains your intentions clearly.
  4. Always follow-up after applying. Weekly follow-up is ideal.
  5. During the period when you are searching for a job, keep practicing your programming, problem solving and communication skills. Most interviews are won with a combination of these three.
  6. Aim at the complete spectrum of opportunities. Do not restrict yourself to a set of "hot/in-demand" companies. Landing a job in first go in such companies for inexperienced candidates is tough.
kwelch profile image
Kyle Welch

You have to be willing to adapt. I remember my first position was a JavaScript position at a point where I was not even sure I knew JavaScript. I was able to land the job by having the willingness to learn and the determination to become better. The position quickly changed to fit my skills and accommodate my strengths will still allowing my to grow. Many years later these are things I still look with new opportunities; the change to grow as a developer and provide value by leveraging my strengths.

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.

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.

lietux profile image
Janne "Lietu" Enberg

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: 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.

rod750 profile image

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.

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.

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.

Timeless DEV post...

Git Concepts I Wish I Knew Years Ago

The most used technology by developers is not Javascript.

It's not Python or HTML.

It hardly even gets mentioned in interviews or listed as a pre-requisite for jobs.

I'm talking about Git and version control of course.

One does not simply learn git