You don't need another software engineer

A note on recruitment in today’s IT companies.

A few months ago I attended a meetup titled “Building your Engineering Team”. What I found out was that all companies are striving to get the best talent out there. It’s not that I didn’t know that before. But it somehow struck me that day. They are all looking for some magical trick to hire the best people. It is mainly about optimizing the process to go through as many candidates as possible in very short time. It’s about how to figure out puzzles and other questions or assignments to validate candidate skills and fit for the job. I see the same tendency as in other areas of western life: go for more, and more, and more.

What if I tell you, that probably you don’t need most of that? That you don’t need to hire your hundred-first engineer to run average size online shop. That your business would have been fine with 1/3rd of your technology department if you just did it right.

I’m a software engineer. From my position, I see a huge waste on management level. I will be referring to you as a manager or higher level executive, in contrast to us, software developers.

I can identify management waste in many areas, but to take it easy for now, let’s focus on one: lack of long-term vision and strategy - in plain words - you don’t know what you really want to build.

That leads to poor ideas thrown on us, frequent change requests, and eventually running in circles. It happens that we build products or features no one really needs or what’s worse, that will never be used or tested by real users.

In software development, work done by one person in 10 days cannot be done by 10 people in one day. By hiring and throwing more developers on your already poorly managed and planned project, you will only make it worse.

So you think that you need more people but in reality, you are just wasting our time.

And before you start arguing, believe me, I know:

  • about lean startup, iterations and validating your business ideas,
  • about A/B testing,
  • that you are paying us for that - but often not from your own money ;)

I assure you that you can save a lot of money and resources if you just do your own homework before throwing stuff at us. Or even better, let us do the stuff. Tell us what do you want to achieve, what are your problems. You are hiring the best talent anyway, yes? So just get out of our way!

Instead of hiring more you can also just optimize your already existing workforce. Invest in them, send them to workshops, make sure they are motivated and happy. Most important, give them meaningful problems to solve!

I wrote a long post about what is wrong with management in software development, so you should just read it now.

If you agree with me or not, let me know either way! You can find me on Twitter.