The IT industry is so diversified that you cannot just use 5 or 10 labels to describe all of the developers and programmers. But at the same time you can describe the different types of typical programmers, among which you can probably recognize your colleagues or even yourself. David Albe, Swedish entrepreneur and developer, has described 8 types of programmers he has had to deal with over the last 10 years working in project management and web development.
1. “Super Agent”
He will understand your problem and fix it fast. He doesn’t really care about the quality of the code and won’t fix someone else’s code indentation. He would even use duct tape if looked like it would work.
From time to time he can actually write good code and he is happy when others are refactoring his code for him – just if it works as good as it did before.
If this person ever leaves, then it would be hard to fix anything in the app. This person always shows results faster than anyone expects, and makes customers and managers happy.
2. Mister “90%”
The one who almost fixes the problem but always misses the one thing that makes the whole app useless. He cares more about how the code looks rather than how it works.
In the beginning, his progress looks great, since he is completing lots of tasks that are on the to-do-list, but you will be disappointed to find out that each item has to be opened and reworked again.
He just doesn’t have great communication with the testers, but he is good at meeting deadlines. Combine this person with a Super Agent and you will have a good team.
3. “ The Fan to Rewrite Code”
This person won’t leave a piece of code untouched if he sees something that can be refactored. He may spend more time on the refactoring of a non-relevant part of the codebase than he spends on resolving a real problem. His code shows the best testing results, but its rewrite is always in progress.
If you give him a project in PHP or MySQL, he will start rewriting it with Go with a NoSQL-database. Later he will ask what the problem is and what is needed to be fixed.
4. “The Perfectionist”
He is similar to the previous one, but this person needs his own code to be perfect. He can spend days on a task that could be completed by “Super Agent” in minutes, but the resulting code will be excellent.
He really gets annoyed when he is looking at code written by others. You never want this person to review your code. He will never tell you how much time the task will take because true perfection has no time limit.
5. “The Copy-Paste Programmer”
He got his programming job a long time ago, but does not really know what he is doing. He is really thankful every day for backups and code versioning systems, because when he tries to do something it’s likely that something will break.
Likes to fix issues in working environments, as his local development copy never works. He spends a half of his working hours on Stack Overflow.
6. “The Experimenter”
He is always trying new programming languages, frameworks, editors, building tools, and keyboards. He is really keen on trying something new. He can spend one week on the setup of a new application that will improve something else the next day.
No one knows how good his code is, because he never develops anything because he is always experimenting with new stuff.
7. “The Spaghetti Coder”
This person is constantly changing something to meet his deadlines. He is probably one of the most productive workers in the office, as he always uses new features, but leaves lots of undocumented, untested code that even he won’t be able to understand in a month.
In the long term, he may create more problems than he solves, but that’s fine for him when meeting deadlines. He can upload all your secret API-keys in the open source project on GitHub, because that is the quickest and simplest solution for checking it.
8. “The Pseudo-coder”
A manager who thinks that people will understand things better if he will write a pseudo-code:
price of beer is less than 10
do order drink
In reality it looks like he is taking with a child: “Oh, how cute you are. Can you give mom the ball? Good job, good programmer”.
Well, do you recognize yourself in any of these types?