Most people remember Scott Hanselman's post coining the term 'Dark Matter Developer' way back in 2012. Suddenly I feel very old, but the term has stuck - primarily because of just how much it resonated with people who remembered what it was like to be in that situation, detached from the community existing in their own corporate bubble.
Personally I don't think things are quite as black and white as this. There's no such thing as 'the community', rather there are many communities. What we might think of as mainstream is not mainstream at all, it's just one of a number of developer groups, some larger and some smaller. One can be a member of some communities and detached from many others, it depends on your frame of reference. For the sake of this article I'll stick to the definition of the community that my peers would think of, the so called 1%, the people who speak at and attend conferences, who write and read blogs like this one.
When it comes to classifying developers in terms of their exposure to the community, it's not binary but rather it's a sliding scale - with dark matter developers at one end. But if it's a scale then it must have two sides, and in this post what I'm interested in is - what or who fits in at the far opposite end of the spectrum?
If dark matter developers are the ones who are furthest from the community, then their polar opposites are those who are themselves furthest removed from the dark matter developers. These are the people at the very forefront of the wave, investigating new techniques, measuring their success and writing about it. Perhaps they are visible members of the community, recognisable and memorable for the opinions they hold and the information they present.
Like this post, some of the subject matter that we produce is aimed at our peers. Other content is thought provoking and benefits all who read it. But often the people we'd really like to reach are the dark matter developers themselves; surely this is the group that has the most to gain from our content. While this is a noble aim there's just one problem - these individuals are detached from the community so perhaps they are unlikely to even see the content in the first place.
The problem with the contrasting group is also one of detachment but in the opposite direction, often they're simply too far removed from their target audience. They talk about min/max perfecting parts of their process while the dark matter developers are just trying to tread water. They speak of iterating and improving constantly when their audience struggles to achieve even a basic victory. They have the benefit of starting from a good place that many ordinary developers simply don't have.
Instead of micro-optimising, most developers should be focusing on the changes that are going to bring the most value. Unfortunately, that's not what the polar explorers write about. So the dark matter developers to whom this material does get through to pick up on these topics and focus their energy on the wrong things. The reason for this is that our polar explorers have forgotten what it was like to be a dark matter developer in the first place. They find it really hard to relate to and empathise with them, and this is the curse of the other end of the spectrum.
An attitude, not a way of life
Luckily this curse is much easier to overcome than that of the dark matter developer. The main hurdle is simply recognising that the problem exists. It's important that we find a way to keep in touch with our audience if we can, by interacting with them, talking with them. This can be tricky if we accept the traditional definition of a dark matter developer as someone completely shut off from the community, but if we embrace the fact that this is a sliding scale then perhaps we can reach a few people, who in turn can reach a few more people and so on.
As consultants we shouldn't spend too long on nice easy projects where we are focused purely on delivery. Variety is the spice of life and we need this in order to keep our skills sharp and honed. Too long away from the realities of developer life and we begin to lack the ability to relate that we need in order to facilitate a transformation. As writers and speakers we should take the time to talk to and engage with as many members of our audience as possible to ensure our content remains relevant.
Just like swinging too far to the political right or left, lying at the extremes of the developer spectrum can be damaging regardless of our intentions or abilities. The most important thing to remember is that no one developer is the same, and can't always be constrained by a single definition. Everyone is an individual, and advice presented to one will be taken very differently from that presented to another so we need to be acutely aware of our target audiences (plural) when producing content.
A change in attitude and approach is all it takes to help make our communities as inclusive as possible. It's easy to forget how hard things were when we first started out, so we should at least try to maintain the benefit of hindsight. Try not to be the polar opposite of your audience, and never forget your roots.