I got asked on Facebook for some time ago about the problems of searching for a job by a junior developer. That guy was afraid that it could be quite hard to find a job in Europe. Well, I decided to write a general blog post about what I think regarding the problems of searching for a job by a junior developer.

A great number of students who learn programming think that it is quite hard to find a job. I know it because I teach programming in C#. The programming language doesn’t matter though. The answer to the question depends on some factors. Let’s mark out these factors and discuss a little bit. The following factors are the main ones:

  • where you’re going to look for a job (country and city are the primary factors)
  • your level as a junior programmer (one junior can be much more advanced than the other)
  • your expectations
  • your communication skills

Location

Of course, chances to find a job depend on where you search for it. Here is a list of top ten countries for developers to work:

  • Switzerland
  • Canada
  • Australia
  • Netherlands
  • Germany
  • USA
  • Sweden
  • Denmark
  • Singapore
  • United Kingdom

It also depends on the city where you search for a job. If you live in a country from that list and in one of the most business-active cities then it will be not so hard to find the job. You must either be literally an idiot to be rejected everywhere in these countries, or it might happen that programming is not yours. I live in Moscow, Russia and it’s pretty easy to find here a job for a junior programmer. Yes, possibly, you’ll attend ten interviews or more but eventually you’ll get a contract.

Level

Juniors have quite different background. The majority of rejections are related to the fact that a junior literally doesn’t have any practical experience. It’s a big minus. Many juniors got offended and ask then on forums something like “where could I get practical experience if was looking for my first job?”. There are tons of opportunities to get your hands dirty. What about me? When I was a third-year student, I went to the dean’s office and proposed to develop a system to automate the deanery workflow including documents processing. Of course, the dean accepted my proposal. I started to work and participated in the ImagineCup contest (ran by Microsoft) with that programming project. Imagine how much experience I got. Tons of. Before searching for a job, I also decided to get a certificate on WPF. I prepared and got it. Not hard to imagine that I found my first job easily.

Expectations

Chances to get a contract depend on your expectations as well. If you want to earn 120000$ per year at a junior’s position, then you’d better reduce your appetite a little. No one wants to pay so much to a junior. If you are a star, then this is a different story. However, you’d better estimate yourself closer to reality.

Don’t expect to earn much starting from the ground. However, just two or three years of experience can advance you in earnings quite far. A developer with two-three years of experience earns as twice as a junior with zero years of real-world experience.

Another critical factor which is not in place in every case concerns targeting of a certain company. In other words, if you focus on a specific company then you have to prepare hard. In that case, I would strongly recommend honing your skills of passing interviews in other companies until you get firm confidence. Only after that, try to attack the company of your dream. That is true especially regarding big companies.

Communication Skills

The technical skills are not the only ones you need. If you stare at the floor at an interview instead of talking to your interviewer, then expect to be rejected. Have problems with communications? Attend a master class in your city learning the basics. Very often, communication skills overweight technical. Yes, indeed, many developers prefer to work with a pleasant co-worker and less professional rather than working with a grisly provoking kind of man. Be honest, be pleasant. That improves your chances to be accepted significantly.

Practical Bits of Advice

If you’re a junior developer seeking for a job, I would recommend the following:

  • Kick off a pet project and work hard to finish it. In the end, you should be able to demonstrate what you achieved.
  • Get one certificate or more. There are thousands of threads on forums where people discuss the relevance of technical certificates. Many developers consider them irrelevant. However, keep in your head that many developers find them relevant. There is a high chance to get interviewed by a developer who believes your certificate is valuable.
  • Learn algorithms and the programming fundamentals such as complexity of algorithms and how to estimate that complexity.
  • Don’t feel down in case of rejection. My advice how to treat the rejection is to think of it like you and that company are not for each other. You have different ways. There are thousands of reasons why you could be rejected. Don’t feel down, re-estimate your level, think of what you can improve and go further. If a company rejects you, it doesn’t mean that: 1) you’re a bad developer 2) interviewer is the devil. In 99% of cases, such thoughts are misplaced and they are just the result of a normal reaction to being rejected. Tweak your feelings.
  • Be confident. One of the worst things you can do is to lose the confidence. The best thing you can do is to try to estimate your potential realistically and understand the right place and position you deserve.

Hope this helps. If you have any questions related to your career, feel free to comment here or write me a private message.