People who deal with code can be very peculiar. What do you think of when you hear the word “programmer”? Is it a strange but brilliant guy with no social skills? Of course, people like this exist, but you are also likely to meet other types of programmers as well. We had a crazy idea: take the twelve archetypes traditionally used in psychology as defined by Carl Gustav Jung and use them to define various types of programmers.
Here’s what we came up with. Which of these guys have you got on your team?
The 12 programmer types
Type of programmer #1: The Innocent
Many people believe they are programmers, but, in fact, they are just dreamers. It’s good to have a dream and believe in it, but if the dreamer doesn’t sharpen their skills, they will remain a dreamer. These people usually overestimate their skills and end up building castles in the air.
Type of programmer #2: The Regular Guy
A regular person is usually “good enough” – they have the right skills, perform well, but you know that they’re not doing their best. These programmers are not very involved and are often slow but steady. The Regular Guy can be one of the most difficult types of programmers to motivate, but with the right approach, he or she can make your company grow.
Type of programmer #3: The Hero
Problems with meeting a tight deadline? Coders failing at work? Is the project dying? Here is your hero to the rescue, your Superman or Superwoman. A hero is a person who helps you with the most difficult cases. These types of programmers are a godsend in the times of crisis. They are willing to work a lot, even under pressure and know 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 but when a critical situation occurs, he reveals his true skills and saves the day. There is also one more type of a hero or rather a wannabe hero worth-mentioning here – the Code Cowboy. The code cowboy is a person who wants to help but does so in an irregular way. He works quickly without much thinking. If it comes to a deadline, the cowboy will do everything to meet it even if it means cutting off non-essential parts of the project.
Type of programmer #4: The Jester
You only live once so why should I care? Jesters live their lives to the fullest and prove to be one of the most tricky types of programmers to manage. They change their job when they get bored and typically have a ton of experience but don’t want to grow up. Jesters are fun to work with but can be hard to deal if they like partying hard.
Type of programmer #5: The Caregiver
In the world of programming, the caregiver can quickly become the Martyr. It is a person who will sacrifice themselves for their work, a workaholic in the caregiver’s shoes, to put it mildly. 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 the fact that they’re trying to guilt-trip the rest of the team.
Type of programmer #6: The Ninja/Explorer
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. Based on our observations, they’re one of the most valuable types of programmers out there.
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.
Type of programmer #7: The Rebel
Although ninjas can sound like they are rebels, they don’t experiment. One of the most creative types of programmers is the Rebel, also referred to as the Experimenter. They are driven by the motto “Rules are made to be broken”. 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 can confuse the rest of the team and impede team productivity.
Type of programmer #8: The Lover
“You’re the only one, my beloved” – welcome to the world of the Hardcore Geeks and the Fanboys. They love what they do. The code is like their child. They want to write the best code in the world and they don’t like less-than-perfect solutions. This can be a problem because a lot of work is based on finding “good enough solutions” rather than the perfect ones due to limited resources.
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.”
Type of programmer #9: The Creator
Every programmer has to be a creator. Among creators, there is one particular type who can cause a lot of problems when they are gone. The MacGyver of programmers, this person can fix anything in no time but in a way only they can understand. To them, it really doesn’t matter what their work looks like as long as it is working.
Type of programmer #1o: The Sage
The experienced programmer may appear outdated but their knowledge and experience can be shared with others. The representatives of this archetype can seem slow but they know what they are doing and by working steadily 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 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.'”
Type of programmer #11: The Magician
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 or the technical aspects of their job but you can still trust them. They are making your vision a real thing.
Type of programmer #12: The Ruler
There are different types of Rulers. One of them is the VIP – the kind of person who thinks they are the most important person in the project. They often look down on other team members and argue about everything that is against their vision. A similar type is the Perfectionist – a person who won’t allow the project to go further unless the Perfectionist is content with the results. The next two types of rulers are the Evangelist and the Clever Ambassador. The Evangelist is a person who insists on using a 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 and supervise.
Types of programmers: conclusion
Do any of these developer archetypes sound familiar? Do any of the types dominate your workforce? The best idea is to welcome various types of programmers to your company, as non-homogenous teams are typically more productive. Remember that each of these types of programmers come with their advantages and disadvantages which makes them more likely to perform under certain conditions.