Myers-Briggs for Programming Styles

Series: tangential July 17, 2013

The Myers-Briggs Type Indicator assessment is a well-known test that is said to measure someone’s personality. You answer a series of questions and based on your results, you get a “type” — a four letter code like ESTJ or INFP.

The basic idea is that people fall somewhere along a range on four pairs of preferences (“dichotomies” is the fancy term). By answering a bunch of questions, the test determines which end best fits your personality.

Extraversion (E) --- (I) Introversion
     Sensing (S) --- (N) Intuition
    Thinking (T) --- (F) Feeling
     Judging (J) --- (P) Perception

I’m not really into the Myers-Briggs or anything, but some people are!

I’ve definitely heard things like “Oh, I won’t get along with Joe because he is an INTP and I’m ENFP”.

It got me thinking: could you do a similar test tailored to programming styles?

Everyone has their own personality when developing, their own nuances and conventions that they follow. And sometimes they aren’t compatible across teams.

If someone favors functionality programming and loves using it everywhere, that could create friction amongst a group of OO diehards. If I value testing more than you, we might argue about a perceived lack of test coverage, neither one of us willing to back down.

Obviously, I am not a psychologist but I would be interested in taking such a test.

The test questions could feature a bunch of code snippets and you pick which options you prefer. Maybe the Myers-Briggs for Programming Styles dichotomies would be something like:

  Convention/Magic (M) --- (V) Configuration/Verbosity
        Functional (F) --- (O) Object Oriented
       Readability (R) --- (P) Performance
Quality/Robustness (Q) --- (S) Speed/Productivity

I think some of these traits change depending on context and specific projects, but I can say that generally speaking I am a VORS on this made-up scale. Maybe this would be useful to know if you were going to work with me or we were always getting into technical arguments. If nothing else, it would be fun to measure!

What do you think? Has something like this been done before?

built with , Jekyll, and GitHub Pages — read the fine print