Hacker News new | past | comments | ask | show | jobs | submit login
Dark Matter Developers != Bad Developers (mat-mcloughlin.net)
105 points by mat-mcloughlin on Nov 26, 2013 | hide | past | web | favorite | 65 comments



"Just because somebody has a blog or a twitter account it doesn’t make them a good developer or expert. It just means they shout louder."

Exactly. 99.9% of developers' blogs aren't worth reading. They're full of articles like "I just wrote my first Go program, and here's what you should know about it!" Please, if I wanted to learn about Go, why would I read something that was written by someone who just admitted he knows almost nothing about it? I'd rather go to golang.org and read the tutorials written by the developers of the language.


Many posts along the lines of "my first Go program" are just forays into blogging. Many will never get past that, but eventually an author will be able to solve difficult problems and then blog about those. For example, Joyent's blog post from a few months ago about building video analysis for Mario Kart was great. It summarized the steps and methodologies used to find the solution, and demonstrated how a reader could do the same. Additionally (since it was a company blog post), also worked in an advertisement for a service they provide. Search for "joyent kartlytics" to find the blog post I'm referencing.

Crappy blog posts are crappy, but some are stepping stones into better ones.


Cool, someone _does_ read my blog :)

I've been feeling like a bad developer because I never write. Then when I try to write, I think wonder why anyone would read what I'm writing (because it's about my first Go program) and I give up. Even when I come up with something relatively novel, I usually just get the info out via StackOverflow.

The point: those useless dev blogs with posts that don't matter to anyone are there because many devs (i.e. me) without much to share, feel obligated to write.


That's really weird. Feeling like a bad developer because you never write would be like feeling like a bad racecar driver because you never bike. Totally different activities.


Instead of blogging, I use things like Google Plus. It's not shocking for me to post something silly and inconsequential and completely egocentric like "My First Go Program", but it's also public and discoverable on the off chance I do something flabbergastingly amazitastic without the overhead of an entire blogging platform.

(And no, before you go looking, I don't identify primarily as a programmer, so my G+ is not full of random code snippets.)


Keep a notebook handy and whenever you have thoughts worth writing, write them. Expand on them later. Write drafts, expand on those, iterate, rewrite. Once you feel you have a concrete idea or article down, publish it.

A lot of these developer blogs read like spur of the moment publishing. Unorganized, baseless rambling.


With that said, such posts may benefit the author most; teaching others is a great way to learn.


That has been my impression too. Dark matter developers are people who work in software development in the employ of a company. Their employer may - and usually does - have a blog and a twitter and may well have dedicated marketing and sales teams. So even though these developers may not personally market, their employment depends upon these non-dev activities.

For me, personally, blogging and going to conferences is pure marketing. It works too. It results in me and the guys who work with me to have an income, thankfully. It's about demand creation for our services. Many people who are awesome computer scientists and programmers are not looking for that lifestyle. They work for good companies that pay them well to code. They do not have to worry about the non-coding tasks that need to happen for there to be that coder job.

Sometimes I envy their situation, but I am now personally addicted to self-employment, business, and startups. I love coding and do it for my livelihood, but I do not feel that I am called to work as just a programmer for a company.

I do like the analogy still. It's like the dark matter halo that presumably encircles our galaxy. It's unseen but is vitally important for all of our existence.


Sounds elitist. The only crime the author would have committed there is choosing a linkbaity title for their post, because something like that could cover any amount of interesting topics.

"Understanding Go and Coroutines as a PHP developer" for example might be useful, and it wouldn't suffer from being written by someone who hadn't absorbed the living spirit of Rob Pike before they wrote it.


If preferring to learn a subject from someone who knows it well (and has spent days or weeks rather than minutes editing their prose) makes me an elitist, then fine, I'm an elitist.

Your hypothetical article about Go and coroutines could be very useful, provided that the author has had some significant experience with both Go and PHP (e.g, they've written and maintained non-trivial programs in both languages). Otherwise, it's likely to be full of misconceptions and even errors.


> why would I read something that was written by someone who just admitted he knows almost nothing about it?

You are not the target market. Those posts exist for the same reason people create a Github account, but never contribute to open source projects. It shows exposure, and a history of interest, to interviewers who google you five minutes before the meeting. Everyone can argue the merits of different interview techniques and quality indicators, but, without a verifiable history of success, you have to start doing something to publicly show merit.


I would argue that those that blogs demonstrates their written communication skill, whether it's good or bad is another matter. But I would definitely more likely to hire people that can demonstrate this over those that are unknown.


This is the first I've heard the term "dark matter developer", but this type of developer definitely exists. There's probably equal numbers of those who are happy with their jobs as aren't, and who are brilliant as are mediocre. I imagine that the typical dark matter developer is more risk-averse than an "outgoing" developer (intentionally not using the term "regular" because outgoing developers are a vocal minority according to this hypothesis), simply by virtue of the tendency of developers in the startup scene to downplay risk.

I used to be one of these. I never aspired to move to the Valley, or to found a company. I eventually had an opportunity to try it and have never looked back, but the idea simply would never have occurred to me had I not been approached.


I am also a "dark matter developer". I go to some larger conferences as an attendee, read up on the tech, learn new things, but primarily watch from the sideline. I respect open source developers and companies cutting the bleeding edge by my risk tolerance is too low to currently deploy node.js in production for example.

I used to be more active in the niche development fields I got started in, work in a lot more startups but as I've gotten older I've simply directed my free time and energy elsewhere.

Edit: This is also the first time I've heard that term.


I also hadn't heard the term, but after reading this I realised I was a dark matter developer. I've given talks at a couple of conferences, but I've only ever contributed back to open source projects by opening issues and writing a couple patches. I've tried to convince my employer to invest time in contributing back, but I've never made it a priority in my personal life.

I wouldn't say that I'm more risk averse than other developers, but I have a healthy does of perfectionism that tends to get in the way of ever releasing anything. On some level I feel like I'll be judged for anything I put in the public eye if it isn't 100% perfect.

I recently went to my first meetup though, and everyone there was super friendly, so maybe I'll come into the light. :)


The obvious term is "baryonic" developers, but somehow I don't think that will catch on.


I am always amazed that people who blog, tweet etc. a lot think they are somehow "pushing things forward". Actually, it's people who write a lot of working code who push things forward. Maybe they blog too, but maybe not. Tweeting and blogging does not mean you are productive or on the cutting edge of anything meaningful.


Fabrice Bellard doesn't have a twitter, doesn't blog, and maybe doesn't go to conferences. But he's done more than most who have, almost certainly.

His wikipedia page: https://en.wikipedia.org/wiki/Fabrice_Bellard


Yep, one of my coding heroes.


Tweeting and blogging does not mean you are productive or on the cutting edge of anything meaningful.

Damn straight. Good example is a sizable portion of the crap submitted here. Sorry, I really don't care why your startup-that-will-probably-fail-in-two-years picked Meteor and why I should too. I don't care that you had an epiphany about X and it vaguely relates to Y technology. Just useless noise that does nothing but serves to jerk off the author.


Tweeting and blogging also does not mean you are unproductive or not on the cutting edge. Sometimes meaningful perspective can be clouded by being too deep within the work itself. I feel this is especially true for programming.


As a dark matter developer, I'll tell you why I'm not more public:

I don't have enough time to maintain a decent blog. I could maintain a shitty one, but what's the point of that?

Join a community? I barely have enough time for HN as it is!

Stack Overflow? I contribute sometimes, but once again, it comes down to time. If you have the time, I applaud your contributions. As for me, I'll settle for answering maybe one question a month.

New tech? Sure, that's cool. But I really need to get my software to a working state, and that won't happen if I keep changing the technologies. I'd rather wait for a front runner to emerge before joining in.

Twiiter? No thanks. I get enough aggravation from email.

Meetups & conferences? I've gone to a few, but I've found that I can gain a far deeper understanding of a particular language/technology/paradigm through online articles or books.

About the only thing I leave any kind of footprint with is github, because coding is one creative outlet I can't live without.


Stack Overflow? I contribute sometimes, but once again, it comes down to time. If you have the time, I applaud your contributions. As for me, I'll settle for answering maybe one question a month.

According to this paper, 95% of the users on Stack Overflow are "low activity" users, but they provide 50% of the answers.

http://digitalcommons.unl.edu/cgi/viewcontent.cgi?article=10...


Seconded. I've never gone to conferences though, but I've always felt I learn more via online sources and/or experience. I've been trying more Twitter recently, but honestly I think I'm giving more than I'm getting from it..


I will gladly put myself in this camp. I will trade dark matter devs for ones constantly spouting off all the time about their questionable "innovations" and committing themselves to 70 hour work weeks while they create nothing products and disrupt this and that so that...gah I'm already getting bored writing this.


There are also entire dark matter companies. Small tech companies that just launch, run, and make a comfortable living for the employees. They are not trying to be huge, not trying for a huge exit, not trying to make news. Just trying to build and work for a good company and live a good life.

Those of us who are "dark matter" developers really like working for these small, quiet, solid companies.


What would you call the middle ground between the two of them? I feel like I spend a lot of time reading, but I just can't bring myself to blog. I've had one for years that has maybe 5 posts. It's a combination of being tired at the end of the day, feeling like I have nothing useful to say (that hasn't already been said), and generally not thinking about it.

It's also a similar story with Stack Overflow. When I think to try and answer questions, they've already been answered by people more knowledgeable than me.


Don't concern yourself with labels. Apply yourself, learn new stuff and meet new people who work in the industry :) You'll figure out the rest.


i just started using stack overflow recently & i've found it's mainly a bunch of people asking very simple questions or fixes to very nuanced quirks.

When faced with similar situations, i've always followed my own judgement through research. I can see how this kind of a resource is useful in certain cases, but a ton of the site is just silly gamification.

Time spent on these sites is time that I could have spent watching a video lecture about Scala, or trying a new library.

I guess github is better in this respect since it's about active coding and understanding distributed projects. But I see a ton of forked repos in users' projects with few (if any) of their own code in them. It makes me realize that many cutting edge devs are just filling out the "digital resume" of a programmer. Yet there are obviously some who are driving the industry mixed into the same sources.

signal to noise is difficult to determine in all systems and being current can be a bad indicator in programming. There are tons of badass devs who just learn design patterns and language nuances for "older" languages who can write much more modular/reusable code than those who learn MVC framework after MVC framework. I think..... a lot of them work for Netflix.


This is to say, lurkers can be just as thoughtful, as intelligent, and just as competent as those up on stage.


I would argue that the original definition isn't even about lurkers. It's about the developers that aren't even reading the latest tech/programming news. They have been using the same IDE/language/environment for the last 10 years and are just happy where they are at.


thanks for introducing me to this term - and also the original blog post. :)

(no, not everybody had heard of it already)

there are a lot of these guys out there - i've worked with some, and whilst the generalisation is poorly motivated it is generally accurate. a good proportion of these kinds are in the job for money, stability, parental pressure etc. and care little to improve themselves or their work. they do a 9 to 5, just like you would if you were stacking shelves in a supermarket.

its a rare person who tries to excel at shelf stacking.


I'm wary of equating "care little to improve themselves" with "do a 9 to 5". The two are not related.


really? maybe there is an over generalisation there, but i think that people who do their jobs for money often have little motivation, or even reason, to try to improve their skill at work. what they will generally improve at is finding psychological tricks to ease the passage of time, ways to hide a lack of productivity or monopolise the work that they find the most comfortable...

practically speaking they get more mileage from finding a different job entirely... 'working your way up' as a path to success is not what it used to be, their are too many layers and too many automatic promotions for time served.

edit: maybe my meaning of 9 to 5 is not clear, but for me its a term that comes from the fixation on time which comes with having a 'job' vs a 'career'


maybe my meaning of 9 to 5 is not clear, but for me its a term that comes from the fixation on time which comes with having a 'job' vs a 'career'

Then that is what I object to. Plenty of people have a 'career' instead of a 'job' and work 9-5. Hours worked is not a great indicator of anything - the guy working until 8pm might have spent three hours of his day messing around doing very little.


"9 to 5" refers to a salaried position, i.e. regular W-2 work. I'm not totally clear on your connotation, but I don't think it's common.

This seems really presumptuous to me, though. Many people just don't consider anything but regular work like this as an option, as they just haven't been exposed to other things; this doesn't say anything about how much or little they love their work or wish to excel at it.

Some people are just lazy do-as-little-as-possible drones, sure. But assuming everyone who isn't an entrepreneur is like that is more than a little bit nasty and quite baseless.


/assuming everyone who isn't an entrepreneur/

i've used the term poorly if you think this - that is clear.

i'm not even thinking of entrepeneurs. i don't consider myself working '9 to 5' even if those are coincidentally my hours... the amount of time i work is much more to do with my desire to fulfil my tasks and deliver.

i've used the term wrongly, but i think of the '9 to 5' mentality as the eagerness to pack up and go home at 5, but yet not wanting to leave early so that you don't get docked minutes in your pay packet.

my point was more to differentiate between those there for survival or routine, compared to those there from desire.

i've met plenty of entrepreneurs who have no passion for what they do and are either terrible or lucky at it... some doing it out of misguided expectation from family or peers. its got nothing to do with that.


This just seems wrong. You can be a contributer to the community but not the public community. You can contribute within your organization and still use the latest and greatest technologies if you choose. You can talk and collaborate on many development topics.

I work with other developers and we are constantly collaborating on ideas and technology. I don't believe that makes me a "Dark Matter Developer" because I don't share those conversations publicly.

Thoughts?


Am I the only one who thinks that "dark matter developer" does a terrible job of describing its intended meaning? I had never heard of the term and I certainly couldn't extrapolate what is meant by it just based on the name. What's more, it has a built-in negative bias due to the term "dark". As a developer who falls somewhere in between "dark matter" and not, consider me not a fan of this terminology.


Pretty sure that the idea came from this article http://www.hanselman.com/blog/DarkMatterDevelopersTheUnseen9...

at least the current discussion anyhow


This post makes me think of an article about "the guild of the silicon valley", "guys" you won't see in social networks or events spotlights but make things done and help startups and companies scaling and reaching success. I think it's just a matter of communication skills, anyone with less com skills won't mean he is "bad" and not helping the community moving forward, and vice versa, anyone always on stackoverflow or github won't guarantee he's a rockstar programmer. And personnaly, I prefer having a "dark matter" developer or black hole programmer, call them what you want, who's focused on a long term vision than anyone always chasing for the latest trend. Experience shows that so called dark matter developers are most versatile by knowing deeper how things work and how to build/extend/improve apps. But advice for "dark matter" peers, improve your communication skills, because it will make you a great developer !


I fall into this "Dark Matter Developer" in more than one way.

On the social front: I go to, on average, one half of one work-related conference per year (real world, I go to one conference every other year). I have no use for twitter, facebook, linkedin, or any other "social network", preferring instead old-school forums and the occasional aggregator like HN where the signal-to-noise ratio is quite a bit better. I have a personal blog, updated every few months, that rarely touches on anything tech related, and is read primarily by friends.

On the tech front: I write code, in part, for decade+ old systems, and the rest with old-fashioned, plain-jane java. I write code that will never be used anywhere else, in languages that are neither new, "cool", or "hip" in any way. I keep somewhat up-to-date with big-picture new tech, but I see no reason to delve into any details if it doesn't relate to my work. I enjoy what I do, and the problem solving that goes into it.

I have, perhaps, fallen out of love with the field, and the industry. Perhaps I never had a passion for writing code, preferring instead the theoretical challenges I found while pursuing my degree in computer science.

What I do have: A life away from work, and away from computing. I'm in the middle of a multi-year "bootstrapping" of my own "start-up" -- one that has absolutely nothing to do with computing, and instead has everything to do with my love of woodworking. It should, with effort, provide a secondary source of income for as long as I wish. If I'm extraordinarily lucky, I may be able to make it my primary source of income at some point. There will be no VCs, no big-payout exit. Yet I consider myself just as much of an entrepreneur as any of the silicon valley crowd -- simply one with different goals and a different market in mind.


Tell me more about this wood work startup. Does it have a website? I am genuinely interested


It's just a small, local signmaking business. No web presence; currently relying on word of mouth to keep the workload low enough that I can still meet expectations -- quality and deadlines -- while working out of my garage and working my software development job full-time. I'm also, slowly, getting into wooden canoe & kayak building; if I can successfully turn that into a profitable product line, I'll be thrilled.


The interesting thing is that when I was being loud and focusing on driving traffic to my blog to showing off my shiny new things, I was probably producing my worst and most unimaginative work.

Now, as a 'dark matter' engineer, I don't have the time to write technical blog material nor do anything that would classify me as a 'matter' engineer. The great tragedy is that I'm producing my best work with real world impact.


Ok, lets keep this astronomical cosmological perspective.

You're are coding on a small planet orbiting a small star that will burn out in a few billion years, taking your planet and all of your code with it.

Is it really of any universal consequence if you're producing VB6 during business hours or building a disappearing <whatever> app at an overnight hackathon?

I think not. Code on dark matter developers, wherever the hell you are.


This whole article is written from the perspective that dark matter developers are by nature worse than the alternative, with the exceptional one amongst them.

"They can be just as capable as you."

It has been my experience that those with the loudest voices are rarely the best at what they do. Far more often it's the people who prefer to spend that time experimenting or learning from others who are the best.


substituting "dark matter dev" with "introvert" i think we'd get to the very old and standard discourse.


This is just passively-aggressively implying that dark matter developers aren't bad because they're inferior at coding, they're bad because they're inferior at being social.

Maybe I don't need to go to every Django convention ever to be a good programmer. Maybe I measure myself by different standards.


I find developers with a github account admirable, but I never did contribute to open source at a day job, and while I'd like nothing more than give everything I do for myself away for free, the goal is to sustain myself stand in the way of that.


You can map them by using the curvature of github and the relative speed of development. Is too early to say, but there is also some indication of some kind of dark flow control, possibly as a result of dark energy drinks.


Who thought that if a developer doesn't tweet that they are a bad developer?

People thought that? WTF.


my co-founder is one such dark matter developer... but, sometimes i feel its good... cause it actually keeps him more focused on working than hacking for fun !!! But, yeah..it does bring in a lot of demerits


This same monicker can be applied to designers.


>They may still know the latest design patterns, tools and techniques just as well as you do. They just choose not to talk about it.

I don't think this was the original "Dark Matter Developer" definition. If you read the original article (http://www.hanselman.com/blog/DarkMatterDevelopersTheUnseen9...), you will see that he specifically says they don't keep up to date. They just do what they know, go home at the end of a day, and live a life.


Not true. I'm a "dark matter" developer. I don't blog, I only use Twitter to keep up on sports, I only use Facebook to keep up with far away friends and family. I post something programming-related on Facebook about once a year.

However, I know (and know that most of my fellow dark matter peeps know) the latest and greatest out there. We discuss it, take a look at it, and usually come to the conclusion of "been there, done that, not mature enough for our system that handles billions of dollars in transactions annually".

Also, one thing that's bothered me recently with developers is the focus on greenfield development. I've done both green- and brownfield, and find brownfield to be tons more stimulating than greenfield development. I know that a lot of my fellow dark matter folks do too. Constraints are more thought-provoking than "I can do anything".

That's why you don't see us caring about some new javascript framework or RoR or Azure, or any other "new" (and usually unproven) technology. We're too busy kicking ass and finding beauty in mature, established languages and frameworks that actually have all the features (and then some) of "newer" technologies.


>That's why you don't see us caring about some new javascript framework or RoR or Azure, or any other "new" (and usually unproven) technology. We're too busy kicking ass and finding beauty in mature, established languages and frameworks that actually have all the features (and then some) of "newer" technologies.

Comments like these saying 'Oh you are a stupid hipster using node/ror whatever' are basically in the same spirit as 'Oh I'm cooler than you because I use this and that and you are using Java' just the other way round. Thanks for your childish negativity and adding to unneeded stereotypes in the tech community. If you are one of those 'wise' devs that use what is mature and stable and whatnot instead of chasing new trends you should be smart enough to preach that all technologies have their use case and people should use the best tool for the job etc etc… but hating is fun, isn't it.


Since I can't edit it, I'll just say that both of the responses below mine are correct in that I shouldn't have made the last paragraph so snarky. I meant that we don't jump on the latest bandwagon technology because there's often a better, more mature one already out there.


Yeah... the last paragraph kinda ruined it. Why the arrogance? I thought greatness brings with it a humility in people. You already made the point that new techs don't seem to cut it like the mature ones (2nd para). So why ruin a perfectly good comment?


Person A just works job.

Job is paid by other person B(a creator)

Person A dies, person B just hires a replacement. World is the same.

Person B dies, company/idea dies, world loses something.

I think hackers want to be the person B and make their mark. It doesn't have to be bogging, running a charity for free part time also counts but it has to be something.

People have this strange idea working a job is contributing, but no it's just breaking even. You just swap work for money <=> not creating.


Person A decides to do his own thing and becomes a "creator." Person B fails to replace him and his business fails. Oops.

Sorry, but this is crap. Without people who "just break even," in your estimation, the only people involved in any venture would be the founders, and as soon as someone got good enough to do their own thing, they would. If doing the work a founder can't do -- the tasks outside of his field, the work when the company gets too big for a person or two to wear every hat at the same time, etc. -- nothing gets done.

People who work for pay make possible the things "creators" want to do but can't by ourselves. If that's not contributing, I don't know what is.


> Person B dies, company/idea dies, world loses something.

Well, actually, world loses nothing. It doesn't care. Humans care, maybe, but you only think they matter because you are one.


Bleak, nihilistic and true.

Would upvote again :)


Person A works on their passion in the allotted time. Person A also has a life outside the terminal in which they hike, they play Magic the Gathering, they tinker a bit with robotics. Not everyone's playing the same game as you, stop denigrating those that have more diverse interests than all code, all the time.


99% of the time person B dies and the 8 other people with the same idea fill the gap.




Applications are open for YC Summer 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: