People who deal with code can be very peculiar. What do you think of when you hear the word `programmer`? A strange but genius guy with no social skills? I can assure you that there are such people, but you are likely to meet also other types.
We had a crazy idea to try to use 12 archetypes (normally used in psychology) that were defined by Carl Gustav Jung in order to define different types of programmers.
Here’s what we came up with. Which of these guys have you on your team?
Many people believe they are programmers, but, in fact, they are just dreamers. It`s good to have a dream and believe in it, still if the dreamer doesn’t sharpen his skills, he will remain a dreamer. These people usually overestimate their skills building castles in the air.
A regular person is usually `good enough` – he has proper skills, performs well, but you know that this person doesn’t do his best. These programmers are not very involved, often slow but steady.
Problems with meeting a tight deadline? Coders failing at their work? Is the project dying? Here is your hero, your Superman. A hero is a person who helps you with the most difficult cases. Such person is willing to work a lot, under pressure and knows how to fix what other people messed up. It`s like Clark Kent becoming a Superman – at first he seems to be a regular guy, though, when the situation occurs, he reveals his true skills and saves the day. There is one more type of a hero or rather a wannabe hero – the Code Cowboy. A code cowboy is a person who wants to help but is doing it in an irregular way. He is working quickly without much thinking. If it comes to a deadline, a cowboy will do everything to meet it even if it means shooting out non-lethal parts.
You only live once so why should I care? The Jesters live their lives to the fullest. They change their job when they get bored. They are people with a ton of experience, but they don`t want to grow up. The Jesters are fun to work with but can be hard to deal if they like partying hard.
In the world of programming, the caregiver can quickly become the Martyr. It is a person who will sacrifice himself to work. A workaholic in caregiver`s shoes. The martyrs take pride in sleeping in their workplace. They do everything to get the job done. They sometimes care so much that they don`t notice they try to lay a guilt-trip on the rest of the team.
Ninjas are people who do their work with precision and speed. They work alone, know what they have to do even before you tell them.
Justin James explains it in this way: “Like the legendary assassins, you do not know that The Ninja is even in the building or working, but you discover the evidence in the morning. You fire up the source control system and see that at 4 AM, The Ninja checked in code that addresses the problem you planned to spend all week working on, and you did not even know that The Ninja was aware of the project!”. They explore the solutions on their own so don`t force them to work as a team member.
Although ninjas can sound like they are rebels, they don`t do the experiments. The one whose the motto is `Rules are made to be broken` is the Rebel, the Experimenter. Experimenters are constantly looking for new solutions, new frameworks, better languages, better code. The problem is that often the only work they do is experimenting. Breaking the rules also can confuse the rest of the team and make the work harder to do.
`You’re the only one, my beloved code` – welcome to the world of the Hardcore Geeks and the Fanboys. They love what they do. The code is their child. The one they want to make the best in the world and the one they protect. It`s not a problem unless they are obsessed.
Aidan Huang writes that the hardcore geek is often “very much an introvert, he feels most comfortable in the world of code and programming jargon. The more code the hardcore geek writes, the more content he feels. As great as he is with code, he makes for a much better worker bee than a leader.”
Every programmer has to be a creator. Among creators, there is one particular type who can cause a lot of problems when he is gone. The MacGyver of programmers. The person who can fix anything in anytime, but in a way only this person can understand. He doesn’t care how his work looks like as long as it is working.
The experienced programmer who may appear outdated, but has knowledge and experience he can share with others. The Sages can seem slow but they know what they are doing and in a steady way they win the race with great results. There is one more type of the Sage – the Theoretician. They have great knowledge, know the best solutions, can spend hours on lecturing on programming, and they are more interested in options than what should be done.
Steven Benner describes such person as: “He will spend 80% of his time staring blankly at his computer thinking up ways to accomplish a task, 15% of his time complaining about unreasonable deadlines, 4% of his time refining the options, and 1% of his time writing code. When you receive the final work, it will always be accompanied by the phrase ‘if I had more time I could have done this the right way.'”
Coding is like magic – you write some symbols and boom there is a new thing. Some programmers are like magicians – you don`t need to know the details, the technical aspects of their job, you can trust them. They are making your vision a real thing.
There are different types of Rulers. One of them is the VIP – the kind of person who thinks he is the most important person in the project. Such person looks down on other team members and argues about everything that is against his vision. A similar type is the Perfectionist – a person who won`t allow the project to go further unless he is content with the results. Next two types of rulers are `the Evangelist` and `the Clever Ambassador`. The Evangelist is a person who insists on using some particular tool, language, solution and attempts to revolutionize the workplace. The Clever Ambassador is the face of the team. The Ambassador has excellent communication skills and knows how to sell the work of the team. He is also a great supervisor of the team.