Good Developers are Hard to Find But Worth It

Programmer writing notes on paper

What’s the difference between a good programmers and all the rest? As it turns, out the answer is quite a bit! Some say that good programmers can be as much as ten times more productive. In fact, there was a popular discussion which originated back in 2008 that discussed how the difference can be as much as 10-fold between the great programmers and the field of mediocre programmers.

Of course, it can be said that the best of the best in any industry are far more productive than the competition. For example, a top professional baseball or basketball player can leave the competition in the dust, but few would state that one player is literally ten times better than another! Likewise, in the business world, how often is one CEO literally ten times better than a counterpart?

However, when it comes to programming, the rules are different. As a result, a great programmer can literally be ten times better than a mediocre programmer. The simple fact is that gap between amazing programmers and bad ones can be nothing short of night and day.

Research and Writing on the Topic of Good vs. Bad Developers

Much of this thinking regarding the quality of developers is based on a study in the late 1960’s done by Sackman, Erikson, and Grant. The study took a look at programmers that had at least seven years of experience.  They found that “the ratio of initial coding time between the best and worst programmers was about 20 to 1.”  They also found that the difference in program execution speed was 10 to 1.   It is interesting to note that the study showed that there wasn’t a direct correlation between the years of experience a programmer had and the quality of his or her code.

Clearly, this is a shocking difference. It is likely quite safe to state that most people would never suspect that these numbers are quite as dramatic as they are in reality. This data also serve to underscore just how programming is different than most other fields. Again, to use a sport’s analogy, a .300 hitter in baseball isn’t 20 times more effective than the worst hitter in the league, excluding pitchers, of course. The performance gap in the world of programmers is be nothing short of profound and attention grabbing.

In his book Facts and Fallacies of Software Engineering, Robert Glass makes this situation even more pronounced, writing, “The best programmers are up to 28 times better than the worst programmers, according to “individual differences” research. Given that their pay is never commensurate, they are the biggest bargains in the software field.”

Perils of Bad Programmers

Bad programmers, it can be argued, can simply ruin a company’s productivity. They tend to cause problems that must later be fixed. This factor can cause delays in meeting deadlines and even make companies lose out on valuable opportunities. If you make the wrong decision when it comes to your programmer, there will likely be significant headaches in your future.

So what is it exactly that causes bad programmers to be such a negative force? If we dismiss issues such as communication problems and only focus on the “nuts and bolts” of the work, there are several unifying threads that many bad programmers seem to unfortunately share. One problem is that bad programmers frequently make careless mistakes such as typos right in the code. This is, of course, a mess and one that someone else will ultimately have to go in and fix.

It is important to remember that just because a developer is fast doesn’t mean that the individual is doing things accurately. A fast developer who leaves behind a trail of mistakes in his or her path likely indicates a lack of attention to detail or just a lack of care in general. Those who just try to get jobs done quickly are often just shooting for the deadline. They may not care about quality assurance process in general.

Speed can be deadly and, in the world of programming, this truism holds as firmly as anywhere else. Speed is also somewhat seductive. So don’t fall for the trap of thinking that just because a programmer is fast that he or she is an essential piece of the puzzle. Yes, speed is great, but if someone else has to make fixes later, it will ultimately take you much longer to finish the job.

Of course, there are programmers on the other end of the spectrum. Some do indeed have the technical skill and expertise, but there is a big problem in the form of a lack of speed. Time is money in every industry and programming is no different. While speed without care can prove highly problematic, the same can clearly be stated for the “slow poke” programmer. Missing important deadlines can cause chaos just as easily as leaving behind a trail of problematic and frustrating errors. Either of these developments can cause substantial setbacks for your company and should clearly be avoided at all costs.

Bad programmers also don’t tend to fail to think ahead. They don’t see projects in a multidimensional fashion and, in turn, this leads to huge issues down the road. By contrast, great programmers are able to anticipate problems and work towards integrating solutions for a later date. This approach saves everyone a great deal of effort, trouble and stress, whereas a bad programmer only adds to the stress, undermining morale and productivity.

What You’ll Find with Good Developers

The experts have clearly spoken and what they’ve said is that there is a significant if not even profound difference between good programmers, mediocre programmers and, of course, bad programmers. Now, we’ve discussed at length the unpleasantness of bad programmers, but what about those good developers out there? What price tag can be put on top rate performance? The best programmers are willing to find a solution for almost any problem they encounter. You’ll get code with fewer bugs, and that also means a higher quality product and a boost to morale.

At the End of the Day- It’s All About the Code

Great programmers have a gift. Their gift is that they can achieve a great deal with a lot less code. They know how to maximize their work, their time and, yes, the code itself. At the end of the day, it is all about the code and a good programmer realizes this fact and proceeds accordingly. Great programmers generate good code that is relatively free of errors, problems and can potentially even be adapted quickly in the future.

An exceptional programmer is one that can achieve all of that a great programmer can do, but also can achieve it with good or excellent speed while anticipating problems down the road. When you find such programmers, you need to hold on to them as they will definitely boost your company’s bottom line and serve to make everyone’s life just a little bit easier.

Simply stated, good programmers save money, they save time and they contribute to the final piece of software and a company often in intangible ways. They are consistently thinking ahead and looking for ways to solve problems before they occur. In short, good programmers are skilled. But even more than being skilled, they care about their work and about producing a quality final product.

Mediocre programmers may or may not have the skills, but may lack the attention to detail or care to make the most of their skills if they do exist. Mediocre programmers make no effort to excel, accomplish and achieve. In contrast, bad programmers usually neither have the skill, the focus or the determination to shine and help a company achieve its goals. Even worst than being “dead weight” bad programmers can cause problems that others then must go out and fix. In short, bad programmers represent the worst of all worlds! When all these factors are looked at in their entirety, it becomes clear why there can be a 10-fold difference (or more) between the good and the bad.

In this article, we took a look at what great developers get right and conversely what horrible developers get painfully wrong. There are lots of bad developers out there and even just one bad or even mediocre developer can cause a shocking number of problems for your organization. Avoiding bad developers and finding and keeping the good developers is nothing less than of paramount importance.

Are you are serious about working with the pros? If so, give Brad Gatewood Consulting a call today. We’ll ensure that your project is not only smooth, but also as effective as possible