Another list on “types of programmers”. Already at the beginning of the blog I commented on this, translating part of Jeff Atwood’s article on the two types of programmer. I also published a webcomic with the types of programmers, which includes a fairly extensive list. And if you look, there are many more lists on the internet on the subject, grouping the programmers into different groups …
This time it is a list that is a few months old, some may have already read it, but it came up again on Reddit recently. The author is Steven Benner and his post: The 5 types of programmer (CC license).
- Duct Tape
- Duck tape programmer
The code might not be cute, but damn, it works!
This guy is the foundation of your company. When something goes wrong, he’ll fix it quickly and in a way that won’t break again. Of course you don’t care how it looks, ease of use, or any of those other trivial concerns, but you will get through it, without a lot of chara or nonsense to waste your time. The best way to use this person is to target a problem and walk away.
I think we all assumed the role of the “duck tape” programmer at some point. When we upload something to production, and we remember something at the last minute, or a user reports a bug, we generally go into “duck tape” mode, and the important thing is to go and solve the problem. There will be time to improve it later (that “later” rarely comes …), but when time plays against, there is no other option than to simply fix what is broken.
Obsessive compulsive perfectionist programmer
What do you want to do what to my code?
He’s the guy who doesn’t care about deadlines or budgets, that’s negligible when compared to the art form that scheduling is. When you finally receive the finished product, you will have no choice but to submit to the breathtaking glory and radiant beauty of perfectly formatted code, no, perfectly beautiful, which is so efficient that anything you wanted to do to it would only defame a masterpiece. He is the only one qualified to work on your code.
I understand that there are programmers like that, but it sounds pedantic to me. Yes, it is fine to consider the code an art, and be in accordance with the code that one wrote following good practices and so on. But I think obsessive compulsive disorder can bring more problems than solutions. Anyway, in the labor market, deadlines and budgets, as much as we hate hearing about them, generally have weight in development.
I’m a programmer, damn it. I don’t write code.
Your world has a simple truth; writing code is bad. If you have to write something then you are doing it wrong. Someone else has already done the work so just use their code. It will tell you how much faster its development practice is, although it takes as much time or more than other programmers. But when you get the project it will be only 20 lines of current code and it will be very easy to read. It may not be very fast, efficient, or forward compatible, but it will be done with the least amount of effort required.
It is a profile that I would try to avoid. But not always, yes to the extreme as described in this case. But many times reinventing the wheel complicates us and delays development, and there may be a framework that makes the task easier. Anyway, there is the extreme of those who use a framework for EVERYTHING, and in the end the program is pure spaghetti code of configurations that try to integrate framework plus framework, and the final product ends up being a huge bloatware, without someone who can understand what it does. without having to study 30 frameworks before.
What do you want? It works, right?
The guy who couldn’t care less about quality, that’s someone else’s work. Accomplish the tasks that you are asked to do, fast. You may not like his job, other programmers hate him, but management and clients love him. No matter how much pain he may cause you in the future, he is the single one who keeps the deadlines so you can’t tease (no matter how much you want to).
I know some such programmer. Coincidentally, he has nuances of the “perfectionist” programmer, but not because of good practice, but because of the fact that he leaves things running, and that is perfect, soon. When you have to keep his code or fix something he did, you will remember his entire family … but there are several like that.
Well that is a possibility, but in practice this may be a better alternative.
This guy is more interested in opinions than what should be done. He will spend 80% of his time staring at his computer thinking about ways to accomplish a task, 15% of his time complaining about deadlines.