There are literally hundreds of articles out there on how to become the sort of developer you want to be. But what about the developer you don’t want to become? Is there a risk that your career in programming could take you in an undesirable direction, and in that case, what can you do to keep that from happening?
And what sort of developer is it anyway, that you should be wary of turning into?
In this blog, we will describe four types of developer that are encountered in the modern office with relative frequency, but whose shoes you really don’t want to fill. Hopefully you do not recognize yourself in these descriptions!
This developer’s specialism consist in accepting unreasonable deadlines, working themselves half to death in a frantic attempt to meet them, and then taking all the blame when the project is inevitably delayed.
The reasons why someone may turn into a workaholic developer are various – from having been taught an overzealous work ethic to wanting to compensate for insecurities – but the consequence is always the same: when you show a company that you are willing to work unreasonably, the company will give you even more work on unreasonable terms.
Unless they have the good fortune of finding a manager who is intelligent and sensitive, the workaholic developer will always end up exploited. Do the work that you can reasonably do in the time that you are given, maybe come up with an extra touch of your own, but stop trying to perform miracles.
If someone gives you a deadline that cannot be met, don’t be the person who just nods and says ‘yes sir’.
The Kurt Cobain
Knowing how to code and how to work with technology is a rare and precious skill to have… and this can have bad effects on some people’s egoes. The Kurt Cobain developer is the one who struts around the office with the air of someone about to jam a guitar solo in front of 10,000 people.
This person may very well be good at the technical part of what they do, but they tend to be terrible at everything else –being accountable and responsible, following directives, meeting deadlines, and everything related to teamwork in general. They also have a nasty habit of hiding any sub-optimal aspect of their code and not leaving the appropriate comments and guidelines.
Kurt Cobain developers can definitely be an asset to their teams, but what they (and you) should understand is that nothing these developers can do is something that can’t be done without the superstar attitude. You can be unfathomably brilliant and ahead of all of your teammates, and still behave like a professional and show respect for others around you.
There is some variety of this type of person in every field, not just in tech. This is the developer who always has something to say and it’s never something nice. The specifications aren’t clear, the programming language is not the right one, management is unfair, my teammates don’t understand me, why does he get to sit close to the coffee machine and I don’t, and so on.
If something bad happens, it’s never this person’s fault – and their top priority will be to let you know. Instead of, you know, fixing the problem.
In some ways, this is the opposite of the workaholic developer, the one who never complains no matter how unreasonable the situation becomes. Ideally, you want to strike a balance. Let management know when something simply can’t be done, but try also to bring a positive, can-do attitude to the office.
Someone who spends all their time complaining comes across as self-centred, incompetent, and just generally unpleasant to be around.
The Out of Place
A typical victim of imposter syndrome, this person will have an excellent grasp of the programming languages and technologies involved in their project, and will be skilled and creative enough to work on its most complex parts. Yet somehow, they always get relegated to the most menial and basic tasks while somebody else takes on the heavy duty work.
The problem here is one of confidence: if you are overqualified for the work you are doing, you must recognise that, and seek a higher role either at the company you’re at or somewhere else – with a correspondingly higher salary.
Sometimes a developer will be happy with a job they are clearly too good for, perhaps because they want to put their energy in something else, like their family or a side project. But it’s not uncommon for people in this field to be their own worst enemy, and to hamper their own careers simply because they don’t understand how good they are. That’s definitely not the sort of developer you want to be.
It may not have escaped you, while reading this article, that all of the negative traits we described here are primarily psychological, rather than related to any particular skill (or lack thereof).
This is because defects related to skills tend to be the easiest to correct. People who have a realistic understanding of what their abilities are and how to improve them can usually go ahead and do just that.
On the other hand, a defect of personality is much harder to correct, and can really become entrenched in a person if it is not challenged early. Our advice is to be your own challenge. If you are developing into someone who is too submissive, too arrogant, too negative or too inimical to themselves, then act now. You are always still in time to become the developer you want to be.