If you think testers should be paid less than developers, you know nothing about software or football.

A. Z.
7 min readJun 2, 2020

I was in the middle of a recruitment process with a software company, and everything was going well: The company emphasized that they were aiming to build a high quality product, that quality was essential for their growth and evolution. And for that reason they were looking for high qualified software QA specialists.

“With this salary, you would be the highest paid QA Engineer in our company.”

This was the last thing the recruiter said to me before I turn down his offer.

The salary was actually very good, and I was going to say yes (after some negociation to play hard to get, you know). But the way he said it was a loud and clear alarm : Run !

Forest Gump running

Why you should run away from such companies?

It was obvious that this company considers test engineers as less important than software developers. And as a QA specialist, you don’t want to be in this kind of environment.

Don’t get me wrong, the money is not the problem here, the offer was quite good. But I’m just not ready to get a job where I would do only the bare minimum, get a paycheck every month and enjoy three weeks of summer holidays.

Some people are ok with this situation, and there is absolutely no shame in considering a job as just a way to pay bills and still have time for more important things like family, hobbies or personal projects. I hope that one day I’ll see things this way.

But if you aim for a successful career as a quality professional, especially if you are at the begining of your career, you don’t want to waste your time struggling with a project that will inevitably fail, you don’t want to be blamed for this failure, and you don’t want to end up with nothing but frustration, regrets and the feeling of missing better opportunities.

I had been in similar companies in the past, and I know that for people who think developers are more valuable than testers, Quality is just an additional cost, a contractual obligation towards customers: “Of course we are testing our software”.

In such companies, everytime a conflict shows up, the management will trust the developer’s judgement and go their way, EVERY. TIME. The priority will always be given to development.

“We have to release the software on friday, the development ran late so you have two days to test the release instead of one week”

And if the software quality is trash due to this poor strategy, guess who is to blame? You’re damn right: the test team.

This advice is also valid for software developers: if quality is not important for the company, you are wasting your time in projects intented to fail and you are not improving your skills, quite the opposite.

Imagine working on a project for several years and see it cancelled because of the lack of quality. Not many bugs found during development? Good for you! But the customers won’t be so complacent.

This is also valid for software developers: if quality is not important for the company, you are wasting your time in projects intented to fail

When it comes to software, everybody agrees that the difference between a very good product and a poor one is quality. But why do people think they can spend less money on software quality than on software development?

1 Any developer can be a tester

The most common mistake is to think that if you know how to build a product, you know how to test it.

Coders and Testers have two different and opposite ways to see software:

  • The developer sees only the happy path: what the software should do.
  • The tester sees everything that can go wrong: what the software should NOT do.

Testing should start at the same time as development, when the requirements are defined, and continues after development is done. So if you ask a developer to do the work of a tester, you will have someone working full time on tasks they are not good at, and not be able to work on what they do best.

Having a developer testing the software is very similar to having a forward player playing in defense, he can stand there and do his best, but don’t blame him for making mistakes and losing the game, and don’t blame him for not scoring goals either.

2 Anyone can be a tester

Anyone (with some technical knowledge) can execute a test if it’s already created and well documented.

But it takes a lot more testing specific knowledge to:

  • Analyse the requirements from a testing point of view
  • Understand the specifications
  • Take into account the environment constraints
  • Define and create the perfect test case

In addition to that, software testing is not a freestyle activity, it must follow well defined methodololgies and frameworks (ISTQB, TMap…) in addition to the more general software ones (Agile, Kanban, DevOps…).

This activity involves also different roles: Test manager, Test analyst, Test automation engineer, Test architect… and every role requires a specific set of skills and a different level of experience.

A football formation showing where test roles would position on the pitch
Testers vs football defenders
  • The manual tester would be a defensive midfielder (DM), this role requires great stamina, motivation and focus for tackling bugs and covering the whole software. It may not be the most rewarding position on the pitch, but it’s definitely one of the most important.
  • Test automation requires both testing and development skills is very similar to full-back (FB) position in football. The left and right full-back’s main focus is not to concede goals, but in modern football, their attacking role is as important as their ability to defend. This role requires dribbling skills, speed and technique in addition to good defending. Same applies to test automation engineers where they have to use their development skills to improve software quality and speed-up testing.
  • The test manager and test analyst would be centre-backs (CB). This role requires excellent defending skills, the ability to read the game and a very good communication. At least two centre-backs are needed, and the perfect combo would be a natural born leader with great management skills (The test manager), and a more hands-on profile with technical skills and the ability to read the game (The test analyst).
Chiellini and Bonucci, Juventus and Italy CBs
The perfect centre-backs combo

3 QA engineers are less skilled

You probably know the saying “If you judge a fish by its ability to climb a tree, it will live its whole life believing that it is stupid.”

If you compare a developer’s and a tester’s C programming or Java programming level, you’ll probably think the tester is less skilled.

But that are not the skills you should expect from a test specialist. When you are working in the same environment and on the same product, a common background is required, coders and testers share a lot of tools and work methodologies, but the specific qualifications are very different, and the combination of all of them makes a great team.

Nesta tackling Messi GIF
Defending skills vs attacking skills

4 We don’t understand the need for Software Testing

Imagine a football team playing with only attacking players, even if they score a lot of goals, they’ll lose most of the games because of the poor defending. Same applies to software development and testing, you can have the best developers in the world, if the product is not tested properly, the quality will be poor.

The sipmlistic way of seeing these roles is : the developer’s goal is to create a software free of bugs, and the tester’s goal is to find bugs in the software.

If we go with this assumption, the coder will try to reject every bug even if it’s valid, and the tester will try to find the most bugs, even if they don’t exist.

The end result will be a poor product and a stressful and conflectual work environment.

The right way to organize the work is : the team’s goal is a high quality software product.

It’s impossible to create a complex bug-free software from the beginning, but with QA team objectively identifying bugs and Development team fixing them in a collaborative way, both can reach their target and learn a few valuable lessons while doing so.

Germany team lifting the world cup 2014

--

--

A. Z.

Embedded systems engineer, don’t want to talk about it.