Which Class Of Developer Are You?

Neil Green on August 06, 2019

After reading on LinkedIn and Twitter that people identified with more than one of the Heroic Software Developer classes, I created a quiz to make ... [Read Full]
markdown guide

I tried to complete the quiz, but I was confused and alienated by the wording of many of the assertions, so I gave up.

Here are some of my thoughts on specific assertions, I hope you'll find some of my comments useful to improve the quiz.

You deliver features that are free of bugs

I daresay most developers have delivered at least one feature free of bugs and almost none have never created a bug, so I'm not sure how to interpret this assertion.

You never create new bugs with your bug fixes

Never is such an absolute word, I don't think anybody can reasonably mark this one.

You volunteer to do non-coding tasks to allow other developers to code

Well, I perform several non-coding tasks in my team. But I do them because I think it's fun, not so that everybody else gets to code, so I guess this is a no?

You write features with extremely high levels of code quality

I like to think I do, but then again I know developers that consider their code very high quality but have never written a single integration test, so...

You fix bugs completely for all use-cases

Then again, such absolute wording that I don't think it applies to anybody. It would be easier for me to check this one if it was worded like when fixing a bug, you try to consider how it will affect all possible use-cases.

You deliver features to stakeholders in a time-frame that radically exceeds expectations

Ah but this is so context sensitive! If your stakeholders are unreasonable, this will never be true. If your team is conservative with their estimations, it's easy to surpass stakeholdlers' expectations. And anyway, after a while working with the same stakeholders, it gets harder to surprise them.

You remain fully engaged with no signs of fatigue during long meetings

I remain engaged in long meetings if they are properly facilitated, make sense, and don't overlap with my usual lunch time. If the meeting is poorly facilitated and/or lacks a defined purpose I don't. If this was a scale 1-5 I'd rate myself at 4 because I observe that I tend to remain more engaged in meetings that other developers around me, but I definitely dislike long meetings and it's hard to keep me engaged in a meeting that sucks. In a binary yes/no scale, I have no idea how I am supposed to answer.

You produce excellent code of the highest quality

How is this one different from you write features with extremely high levels of code quality?

You rally others to your cause to form organic cross-functional teams

I understand the words, but not the meaning.

You routinely ask dozens or even hundreds of questions in rapid succession to understand hidden details of a feature

More like I ask one question at a time, with follow up questions if I need clarification, and take time to digest the information before asking further questions. I do like to ask questions and I ask whenever there are things that I don't understand, but my style couldn't be farther from asking even hundreds of questions in rapid succession so I guess even if I'm the gather information type, it won't show in the results because I won't mark this one.

You will focus on fixing bugs that are of the highest severity and priority

Highest severity and priority according to whom? Me, my PO and the rest of the team sometimes disagree on that, so sometimes I get to fix the bugs I think have the highest severity first and sometimes I get to fix the bugs that somebody else thinks have the highest severity.

You attend meetings so that other software developers do not have to

I attend meetings because either the entire team is supposed to attend them or because someone in the team is supposed to attend them and I think they are valuable and interesting. I definitely don't do it so that other's don't have to.

Looking at this and other assertions with similar wording (e.g., you volunteer to do non-coding tasks to allow other developers to code), I think you're portraying one of the roles as I sacrifice myself so that others get to code, but people that naturally do those things because they enjoy them may be a bit alienated by your wording.


Yes, I confess to feeling the same. As others have said, far too many absolutes in the questions.

I also feel a lot of the answers are ego-driven. So you always write excellent code and never introduce bugs? Houston, the ego has landed. :eye-roll:


I also feel a lot of the answers are ego-driven.

I also felt kinda same.

The questions might be good for finding out devs with over-confidence.
Not good for finding out truly confident devs.

In most of the personality tests, the words "never", "will" or "always" are used as an indicator for spotting lairs. If someone marked a statement like "I never make mistakes" as true, he is just lying as everybody makes mistakes.

I would just take this test as an entertainment and not a really effective personality tests.

As these observations have been made by several people, I made a single comment to fully explain my rationale.

OK, your comment is so long but I at least could catch that your tool is not a for-funny-purpose, but serious one.

Just like the strengthsfinder (you probably know that).

