In one of our previous posts, we wrote about hiring an intern and an experienced developer, but we never got to this part. IT industry is full of stories about one team member who destroyed 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 and how can a bad programmer make that much influence? In order to find out, we are here to present you the differences between good and bad programmers.
Types of Bad Programmers
You know how they say 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 that joined the Dark Side:
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 so fast. Flash's characteristics are:
- codes fast,
- writes unreadable and unusable code,
- works best by himself/herself,
- thinks high of himself/herself,
- thinks low of the others,
- if there is a possibility to skip task (or delegate it), he/she will do it,
- poor communication skills,
- never asking a question just explaining it.
By naming these characteristics we entered the so-called "gray area". Coding fast is one of the characteristics of a good programmer but if it is done poorly, it becomes a flaw.
We can positively say Flash is the worst. Another Flash's drawback is that he/she is either self-thought 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.
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.
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 and 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 good and amazing programmer.
A good programmer is like Robin - is 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 changed but a challenge that he/she needs to overcome.
The main difference between these two is that amazing programmer always looks forward to a challenge. Challenging himself/herself and learning something new is his/her 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 from. 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!