What Are the Differences Between Good and Bad Programmers?
In one of our previous posts, we wrote about hiring an intern and an experienced developer, but we never got to this part. The IT industry is full of stories about one team member who destroyed the team's productivity and efficiency. "Destroyed" is maybe a harsh word but you know what we are trying to say.
How is it possible that one person can affect the project so much? How can a bad programmer make that much influence? In order to find out, we are here to present to you the differences between good and bad programmers.
Types of Bad Programmers
As the saying goes it's easier to join the Dark Side (insert Star Wars quote here). Well, we think so too, especially in the programming world. Here are 2 types of bad programmers who have joined the Dark Side:
The Flash
We are sure you have heard of the Flash, DC's superhero. A guy who was struck by a lighting which gave him the power of super speed. It resulted in him fighting the crime in NYC. However, our fellow programmer Flash doesn't fight the crime, he is the crime (insert Breaking Bad quote here).
We named him, Flash, because he codes quickly. Flash's characteristics are:
- codes fast,
- writes unreadable and unusable code,
- works best by himself/herself,
- thinks highly of himself/herself,
- thinks low of the others,
- if there is a possibility to skip or delegate a task, he/she will do so,
- poor communication skills,
- never asks a question just explains it.
By naming these characteristics, we entered the so-called "gray area". Coding fast is one of the characteristics of a good programmer. However, if it is done poorly, it becomes a flaw.
We can confidently say Flash is the worst. Another drawback of Flash is that he/she is either self-taught or didn't have any proper guidance. Their code is far from usable and understandable. In some cases, it is not even readable and - guess what - it's full of bugs. Hundreds, thousands, millions of bugs.
The worst thing about the Flash is the fact that he/she has the confidence and think is one of the top programmers in the industry. This is all because Flash can meet the deadline anytime. We can't lie - having a developer that codes fast and, at the same time, creates a good quality code is a dream.
We have just one tip for you: Let Flash work alone. Just let him/her be a freelancer. It will save you a lot of time, energy and money.
The Garfield
A good programmer is not just the one that sits for eight hours, writes semi-good code and goes home. However, that is what Garfield does.
Life of a Garfield goes something like this:
- waking up,
- going to work,
- writing some code lines,
- going home,
- maybe doing something interesting or just watch TV.
Don't get us wrong, Garfield does the job (poorly, but does it). His biggest pit is that he is not interested in what he is doing. He hates change. There is only one thing that is constantly improving - his Google-ing skills since Google is his only consultant. Garfield has no clue about why the bug appeared or why it didn't appear.
Having this type of a developer in-house is not as destructive as having Flash but Garfield has an effect on a team's productivity.
Good Programmers
The differences between good and bad programmers are so obvious. Having a good programmer in the company is like tasting a bar of your favorite chocolate; the good taste never goes away. It is always a pleasure to be acquainted with this type of programmer.
However, we have to point out there is a difference between a good and an amazing programmer.
A good programmer is like Robin - very intuitive, trustworthy, acknowledges injustice and is ready to fight it.
An amazing programmer is like Batman - he has been fighting the "underground" for quite some time and is always ready for a new challenge. For him, bugs are not just another time-consuming error that needs to be fixed but a challenge to overcome.
The main difference between these two is that an amazing programmer always looks forward to a challenge. Challenging himself/herself and learning something new is their goal.
Having good programmers and one or two amazing ones in a small team means living the dream.
Here are some characteristics of a good programmer:
- writes readable and high-quality code,
- likes solving issues,
- likes learning new things,
- is open to criticism,
- is aware that he/she is not perfect,
- has good communication skills,
- the team gets along with him/her,
- needs little supervision.
Working with these types of programmers means having quality staff from whom a CEO or a Project Leader can learn. They always strive to do best. As you can see, differences between good and bad programmers can't be clearer.
Just Good and Bad?
Although our qualification is accurate, you should be aware of the fact that programmers come in all shades of grey. Programming is definitely not all black and white.
Thank you for taking the time to read about Flash, Garfield, and the rest of them. And, yes, in case you were wondering - it was fun to categorize them like that.
Have a good day!