Even a trained and experienced psychiatrist deffer their opinion on judging patient's mental condition. Unlike the simple wounds, human minds are so complicated but but on making decision, doctors need to be based on only one source, interview with patients.

If you are thinking that your tool is a serious one and wants to be considered as serious. There's a lots of room or improvement.

Is this tool effective, then why? Do you have enough knowledge for people behavior? Did you take any psychology degree or organizational behaviors?

Did you do any fundamental researches like interviewing people and statistically analyzed such data ?

Do you tracking people? People diagnosed as type XYZ is really shows type XYZ behavior in workplace?

Do you think it is enough for diagnosing people just from his statements? Do you think you need to include other's opinions just as 360 Degree Feedback does (Many claims that 360 is sucks)?

You don't have to answer these questions and I don't expect those to be answered. But you should at least know that your product needs lots of improvements.

I don’t think you understood what I wrote.


This was really interesting & fun to take. I can definitely see how my answers are impacted by being a small team (aka needing to do more roles/be more available by design). Looks like I'm a Shapeshifting Sage Tank. πŸ’πŸ’πŸ¦Ž


Nice! I really like your categorization as a way to humble others, however I find them hard to answer for myself. You often use absolute phrases (perfect, always, never, ...) that I hardly ever agree not disagree with. I think a 0-5 points system would produce more fitting results.

I got 100% wizard and I wish it was true :) I'm humbled by 75% assassin though.


Yea the absolute phrases are a bit of a challenge to navigate... "You never create new bugs with your bug fixes", I mean... maybe most of the time, but "never say 'never'"? haha


With this question, there are two types of developers:
1- Developers who sometimes create bugs with bug fixes.
2- Developers who lie.



I'm surprised I score as high as I did for hunter and rogue. But I definitely agree with Shapeshifter, assassin, and tank.

This was fun. :D

On your questions:

  1. I feel that it's 75% accurate. As others have said, I don't really agree with the absolutes. I try not to do things, but sometimes I do things.

  2. yes. That way you can play on people's strength's and work on their weaknesses.


There is problably some bias from me filling out this my self.


I focus on being a lead and tutoring juniors and intermediates at the moment, so being a tanky healer, seems like a good match. :)


Full Assassin + Full Wizard + Full Healer is a potent combo: it can cut through a lot of work in a short amount of time, without racking up a bunch of tech debt.


This is super fun! I don't really know how to describe myself! Seems like I'm a Sage Wizard Telepath Hunter XD


While I think I don't fit 100% in all the ones I scored really high, I think it might show what I truly want in the future for myself as a developer, and I do think it's pretty cool as a way to know developers and how to work with them, tomorrow I'll ask my coworkers to take it and see how they score.

I appreciate the time you took into making the quiz! Thanks :3


I should definitely ask my co-worlers to fill that one up for me...

so far I've got this

quite too many 100 to get a good read...

my excuse is that having been a freelancer for a long time in the past, I had to pick up different traits that I can use at different time, but maybe I'm dreaming: I've a known tendency for over-self-estime and deprecation at the same time.


Here are my results.

Top one being the Sage, the next level was an equal split between Assassin, Ranger, and Healer.

I have a love of teaching, so the Sage being on top makes sense. And having 3 others on equal footing next, also makes sense to me. I tend to be a curious DIY'er/jack of all trades.


Thanks for the amusement Neil!


I was interested to see where I got zero. To answer your questions:

  1. Surprisingly accurate, probably better if a colleague answered them :)
  2. It's a fun way to find out about others, and semi-seriously assess team gaps.

What fun!!


I guess I'm not surprised: communication and refactoring are major components of my career.

And 80% Rogue? You betcha. I'm infamous for it.


My top results: 100% Shapeshifter, 75% Ranger.

What I love:

  • These types give us the vocabulary to talk about engineers who bring different skills to the table. Too often we talk about engineering as though there is an "ideal" engineer, someone who does everything perfectly and whom we should all strive to be. This is made worse by antisocial stereotypes, hero culture, and impostor syndrome--all pervasive issues in tech. I like that you're presenting a way for engineers to talk about each other in a constructive way that appreciates everyone's differences.
  • Clearly a lot of thought and effort has gone into this. High quality work, especially for a philosophical side project.
  • My results pointed to a couple areas where perhaps I should invest some effort (I came out 0% Hunter and 0% Ghost). It's always good to be aware of ways to improve.

