Programmer Architypes

By: Johnathon Wright on: November 30, 2020

In early 2004, Nikhil Kothari wrote about three personas Microsoft came up with while working on Visual Studio 2005. Mort, Elvis and Einstein. I have my own list.

As a tech lead, I talk to my team about programmer architypes. We all have many traits within is... and these can be good when used at the right time, but bad when used at the wrong time. At any rate, they are characteristics of programmers that are worthy of naming so that we can think about them.

Super Man: Superman flies in to a Big Disaster. He battles the enemy at all cost. He destroys everything in the vicinity. He doesn't write or run any tests. Instead, once the enemy (a huge bug or problem code), s/he flies away leaving broken streets, fire hydrants spraying water, cars destroyed, and walls lasered. I guess the insurance companies clean up after him?

Yoda: Yoda is a powerful and wise user of the force. However, he is hesitant to act. He is often mysterious, causing others to wonder whether he will actually do what needs to be done. He speaks in riddles. He's still a fun and interesting person -- but his hesitation paves the way for Emporer Palpatine to take control. In summary, you can be too cautious. Trust

Pigpen: Best Practices, Hogwash! Interfaces are for sissies! Symptoms: Classes with no state; Classes with 104 methods; Many copy/paste methods

Inspector Gadget: Big new project?! He’s got some untested tools that would be perfect! Does not care about risk. Loves new technology. Knows all the newest jargon. Doesn’t so much care whether technology is “vetted” or “a good fit.” Finds solutions without problems.

Batman: Motivated by culture, guilt (or other), suffers silently. Will sacrifice anything for the team: Work long hours, Will strive for any impossible / arbitrary deadline; enables / hides poor management; poor work/life balance;

Road Runner: Accomplishes a LOT of coding -- so much so that s/he is the biggest contributor on any project. Maybe not the absolute cleanest code, but will knock things out and get to the next task. Becomes very popular with management, not very popular with those left behind to clean it up. This developer then struggles to move on because they're always called back to work on or explain sections of their own code. Likely to get burnt out. Developers who move too quickly are actually a larger risk to long-term success than developers who move too slowly. A video about being a 10-x developer focused on output vs outcome (and a roadrunner is obviously focused on output.)

See my presentation on common development project issues.

In early 2004, Nikhil Kothari wrote about three personas Microsoft came up with while working on Visual Studio 2005. Mort, Elvis and Einstein. I have my own list.

As a tech lead, I talk to my team about programmer architypes. We all have many traits within is... and these can be good when used at the right time, but bad when used at the wrong time. At any rate, they are characteristics of programmers that are worthy of naming so that we can think about them.

Super Man: Superman flies in to a Big Disaster. He battles the enemy at all cost. He destroys everything in the vicinity. He doesn't write or run any tests. Instead, once the enemy (a huge bug or problem code), s/he flies away leaving broken streets, fire hydrants spraying water, cars destroyed, and walls lasered. I guess the insurance companies clean up after him?

Yoda: Yoda is a powerful and wise user of the force. However, he is hesitant to act. He is often mysterious, causing others to wonder whether he will actually do what needs to be done. He speaks in riddles. He's still a fun and interesting person -- but his hesitation paves the way for Emporer Palpatine to take control. In summary, you can be too cautious. Trust

Pigpen: Best Practices, Hogwash! Interfaces are for sissies! Symptoms: Classes with no state; Classes with 104 methods; Many copy/paste methods

Inspector Gadget: Big new project?! He’s got some untested tools that would be perfect! Does not care about risk. Loves new technology. Knows all the newest jargon. Doesn’t so much care whether technology is “vetted” or “a good fit.” Finds solutions without problems.

Batman: Motivated by culture, guilt (or other), suffers silently. Will sacrifice anything for the team: Work long hours, Will strive for any impossible / arbitrary deadline; enables / hides poor management; poor work/life balance;

Road Runner: Accomplishes a LOT of coding -- so much so that s/he is the biggest contributor on any project. Maybe not the absolute cleanest code, but will knock things out and get to the next task. Becomes very popular with management, not very popular with those left behind to clean it up. This developer then struggles to move on because they're always called back to work on or explain sections of their own code. Likely to get burnt out. Developers who move too quickly are actually a larger risk to long-term success than developers who move too slowly. A video about being a 10-x developer focused on output vs outcome (and a roadrunner is obviously focused on output.)

See my presentation on common development project issues.





Comments:

Just checking that you are human. What would be the result of this code?

a = 3*(4/2); b = 1; a+b

popkicks said: Would you like to take a pair of them home? Come and pick one on the Snkrspop at a reasonable price with the best quality materials and exquisite craft. Buy the best for the least all on the Snkrspop website! Cop Fake Nike SB Dunk Low "Noise Aqua"

jACK said: Research moving companies: Look for moving companies in your area and gather information about their services, reputation, and pricing. You can use online directories, search engines, or ask for recommendations from friends, family, or real estate agents. How Long Should It Take to Ship My Car?

Tom mike said: "Programmer Archetypes" refers to different personas or styles of programmers that encapsulate their approaches to coding, problem-solving, and working within a team. Each archetype may embody specific characteristics, skills, preferences, and working methods. https://blyme.co.uk/

will james said: To harness the positive aspects of technology while mitigating the negative impacts, it's crucial to: Set Boundaries: Establish clear boundaries for technology use, especially during social interactions and family time. Online casinos by Cointelegraph
Back