8 ms·
Dark Matter Developers: The Unseen 99% (2012)
- frou_dh 7y agoJust don't actually go and look, if you're not prepared for the fantasy to be broken that such persons are super productive and doing quality work. There's enough dysfunction to go around that all types of programmer can be uniquely afflicted, and usually are.
- davesmith1983 7y agoI've seen this article before. A lot of people that are active on the internet like to assume that everyone is using the latest tech and can just use whatever tech they like. This is rarely the case. I've spent the majority of my career tending to old code bases. There is a lot of legacy code that is still working fine. There is a lot of old C# code bases that are working exactly as intended in now unsupported .NET versions. One of the constant annoyances of some of the newer tech stacks is that developers constantly break the API meaning that when you upgrade the framework version you have to fix code and probably tests as well. It is absolutely infuriating when an API is changed when the old API was working perfectly well.
- acollins1331 7y ago>It is absolutely infuriating when an API is changed when the old API was working perfectly well. Good thing Google is reading this.
- progval 7y agoDo they care if the old API was working, if it didn't make them (enough) money?
- jcoffland 7y agoThis is why your software should avoid relying on cloud services that you have little or no control over.
- A2017U1 7y agoThis is virtually all of the important rust libraries that refuse to go out of v0 because of semver and their urgent need to break everything. Anyone who complains is not "apart of the team" either. It's astounding how much post-purchase rationalisation exists in the community, rust has plenty going for it, the people will destroy it before that though. Sorry guys but if you can't manage the task of providing randomness as a stable basic lib then maybe all you have is an experimental language not fit for production? It's scary how the security and correctness of the lang doesn't match the namespace problem that exists currently. The single owner of one of the most popular crypto libraries hasnt responded in years to anyone. Hundreds of downloads a day still. Evangelists please take a step back and think about that.
- mikeash 7y agoThe phrase “old C# code bases” makes me feel incredibly old.
- davesmith1983 7y agoSame here.
- bdcravens 7y agoIt's almost 20 years old. That said, many of the languages considered hip are older (Python, Ruby, Javascript, etc)
- teh_klev 7y agoI started out working with .NET and C# in early 2001, feels like yesterday but suddenly it's ~18 years O_o.
- mikhailfranco 7y ago... Haskell, Erlang ...
- BenoitP 7y agoThat's why the JVM (and platforms with a similar philosophy), to me, is the best runtime there can be. Sure, there's fancy state-of-the-art stuff being integrated into it; but the most compelling feature is the continuing commitment to making dusty old jars work, unmodified.
- davesmith1983 7y agoFor the most part the situation is the same with .NET. Any code written in .NET 2.0 should work with 4.7. The newer .NET Core most stuff is now compatible and it is pretty easy to write code that is compatible. Stuff that isn't compatible normally needs you to install a compat shim that Microsoft provides, but I've not needed them so far. My major frustration is with the JS frameworks. I wrote some perfectly good Angular 4 code and I had to change quite a lot of it to work with newer versions of the framework.
- lukeschlather 7y agoI haven't been working with .NET for very long, but my experience is that mixing .NET Core and .NET Framework leads frequently to very confusing, inscrutable error messages about incompatibility between the two. Though if it builds it works fine.
- davesmith1983 7y agoThe accepted method is convert projects to .NET standard and/or multi-target project itself. I haven't run into any issues but most of what I do is web projects, I wouldn't know if it was something like WPF.
- pjmlp 7y agoI have been doing mostly C++, Java, .NET and classical Web since ever. Naturally I try to learn about everything that pops up, languages, trends, whatever. But is a peace of mind of staying with such platform languages, while watching others coming and going, really feels gratifying to me.
- polskibus 7y agoI wonder if Scott Hanselman ever had to maintain large system while having limited resources to do so. Churn is bad for most, apart from companies who must sell new things to keep on going, like software companies. Moving fast and breaking things is great when you don't have to consider churn cost. Calling the anti-churn crowd "dark matter developers" seems at least a bit derogatory.
- jm__87 7y agoI've worked on a team before where we every dev said "we need to upgrade X, we're Y versions behind" and management always responded with "no budget, this is not a priority". This continued until our hand was forced by a company wide initiative to modernize some aspects of our architecture and all of a sudden our team was frowned upon for being so far behind. Then we had to spend many months on an "upgrade project". I'm sure this same story has played out many times over in many other companies. In my own experience, often lack of tech currency/accumulation of tech debt is a management/organization problem. They won't get rewarded for upgrading things until their boss makes it a priority and there is some highly visible "upgrade project", so why bother doing so now.
- polskibus 7y agoSure, there's an extreme on both ends. The problem you're describing is that the upgrades suggested were probably not frictionless, managers were burnt before by needless upgrades that took too much resources for little value. If tech companies took much more care wrt upgrades and not breaking stuff, then users of the tech would not see upgrades as needlessly risky. An example of this is net core vs net fx. Net core broke many things, has not implemented full compatibility from day one, introduced netstandard , which as of latest version is not implemented by netfx, introduced new toolset (dotnet) aside msbuild (bear in mind that VS still uses Ms uild) and so on. This is all a matter of incentives both for tech companies and for their workers - they are often rewarded for short term/easy to see by managers impact, not for bugfixing, stability or long term support. It was not always like this - in the 90s MS would be picked because they took care to not break stuff. Migrating .Net 1.1 to 2.0 was super easy.
- codingdave 7y ago> we need to find a balance between those of us online yelling and tweeting and pushing towards the Next Big Thing and those that are unseen and patient and focused on the business problem at hand. What makes him think we don't have a balance already? Most devs are the quiet ones who just do their job and then go home. Aside from participation on HN, I consider myself to be be one of those quiet ones. I work on business problems with whatever tools are appropriate, which includes both modern stacks and legacy codebases. I'm not sure what other balance he is seeking.
- JustSomeNobody 7y agoPlenty of us are using the latest technologies to push our particular domains forward but we aren’t writing blogs or evangelizing. This doesn’t mean we are in the dark. It just means we get stuff done. It doesn’t mean we don’t have skills. What it does mean is I don’t need google or stack overflow to write my code for me. I can solve my own problems thank you. So, I think I am pretty well balanced.
- kayoone 7y agoNobody was implying that the "Dark matter" devs do not get stuff done or don't have the skills, you missed the argument of the article.
- JustSomeNobody 7y agoRight, but some of the comments on HN imply that is the way people think - that most dark matter devs are using old code bases, or don't have the skills to be on the leading edge.
- fxtentacle 7y agoI would see that much more positively: Most of those Dark Matter devs have the experience to know which old and stable technology will be superior to which hyped new fashion trend. So they know about all the new stuff but are still are using old technology because it's the better choice.
- Davertron 7y agoThe fact that you go mostly "unseen" online seems completely orthogonal to whether you love programming and keep up with the latest technologies, etc. I would consider myself "dark matter" in the respect that no one knows who I am and I'm not constantly blogging or tweeting about stuff. That doesn't mean I'm not interested in, passionate about and highly competent in technology. I find it kind of insulting actually that someone would assume that just because I'm not loud about it means anything else about how much I care about it or how good at it I am. I'm not totally surprised by this though; for most people, if you're not jumping up and down telling them about how awesome you are they have no way of knowing. I see this a lot in my current job; all the developers know which of their colleagues are kick-ass at their jobs, but you have to sell yourself and your accomplishments to everyone else. TL;DR, I know this is an old article, but it seems there's still some perception that us dark matter folks are all just passionless drones in it for the paycheck, and while there's surely some percentage of us for which that's true, I think it's completely wrong-headed to assume that's how we all are.
- CM30 7y agoThis is a really good point too, especially when considered the whole 99% rule or what not. Tech community sites like Hacker News, and web dev sites like Smashing Magazine or CSS Tricks or what not have a large audience of lurkers that keep up to date with everything mentioned there yet don't spend their time posting about it on social media. Hell, I'd say I'm in the same boat there too. Read a lot of these kinds of sites and blog articles, but generally don't talk about 'em online much. Of course that's not to say being in it for the paycheck is necessarily a bad thing. Not everyone needs to be 'passionate' about their job to do well in it, and if say, my doctor or surgeon is good at what they do, I don't really care if they spend all their free time talking medical issues on social media or posting on Hospital News or what not.
- xvilka 7y agoYou will be surprised, but doctors also have their professional social networks, discussion boards, news sites like HN, various conferences, etc. Especially nowadays, when a huge chunk of medicine is a technology too.
- onion2k 7y agoScott talks about how devs don't do anything to be seen yet if you look at his twitter stream it's mostly just him tweeting his own posts and retweeting other "famous" developers. He, and the majority or other very visible people in the community, gatekeep the blogosphere by failing to help anyone else break in (not necessarily consciously of course; they may just never see the less famous devs posts). Scott could be a much bigger part of the solution than he chooses to be.
- Davertron 7y agoI don't think the point of his article is that this is a "problem" to be solved. And personally, I don't think these people owe you anything. Twitter etc. are all open platforms, there's nothing preventing your stuff from being seen by others.
- davnicwil 7y agoI feel obliged to jump in and defend Scott here - I just don't think what you are saying is a fair summary of his behaviour. For sure, I see him doing what you say, but I also see him regularly retweeting and responding to comments and questions from accounts with few followers, and particularly so from people from minorities within the developer community. There are plenty of examples of people I can think of who behave in exactly the way you suggest, mainly spinning the flywheel of boosting the online presence of already famous people and not engaging much with outsiders, but Scott not only isn't one of them but perhaps one of the best examples I can think of of actively doing the opposite of that.
- briandrupieski 7y agoI was about to try to comment this same idea to defend Scott. To further support it, I recommend anyone to look at the guests he interviews on his podcast, https://www.hanselminutes.com/ https://www.hanselminutes.com/. He goes out of his way to find and interview guests who are under-represented. Scott Hanselman is someone who I believe definitely does NOT gatekeep, and tries as best as he can to give people a chance to "break in". onion2k I ask you to look again at his Twitter stream and podcast, and re-assess your evaluation of him.
- nenadg 7y agoThat's a nice way to describe something, but it doesn't have to be a problem. Some devs around me (partially me too) just doesn't want to tweet or write blogs about tech, yet we could work in bleeding edge tech or writing cobol at the same time. Some people maybe don't need help, guidance, or something like that, maybe just maybe we like the things as they are now. Maybe we'll start doing all of social stuff some day. It's just okay.
- pm90 7y agoWhile this is perfectly fine for you and for everyone who makes this understandable decision, what tends to happen is that people learning about bleeding edge of technology tend to have very different perception of what bleeding edge tech is. Every new buzzy technology is so oversold that it makes developers overly cynical and disappointed when it doesn't deliver on the promises made. If you or others such as yourself did blog about success stories, or real-world experiences in General, other engineers would perhaps have a more sober perspective of the bleeding edge and would make more informed decisions when deciding to switch stacks instead of just "hey its cool and the latest fad". Again, I don't really expect you to change your behavior at all, this is just a description of what happens in aggregate.
- nenadg 7y agoWell, I have that honor to hang on drinking beers, with people who are deploying their parts of larger web application on kubernetes independently on the other team who appears to use svelte, and the other one who uses ABAP, which is basically cobol, and third one who actually supports banking application written in cobol. There are stories which could certainly help engineers around the globe, but those friends of mine just doesn't feel any emerging feeling to write about it.
- fxtentacle 7y agoI believe that many programmers, especially junior ones, want to try out and work with the newest tech just because it looks great on their CV. I've been in some projects where more experienced team members very clearly reminded everyone that technology X would not be useful here, but others on the team just resented them for disallowing the cool stuff. So this could also be a conflict between the company's goals (stable product) and the individuals' goals (cool CV).
- PaulHoule 7y agoBack in the usenet days it was said that 99% of users were readers and 1% were writers. The same is true for the web. That is, I think "dark matter" developers read blogs but they just don't write them. As for conferences, these are widely seen as a scam. I remember sitting through a presentation at the end of a conference by the platinum sponsor where I sat next to some tired defense contractors from the East Coast and then drinking in the hotel bar later with the director of marketing for the sponsor who thought that he hadn't gotten what he paid for.
- siempreb 7y ago"Dark Matter Developer", what label is that for a developer doing his thing without going to conferences, doing blogs, etc..? This should not be on HN imao.
- kahlonel 7y ago> The Dark Matter Developer will never read this blog post because they are getting work done using tech from ten years ago and that's totally OK I thought I was a “Dark Matter Dev” until this. But then it’s weekend so maybe I still am.
- avip 7y agoAll great and admirable till you wakeup one day and find out no one read your cv because you have zero online presence.
- fxtentacle 7y agoI feel like the article misses out on two crucial truths: 1. Most of the new tools are pure nightmare to maintain. RoR has breaking API changes often enough that you need multiple people to maintain a large codebase, whereas in PHP you'd only need one person because things don't magically break that often. And MongoDB is so convoluted and complicated that almost nobody can deploy it correctly. And then there's "new" container techniques, which are basically just an admission that you have no f*ing clue on how to make your new tool set secure. In most cases, the loud new technology is just over-funded hipster stuff, but not ready for the real world yet. 2. Posting things online (e.g. Source Code) will not only attract the attention of peers. You might also get flooded with rather demanding emails by technically incompetent people who complain that your free source code release didn't solve their problem. Also, I wonder if the author is aware of IRCs ongoing popularity for private development discussion rooms. It seems many people thought Slack was new, but some of us programmers have been hanging out like that since 95.
- siwatanejo 7y agoIs PHP still a thing?
- davesmith1983 7y agoYes. Most of the world's websites run on it.
- sfkdjf9j3j 7y agoIs that still true if you don't count Wordpress sites?
- epx 7y agoI keep a client that has not much to do with my current line of work, just to keep in touch with these guys and this environment. I feel it is important to solve real problem and real user's problems from time to time, I learn a lot from them. On top of that, I am a client of them and we live in the same city, so there is mutual interest things go smooth. And yes, they learn a lot from me. Sprinkling some new tools like git and Docker, encouraging people migrating their systems off PHP4, etc. can't hurt.
- human20190310 7y ago> [E]ncouraging people migrating their systems off PHP4, etc. can't hurt. Any migration could hurt.
- deleted 7y ago[deleted]
- caymanjim 7y agoI keep up with modern tech. I regularly learn new languages and frameworks. I lead agile dev teams. I work as a consultant modernizing devops and moving to cloud deployments. I write real software for real businesses doing real things. I don't blog. I don't go to conferences. I don't go to hackathons. I don't have any meaningful presence on GitHub. Hacker News is about the only place I have even the slightest footprint, and most of what I talk about here has nothing to do with my career as a software engineer. So what? The implication in this article is that if you're not out there trying to be visible, you must be some crusty old COBOL developer locked in the basement. In my experience, the people who are the loudest are rarely the people who are doing the most. If you spend all your time trying to prove to strangers that you're hip to the latest trends, just how much time are you spending doing anything of actual value? Not everyone who has a big public presence is actually doing anything. Most of the discussions online and presentations at conferences are nothing new. Most of it is self-promotion. When I see people get all excited about tech, it's usually because it's new to them, not because it's a new idea.
- CM30 7y ago> If you spend all your time trying to prove to strangers that you're hip to the latest trends, just how much time are you spending doing anything of actual value? This is something I've wondered about a lot of social media users to be honest. I mean, if you're seeming spending all day on Twitter or what not, how are you finding the time to actually do any work? Do any of these super outgoing social media addicted conference every week developers actually have a full time job? Or is their entire career about promoting themselves?
- fxtentacle 7y agome too. I would absolutely hate it to be interrupted in the middle of a good coding session by someone who wants to talk to me on twitter about the hype of the day.
- Mandatum 7y agoSure. I've met a lot of well-known authors at conferences and meetups. I've met people who work for big companies with R&D arms who are putting out content and products on the "bleeding edge" of technology (ala ThoughtWorks, IBM subsidiaries etc). Most of these people love technology. They love learning about technology. They'd be perfectly happy working in technology, but because monetary success ends at being specialist consultant in a super lucrative field.. They stop. Now they work in strategy and marketing around technology. Why? Because it's more lucrative. The job is more fun. They get to meet really, really smart people without having to work 60 hour weeks for $250K a year. (Which is great, of course, but these people have the soft-skills to add a multiplier to that amount.) I'd be happy working 9-5 as a CRUD software developer with a great team in an OK company. I'd be happy working in a very specialist field, earning $250K with an amazing team, in an amazing (funded) company (for a few years before shareholders start making demands). I'm more happy working random hours around the world, meeting and talking with the smartest people in technology at a range of companies. I get to learn about what they've achieved, how they've achieved it.. Without having to burn the candle at both ends.. And I get to just play with whatever tech I feel like playing with. They're different careers. A lot of people dabbling, or dipping their toes with blogging etc. are just doing it for a better portfolio when they company hop.
- Animats 7y agoThe big mess seems to be in the CSS/Javascript space, where fad frameworks come and go rapidly. There's more change than improvement. Visually, most web pages haven't changed much, and web development has become much harder. But we can now scroll forever. Slowly and jerkily. On the language front, we really should have had a replacement for C/C++ by now. We don't. D never got traction. Go is mostly for web back ends, where it has really solid libraries heavily used within Google. Rust looked promising but was taken over by the "functional" crowd and is doomed to Haskell obscurity. C++ itself is now trying to fake ownership tracking at run time, with mediocre results. The abstractions always leak because too many old things need C pointers. Java was supposed to replace C/C++ but became tangled in its own libraries and ended up replacing COBOL. There's been some progress. There's now grudging agreement that the way to go is type declarations with some type inference. Having to type everything is too much of a pain. Not typing anything makes for unreadable programs. Function definitions really do need type info. So C++ added "auto" and Python added "advisory typing", moving both towards the center. Which is about where Go started.
- davnicwil 7y ago> Visually, most web pages haven't changed much, and web development has become much harder. Both true, yet engineers keep switching to newer frameworks and libraries anyway, rather than sticking with what they have and just building stuff. The question then becomes, assuming they are rational, why? I'll propose at least one major reason: efficiency. What's improving isn't what is possible to build with these technologies, but how effectively those things can be built, to a reasonable degree of reliability, in the same amount of time, even accounting for the greater difficulty in learning and using the technologies. That's where progress is being made here. Not in the what but in the how easily, how quickly, how well. You could do anything you can do in React (say) with vanilla JS, imperatively updating the DOM with cumbersome APIs etc. The question is how much longer would it take / what more could you have built in that time using React.
- bmurphy1976 7y ago>Rust looked promising but was taken over by the "functional" crowd and is doomed to Haskell obscurity. I think that's unfair and inaccurate. Rust is going to remain niche because most developers are happy with garbage collected languages and have no need to switch to Rust. Rust will eat a bit into C++'s domain, but I don't think it'll ever take over the world. GC is good enough, works great now and worked great 20 years ago.