What I think could be better:

  • A result set where 10 of the 12 types came out between 40-80% can be confusing. How do I understand what that means? I'm "kinda good" at most things?
  • If you check every single box, you get 100% on everything. I realize this is a very simple test, but if someone comes in with a minimal amount of self-awareness, they're gonna come out with even less.
  • A checklist-style test doesn't reward critical thinking. In my opinion an oppositional structure would improve the quality of the results and help test-takers differentiate themselves better. I.e. instead of a flat checklist, a series of multiple-choice questions where the prompt says "Choose the answer that describes you best". If every answer appears in a couple of different questions, that gives ample opportunity to really nail down what people are "best at" or "worst at".

Anyway, this is a very cool project, and as a D&D enthusiast I especially enjoyed the fantasy aspect. I'm gonna be thinking about these types for a long time, and hopefully using them to help other devs see their unique talents for what they are.


The orientation of questions might give really biased results IMHO, they should probably be more oriented towards verifiable facts


Here's mine, apparently I'm a mechanic, hunting healer.

Seems like a good match.


I really enjoyed the quiz and here are my results: heroes.neilon.software/quiz/result...

I am mostly the Hunter, the Wizard, and the Shapeshifter. And the results are pretty accurate.


This is such an incredibly creative and fascinating way to classify developer specific traits.

Like horoscopes for developers (except they’re accurate and self chosen)

PS. Love the projects in your bio!


It was fun, I had previously worked with academics who were tasked with engineering psychometric test for the purpose of helping people evaluate candidates for hire. The administration of this quiz would not meet their standards but In my honest opinion, this feels as accurate as their methodology.


The more I've thought about these classes, the more I like them! I took the quiz last night, despite not actually being a software developer (yet) - I just answered what I could with what I currently do for work, mixed with what I've enjoyed from the learning I've done.

It ranked me as 66% Mechanic, which - I couldn't relate to the description, but can ABSOLUTELY relate to the key word of chaos orchestration. That's exactly what I do at work! lol

But the more I've thought about it today, the more I've realized that I do, in fact, enjoy building little sites or spreadsheets that help make other jobs easier. So I'm more mechanic than I thought. :)

(Also 50% Assassin and 40% Telepath, because I'm often told that I've finished tasks faster than expected, and years and years of customer service have helped me get the information I need from folks. So, not bad!)

My full results

No healer or sage, because I know I don't know best yet, and don't trust myself to know enough to refactor things for other people. Though I refactor my own side projects plenty! lol


First let me say how appreciative I am that people have tried my quiz, and I am truly astonished by how much people like it. It's very hard creating engaging original content, as the process is immensely stressful as you're working for weeks on something that you have no clue if people will like. However, it's what I enjoy doing, so I put myself through that emotional meat-grinder in the hopes that one day I'll get responses like I'm getting today. All I can say is: thank you. Your feedback - no matter what it is - means the world to me, as it means that people care about what I put so much effort into producing.

That said, I wanted to address a common concern, which amounts to the absolute and hyperbolic nature of the wording of the quiz. As a case in point, consider this oft-cited example:

| You never create new bugs with your bug fixes

This statement is - as are all of the quiz statements - nothing more than a rephrasing of one of the items from the "Identification Checklist" for "The Hunter":

| Will not create new bugs with their bug fix.

An argument could be made that "You do not" would be more symmetrical than "never", but I suspect the core issue would still exist with "you do not."

The question then is: why is there such a seemingly unrealistic high-bar to get this one of the five checklist items to identify as the Hunter? The answer lies in the trouble a real-world Hunter can get into if this is not true. They are effectively ignoring the entire QA process, and a QA team will come for then with pitchforks and torches if they are not absolutely perfect. As a result, "The Hunter" sets one of the highest bars of any of the 12 archetypes, as there can be serious consequences for them personally should they ignore a QA process and introduce a new bug in an attempt to fix a bug no one asked them to fix. I have seen the play out several times, and it is a painful thing to behold: someone who only wants to do the right thing made a mistake, and the entire weight of an entire department comes down on them.

