in Business & Leadership

A Guide to Hiring Programmers: The High Cost of Low Quality

Frank Wiles wrote about how companies make mistake by hiring average programmers. It is well known that expert programmers are way better than average programmers. More importantly, average programmers produce worse code and tail spin a project as the Slashdot discussion goes on.

Of course, expert programmers do a great job. But it’s so damn difficult to find (and keep) expert programmers. I have seen just so many people come to programming to make money – rather than to invent something or express their creativity. Simple headcounts will get a company more billing, but less satisfaction to the developers. But I guess most companies don’t really care for the later…

Write a Comment

Comment

  1. I’ve thought about and discussed this issue for some time and it seems to me that the underlying problem is that good programmers must acquire so much skill and experience before they hit that threshold of being a good producer that 4 years of undergrad and a couple of years experience are not enough.

    I think the developer/programmer in the IT industry should be viewed like doctors are viewed in the medical industry. The doctor is not even expected to do major operations on real people until they’ve had lots of school and lots of training… how many years before a doctor can actually perform a major operation?

    In the IT industry, companies expect people with far less experience and training to do what many may see as equally complex and critical work. A bank will hire recent college grads (or even interns) with little experience to implement a secure interface for customers to log in to and execute secure transactions in their accounts while you wouldn’t expect a recent 4-year college grad to do heart-bypass, brain surgery or even set a broken arm!

    The areas of IT should become more defined and formal schooling should be required for training in those areas… just like in medicine and in law.

    Too many companies expect too much from college IT grads. These companies need to provide the training and culture required to develop the desired skills and behaviors in their programmers or they need to develop a system that makes the work a commodity (like an assembly line) so the skills coming in match the work.

    Further complicating this issue is the fact that the IT industry changes and moves so fast that it is hard to learn and stay on top of everything a company expects. A soon as something new comes along, the company expects their programmers to already know how to implement it with little or no training. Also, once a programmer has hit that threshold, it may be only a short time before those skills become obsolete… so the expert is only in the market for a short time due to the difficulty in maintaining expert status once it is achieved. Also, this pattern leads to rampant burn-out… further removing experts from the industry.

    Sure a small handful of super programmers can do this but they are the exception and companies can’t bank on exceptions. It takes a willingness of the employer to constantly train and incentivise the majority of IT staffers.

    This is a fundamental difference in the IT industry from that of the majority of others where most tasks of the work stay the same and are largely repetitive and productivity goes up more linearly with practice. While there is repetition in programming, it is largely a creative job and until the value of the work is recognized in the form of more required formal training and greater incentives, companies will continue to bemoan their perception that ‘there just aren’t any good programmers out there’. If companies train their programmers and pay them what they are worth, there will be plenty of good programmers.

    The very fact that this is an issue points out that there is something wrong. Either companies expect too much performance for too little pay or programmers expect too much pay for too little performance. Since it is the companies that do the hiring, they need to take the responsibility and show leadership by not only paying what good programmers are worth but ensuring these programmers have the tools, training and culture necessary for them to actually BE good programmers at the company.