Posted by Fernando Zamora on Jul 9th 2012
I was listening to a podcast yesterday on Coder Radio and I heard an interesting term for the first time. That term is “dark matter”. I know what you’re thinking, dark matter is well known in science and we’ve all heard that term before. What caught my attention is that I had never heard it used in that particular context before. The idea of dark matter as it was referred in that podcast, was used to describe the 99% of programmers who just see their programmer jobs as, well, a job. That’s those programmers that work with tools that are considered legacy like VB6, COBOL, etc. Those programmers don’t read blogs, don’t listen to pod casts (on programming topics), and are not interested much in programming topics outside of work. The concept of dark matter is used because, just like in space, even though we don’t see them there is quite a bit of evidence suggesting that they are there.
I did a quick Google search and was surprised to find out that the term dark matter in this context is more common than I thought. Some describe dark matter developers as those that don’t read blogs, don’t have a blog, don’t attend user groups, and are not present at large conferences. Others, like Scott Hanselman, describe them as those that simply work to get the stuff done.
I agree that as a developer your main objective is to get stuff done. You have to provide a working solution or keep a solution working. What I don’t agree with, is the concept that as a professional programmer you should not do any research or learning related to software development outside of work. It is extremely important to keep up to date with techniques and concepts. Even when you don’t use these new concepts and techniques, it is beneficial that you know they exist. Additionally, you may need to learn old and well-established concepts to get your work done. It may be old in the industry but new to you. Also, you should not do all of your learning on your employers dime. I believe many developers already do much of this outside of work, even though they may not do many of the things associated with the one-percenters. That’s why I think that the spectrum of 1% and 99% is less polarized than we believe.
I think there are many developers that find other ways to keep up with technology besides user groups, conferences and blogs. To simply say that dark matter developers can be identified because they don’t do all of these ten things or these seven out of ten things is an incorrect conclusion. I do think that we have a lot of those developers in my opinion, but the number is no where near that 99%. Yet at the same time we couldn’t expect everyone to be a one-percenter. Let me rephrase that, we could not expect everyone to do those things that the current one-percenters do.
However, I think that there is a middle ground. This middle ground means that while one may work with established or possibly legacy systems, one can do enough side research to have an understanding of the current trends. This middle ground also means that one can add new concepts and techniques to their existing projects, but in a controlled and organized manner. This middle ground means that while one might not attend any user groups, one might discuss new concepts with their colleagues. This middle ground means that one may not attend the large conferences but one may spend a few hundred dollars on programming books and magazine subscriptions a year. This middle ground means that while one does not have a blog and doesn’t comment on blogs, they read them from time to time. What I am really saying is that dark matter developers are really listening in on the activity far more than we think.
I think that part of this dark matter has a large subset of people in this middle ground. I also believe that if you are not in at least this middle ground, you should be. Otherwise you will one day no longer be able to live up to your utmost productive level or even worse, remain competitive in the market.
I’d be interested in hearing what your thoughts are on this topic and would like to know if you see yourself as a dark matter programmer. If you don’t consider yourself a dark matter programmer, what do you do to keep from becoming one.