If you were to examine my three major pieces of work on Neil on Software, they all share a common characteristic of having an intriguing premise that many would find entertaining (if one appreciates droll wit), which then leads into content with a fair amount of depth that - if carefully considered - can change a development organization for the better. This has lead people to describe my content as funny-not-funny. I remember a commenter expressing this effect on BoingBoing as (paraphrased) "This content subversively improves a company's culture for the better," when referring to "How to Deal with Difficult People on Software Projects." This truly is my goal: to sneak into an organization's culture and improve it by lowering the barrier to having important and often very difficult conversations. For example, one of my hopes is that I have managed to reframe the "10x" conversation into one that is more productive and respectful by introducing a vocabulary that didn't exist before.

I know that this will not be an entirely satisfactory explanation for everyone, but part of the burden of creating original content is that you must stand behind your work if you believe in it. For example, I provided the most emphatic defense of my work for certain controversial profiles on "Difficult People," where I was compelled to leave audio responses to my critics. I believe responding to critics is a part of the process, and provided it is well-intentioned and respectful (as 100% of the comments are on dev.to, which is a major part of its appeal...a breath of fresh air in comparison to Reddit) I do my best to respond in kind. Intelligent disagreement is something I actively seek out in my life, as I find I learn nothing and cease to grow if I allow myself to live in an echo chamber of my own creation.

Once again, thank you, everyone. It means the world to me that you would even take a moment out and say, "Neil, I disagree with you on your approach in these instances," as it helps improve future content. As a case in point, my critics of "Difficult People" are directly responsible for the positive tone of "Heroes." In creating the quiz, I am learning the pitfalls of using hyperbole, and will make sure future works will be devoid of such if possible.


The Wizard πŸ§™β€β™‚οΈ and The Mechanic πŸ‘¨β€πŸ”§
Was hard to answer them all though.



I believe I am way too young in the field (2-3 years at most of experience) and biased to have accurated results, with many questions that disturbed me (the ones with "never" and "always", and having never been in a team of more than 2, the ones on team and relationship) but oh well, mainly Ranger and Rogue, yes it seems fitting



I had debated on taking this, based on my lack of experience as a developer, and many of the questions don't apply to me in my current role. It appears that I'm mainly a wizard.


class %
assassin 25
telepath 60
tank 0
hunter 40
wizard 100
ranger 75
healer 100
mechanic 100
ghost 50
shapeshifter 66
sage 100
rogue 60

From what I've looked, these are pretty accurate. I'm still learning how to write code while I'm on meetings, and I'm only starting to really participate in these in a meaningful matter.

I still miss the days when my project had no PM.


Neat app Neil! Introspective questions with a fun summary at the end. The only suggestion is less absolute wording less 'always' and 'never' more 'most the time' 'very infrequently'.

Looking forward to the next iteration.



I quite liked it,very fun . The results also kind of represent me in the jack of all trades aspect. I answered absolutes with absolute accuracy meaning never in the question was taken as absolute.


i really don't know what this means. i had difficulty answering some questions so i left them blank. i can't rate myself. so maybe this is like myers-briggs in that it's what i believe about myself rather than an accurate portrayal. feed the personal legend / myth.



This was very fun. Shapeshifting Assassin Wizard, I’m very happy with this assessment. heroes.neilon.software/quiz/result...


Perfect timing! I was actually starting to draft a similar version of this but with a smaller subset of archetypes when I came across this post.

This could be useful as a way to get discussion going on how team members see themselves compared to how others view them, too.



It was interesting to do! :)

Most of the questions I found that were more in an individualist over team mindset. Maybe it was just a feeling.

Thanks for sharing!


I wasn't 100% in any category, fairly spread out. The highest 80% tank with 66% safe and shapeshift.


100% assassin and wizard, which makes a lot of sense, especially as both have communication as there weak spot.


Can anyone truly say they've "Never created a new bug with their bug fixes"? Rarely, sure, but never?

Also, I'm a Shapeshifting Wizard! πŸ¦ŽπŸ§™


This was fun. I am a Rogue Shape shifting Ranger. I wonder how this would change if I took the quiz once a week for 2 months. I think I might answer differently depending on the day.


I agree with the absolutes. I don't always write bug free code, but I always try hard to write bug free code.
The survey feels accurate, and gave me something to think about.

code of conduct - report abuse