Complete Developer Podcast

Complete Developer Podcast


Types of Programmers: Knowledge Base

July 09, 2020

An archetype is a recurring symbol or motif in literature, art, or mythology. It is a very typical example of a certain person or thing. It can be called a universal symbol. Personality archetypes are based on Carl Jung’s work in psychological archetypes.
Within the development community we have a lot of unique and interesting personalities. Combining similar traits we can derive certain recurring personality types that make up the unique people in the field. These types are the basic archetypes of developers.
To the outside world these archetypes might seem quirky and strange. Some personality types are strange even within the development community. While researching the different archetypes of developers we broke them down into three groupings: Coding Styles, Knowledge Expression, and General Personality.
This is the third and final episode talking about the types of programmers you’ll meet in your career. It focuses on the various expressions of knowledge you’ll encounter. If you haven’t done so, go back and listen to our episodes on coding and interpersonal styles.
Throughout this series on personalities in software development you’ll notice a certain term is missing. The term “rockstar” has been used a lot in programming to define many different types of personality usually related to a very talented and possibly arrogant developer. Sometimes it’s used in a positive light and others not so good. To avoid muddling the term even more it was not one of the personalities in this series as several of them could fit into the “rockstar” category.
While you may find yourself or your coworkers leaning toward one or the other of these types, understand that they are archetypes or extreme versions of a personality type. We made them even more extreme in our discussion to help understand the type. Other than the Average Joe, you’ll not likely run into anyone who is completely one type. Use these to help understand the motivations behind yourself and your coworkers.

Episode Breakdown

The Dreamer
The dreamer believes they are a programmer because they desire to be one and have done surface level work on learning to code. The ‘Hello World’ Expert who has learned a plethora of languages but only surface deep. If not careful a dreamer will never focus and sharpen their skills remaining a dreamer instead of making the dream a reality. They tend to overestimate their skill level and get very frustrated or quit when faced with a difficult or challenging problem to solve. If somehow you get one on your team relegate them to the more simple, mundane operations but build it up as if they are doing important work.

The Vainglorious Newbie
Students who did well in school sometimes come into the work force with an inflated sense of self worth and overestimate their knowledge and usefulness. They are proof that a degree in computer science doesn’t mean you know anything about software development or creating production quality code. They tend to not understand or care about password security and have no idea about design patterns or how to write clean, reusable code. Pairing these types with a highly intelligent and experienced mentor can help them to overcome their own inflated ego and help them to learn better coding practices.

The Young Genius
This, typically autodidactic, young coder is the most excited to try the next new thing in tech and programming. Always following the trends, this person knows way more about programming than they should and spends the majority of their free time coding. Most of the time this newbie has found a passion in coding, but has not yet found their niche so they are trying out all the new and exciting things coming along. They spend so much time in code that they can almost look at it and process ...