jump to navigation

Who needs good software developers anyway ? August 7, 2006

Posted by Imran Ghory in recruitment, Software development.
83 comments

One of the interesting replies to my previous post on developer recruitment was a claim that shocked many of my other readers – the essence is captured in the following quote: “For most of the developers working in the industry, coding is about cut and paste“. Shocking maybe – but realistically it’s true.

The majority of developers working today are working on fairly straight forward systems doing fairly simplistic things like tying up a gui to a database. For the most parts that means you don’t need to be a good software developer, broadly speaking it doesn’t matter if you don’t have an in-depth understanding of your programming language or lack a formal comp sci education.

However there is another world, a much more fun world in my opinion although others may disagree. A world in which you need to have expertise in your language, where you really need to understand what exactly your code is doing and often how it’s achieving it. A world in which you need to be a good software developer to survive and get the job done.

I’d argue that this world is fundamentally composed of two types of companies:

  • Those for whom their software is their competitive advantage
  • Those which have complex mission critical systems

The second type in some ways a subset of the first; in that if those companies didn’t have good software developers not only would they lack competitive advantage, but that they wouldn’t even stand a chance in the market.

One easy way to identify who needs good software developers is to look at who’s hiring good software developers. And one way to do that is to look at their interviewing practices. If a company gives a heavy technical drilling, expecting the candidate to write code, debug on paper, discuss algorithms then chances are that they want good software developers. But because good software developers come at a premium it’s a reasonable inference that a company which has a solid technical interview process actually needs good software developers.

If you’re interviewing for a company that falls into one of the two types I’ve mentioned above and they’re not probing you technically, then I’d suggest running away very very quickly. Chances are they’re not going to be around much longer….

So who actually are these companies who need good software developers then ? – well going on the earlier assumption that generally only companies that need good software developers would try to hire them: if we could find a list of companies that had tough technical interviews that would probably be a reasonable approximation. Fortunately there are several such lists the most prominent of which is probably Gayle Laakmann’s site on tech interviews.

Going through the companies on Laakmann’s site they all nicely fit into the two fundamental types I mentioned above. A lot of them are software companies either shrink-wrap (Microsoft, Apple, etc.) or software-as-a-service (Amazon, Expedia) in which the strength of their software is their primary market advantage – the benefit to them of good developers is obvious. Some are defence firms (Boeing) or similar where robust and reliable mission critical systems doesn’t give them competitive advantage but are a simple requirement if they want to operate in the market.

And some like the financial firms (Goldman Sachs) fall into both types – high-quality, reliable and efficient software is required to maintain advantage over your competitors. When a few milliseconds delay in executing a trade can be the difference between profit and loss paying a small premium for the best developers is a no-brainer. And on the complex system side you can’t have developers building sophisticated multi-threaded trading systems. You really do need to have an in-depth understanding of issues such as synchronicity and floating point number implementations when you have literally billions of dollars at stake.

So when you next see someone commenting on developer recruitment, pause for a minute and consider which of the two worlds they come from. If their opinion shocks you it may be because they do come from another world. Metaphorically anyway.

Advertisements