How to get a first job as a software tester?

Numerous times people ask me how to get first job as a software tester. I have already written very popular ‘How to become a software tester’ post, but after many offline discussions I want to change emphasis a bit. Don’t get me wrong - those are still good advises. Unfortunately, whether we like it or not, job market is constantly evolving and one particular skill is in top demand now: programming.

Do you want to be a tester or do you want to work in IT industry?

Maybe it’s just me, but most of the people I advised about first testing job weren’t particularly interested in software quality. They wanted to join IT industry, so the question they were seeking an answer was in reality:

How to get a first job in IT industry?

After reading (or hearing?) that software testing in the easiest path into IT they changed the question for:

How to get a first job as a software tester?

My first advice for such people is very simple. Don’t focus solely on testing. Try to get a job as a junior developer, junior devops, service desk support, IT support or any other position. By this simple move you increase your job chances substantially. Junior software tester jobs are very scarce, but whole IT is looking for new talent all the time.

One particular skill increases your chance of hiring on each of those positions (including software testing): programming.

Why junior positions are relatively hard to find in IT industry?

People who don’t work in IT (yet?) often find it surprising that a lot of companies are very reluctant to hire people on junior roles. They are lesser paid so who not? There are a couple of reasons:

a) Juniors require skilled assistance

Before junior engineer becomes productive a lot of training and assistance is required. Those activities are usually conducted by senior (high paid) engineers so financial benefit of hiring a junior is quickly diminished.

b) Work in IT demands to make a lot of long-term consequences decisions

Every engineer usually makes a lot of decisions almost every day. Which framework, language or tool to choose? How to implement it? How to test it? Junior engineers are obviously poorly qualified to make such decisions and senior assistance is once again required.

c) Trained juniors very often leave to better paid jobs just after they become productive

This may actually be the most important reason. After all those efforts related to training they can simply leave.

Why programming?

My readers know that I’m a huge fan ofNassim Nicholas Taleb. In one post I even explained how TestOps role is the most antifragile. I don’t want to repeat myself, but just a quick summary. Being antifragile means to protect yourself from low probability events (examples: always insurance your house, don’t build your house on flooding area, diversify you income, don’t store all your money on one bank account) and allow yourself to benefit from low probability events ( examples: invest small amount on high-risk affairs, write a blog, build a website, start a podcast, attend conference as a speaker). The more things you do, the higher chance that one of them may succeed.

If I explained antifragility concept correct you may already know why I recommend learning programming. By gaining technical knowledge (programming is not only coding, but also environment setup etc.) you are increasing your chances of getting hired in almost every IT company as a engineer.


Conclusion is very simple. If you want to join IT learn coding :)