Remember some of the hot-button issues in tech over the last decade? People angry over the use of the word "passion". The merits of "craftsmanship". Whether the "10x developer" is a myth.

Something connects all of these debates, and nobody's really talking about it. That's why I wrote this essay: https://blog.testdouble.com/posts/2023-07-12-the-looming-demise-of-the-10x-developer/

The looming demise of the 10x developer

Tech's most contentious debates end with people talking over each other, but they make way more sense viewed through the lens of inter-generational conflict.

Test Double
@searls Thank you for this piece. Very well thought out and spot on.
@searls "It’s an open secret that the industry has no idea how to teach people to program." Oh my gosh, this resonates SO MUCH with me! I've watched friends struggle to learn how to program and "break into" our profession. What other industry has boot camps to learn the foundational skills?
@joshpuetz @searls I wonder how many future developers are learning from LLM Chatbots and how that will change the culture. These devs will use LLMs for JIT learning continuously. I feel a big change is coming but I can't even begin to game it out.

@jneno @joshpuetz @searls I guess the big concern with using LLMs for learning is their ability to hallucinate; or to just straight up lie.

On top of that; defective code might prompt for more, subtly defective code.

(For me, my bigger issue for learning new stuff is the requirements involved in just setting up an environment for development/deployment/"Production" locally-I've usually worked within teams where the environment setup has been made...and is way more complicated than IDE launch.)

@searls fantastic article. It’s a great insight. I recognized this years ago, as cultural conflict within teams and organizations, but I didn’t connect it to all the social issues.

A key realization for me: a lot of great products are made by ā€œnew generationā€ teams. Maybe the code isn’t as great. Maybe the development doesn’t go as quickly. But product success often (usually!) doesn’t depend on those things being optimized. Great product management decisions (usually) matter more.

@searls another insight from thinking about this as generational: modern (i.e. younger) dev teams are made up of devs with varying strengths and weaknesses, who balance out the strengths and weaknesses of the other devs on their team. The historical norm of "the dev who can do it all" is mostly dead.
@narthur great point. I could have added a whole section on "full stack dev" as another example of a flashpoint that's obscured by the generational angle. Thanks!
@searls Great essay! Still chewing on it all, but I find the argument very compelling! Resonates strongly with a lot of things I’ve run into during my career.

@searls great article and hits close to home. Your descriptions of asynchronous thinking, project obsession and self-imposed crunches match my own experience as a self-motivated dev.

Have you read about the idea of harmonious passion vs obsessive passion? The first is passion which supports other areas of your life. The later passion takes over whatever time it can. It’s an ongoing struggle for passion to stay harmonious.

@searls Justin, this is SO LONG. ;)

Which I point out only to say that it's even more impressive that I was compelled to read all of it. I really enjoyed this; it's a lot to chew over. Thanks for wrestling with all of it!

@searls I thought I was going to be thoroughly irritated by this at the start (how dare these people who aren't completely obsessed with coding come onto my patch) but you swung me round and it does explain a lot.
As you say, there's a thin line between 'craft' and just gatekeeping. Your 'I could do that in one line of semi-intelligible code' isn't always better than someone else's ten lines where it's really clear what each step does.
@alanbrookland thanks. This is a pretty representative take, which I'm glad for
@searls this touches on so many thoughts I’ve had bouncing around in my brain for a while now. So many connections I hadn’t fully realized!

@searls You say, ā€œSoftware, as an industry, has structurally organized itself around the assumption programmers will continue to resemble members of the outgoing generation.ā€

I agree with this... but is there maybe a mismatch between how the industry is structured and how those in leadership idealize its structure? Do they think they want clock punching ā€œresourcesā€ but inadvertently depend on the enthusiasm for much of their success? What happens if/as this ā€œshiftā€ occurs?

@searls I’m grasping for possible ramifications here, but I’m not sure what we can really predict :)
@searls Something I'm seeing is the general attitude of, "I'm an X developer." (front end, JavaScript, no-code, python, whatever) with a reluctance to branch out. I recall a half dozen times in my career where I've said, "Well, I guess I better learn [new language or tech] since it's what's being used for web/database/ML." Without the passion you describe, I think these shifts are less likely, resulting in a revolving door of new devs rather than retaining those with valuable domain knowledge.

@randyslavey @searls That was pretty common in the old generation as well, including a *marked* reluctance by backend people to ever learn frontend or JS.

It tends to get better with age as you realise you won't get to keep a single specialty exclusively forever.

(Or you work at, like, Lockheed or something and stay in that silo. Old folks do that, too, including enthusiast-flavoured old folks.)

@searls @cammerman Oddly, I was thinking similarly today, but wondering what it was that distinguished the agile-inventing generation from the previous one. Now I wonder how my generation differs from yours. I have a suspicion that we were too early for the idea that you can get filthy rich as a programmer. Also, we predated nerd culture being mainstreamed (thanks, Star Wars and Marvel, I guess). And we were culturally pre-Reagan, so retained hippy-dippy attitudes..
@searls @cammerman I don’t generally like generational analysis, but the shift to commercial shrink-wrap software was huge. (It made all those methodologists talking about ā€œthe maintenance phaseā€ look exceptionally clueless.) And then the shift to the web was similarly huge. There was a book called /Microsoft Secrets/. Did a good job of explaining how MS managed a release cycle that assumed yearly(ish) physical distribution. Got blown out of the water by the web.
@searls @cammerman There’s so much richness in the recent history of software, so it really pisses me off that, when historians and anthropologists look at software, they spend their time sniffing the panties of the rich industrialists instead of diving into the nitty-gritty of how line workers produced salable artifacts.
@marick @searls I think "generation" is maybe a distracting shorthand when what we might mean is just "a trend that lasted for a couple of decades, give or take a few years."
@cammerman @searls You’re probably right. ā€œEase of deliveryā€ doesn’t really map well onto a timeline. While shrinkwrap software needed to have big and infrequent deliveries, internal software (like support for traders in financial firms) had at the same time completely different dynamics.
@searls Well I read that's, it's familiar. Also have to ever been diagnosed for ADHD because if not might be a good idea...

@searls i mean, I was already nodding along until

"The new generation is more likely to expect structure and support from human resources and management, whereas the previous generation is more likely to find active management (e.g. career pathing, coaching, goal-setting) actually saps their autonomy and intrinsic motivation. "

So that's what it is. I never considered this in the context of a generational gap, and also encountered it mostly elsewhere:

@searls I mostly saw this between different professions (especially nursing, because I know people in that profession, not to call it out). And it makes sense if a new generation treats programming as just a job it becomes more like other jobs.

It also feels there might be lessons there. Surely Florence Nightingale was a 10Ɨ nurse. And we can't be the first industry encountering this transition (though I find it hard to think of other examples)

@searls šŸ‘šŸ‘ interesting read. Many parts I said of course, other parts posed more questions that I wonder what my answers might be.

I really like your pushing at sociological aspects, situation and generally broader motivations of Dev work. I’ve always found it odd that we often want to swim outside of that like some pure science with natural laws - truly absurd.

In short I am so here for a take like this and would love to read more. It’s a line of thought truly worth pondering more.

@searls "Nor do I know whether anyone will coin a term to dismiss my generation"

Mostly we're Gen-X. Nobody's gonna even remember we exist.

@searls Interestingly, because the generational shift you point out lines up very roughly with Gen-X vs Millennials, *one* difference is going to be just how many *more* of them there are than us.

Gen-X, which happens to be the enthusiast programmer generation, was tiny compared to the Boomers *or* the Millennials.

@searls your article really resonated with me, as someone also from this era/background.

You nailed the traits of the enthusiast programmer, but Iā€˜ve found that as I’ve become more commercially-aware, it’s become more of a (healthy) personal/internal tug-of-war: the traits taken to the extreme or without pragmatism lead to unnecessary/unobtainable perfectionism, NIH, under-delegation and burn-out.

@searls both sides can learn a lot from one another but the challenge is education and hiring need to represent that.

Would love to hear your experiences/thoughts as to whether you’ve seen the same throughout your career.

@searls

"This rubbed me the wrong way at first. Then again, everything does.ā€

I'm not sure I have ever identified with a single paragraph as much as I do this one.

@searls @shanselman Just read the first section, and it sounds way all-too-familiar. 😳
@searls Looking forward to reading this one! Just from a quick skim though, it reminds me of an Uncle Bob lecture from a few years ago, where he pointed out that software used to be a true profession (since it was introduced into existing engineering professions as a new tool). I think your overall thesis that the "hobbyist" era might be coming to a close is right, but let me read the full thing first :)
@wogan yeah, this is not that.

@searls I see that now, having actually read the thing - like I said, I skimmed it at first :)

I’ll need to dig it out, but a few years ago I read a very interesting essay on the formation, evolution and eventual extinction of subcultures - as they grow, they attract less-aligned people until they’re overrun with ā€œnormiesā€.

Whatever ā€œclubā€ ā€œweā€ (I got my first PC at age 7, self-taught BASIC) belong to is not likely to happen again, on that I agree. I’ll give this more thought.

@searls Your mention of the 2003 professor who pointed out there used to be more female programmers: That’s an almost-verbatim repeat of a segment of an old Uncle Bob lecture, hence the association. He saw that shift in the industry first-hand. Can dig out the clip if you’re interested?
@wogan I think I saw him do the same talk.
@searls Yeah that would track šŸ˜‚
@wogan @searls I think 'we' are people with above average adhd, add or autism aka nerds. We grew up with no to little internet or other distraction, so programming was all we had to get stimulus.
A big problem for younger generation with similar traits as 'us' is the unlimited distraction of games and social media.
Modern-day nerds play games or watch short videos all day instead of programming
#actuallyadhd

@searls

a generation of programmers who didn’t care about code quality the same way we did.

when was this era of code quality?
certainly not in my career.

code quality only comes up when someone else is reading it.

@JoYo the "we" in that sentence was referring to people in the software craftsmanship movement, and many of them were midwest-US based early adopters of agile practices like Extreme Programming and the Pragmatic Programmer

@searls šŸ‘šŸ‘ Very well-written and much food for thought.

Might I throw out another category: person who's only occasionally an enthusiast programmer and otherwise a lot of the time feeling either like an impostor or simply burned out and wanting literally any other career than programming. Asking for a friend…

@jaredwhite Wow, that description describes me perfectly. And I’m retired! Thought I’d still dabble in coding. Every time I start something I ask myself why the hell I’m doing this and eventually stop.
@jaredwhite lotta that going around lately. Friends paid out or aged out of the industry in the last few years definitely inspired this
@searls Appreciate this article very much — feel like it's given me new language to use when describing problems we're trying to solve on our teams. The framing here is really valuable. Thank you so much!
@searls not sure it all rings completely true to me. Perhaps there’s a geographical/company bias too? In ā€˜98 in Limerick Ireland, working on financial data systems, and early-2000 in Ericsson Dublin, the people I worked with were day-job programmers. It wasn’t a hobby, it wasn’t their passion, and they didn’t touch computers after 5pm. Same true in IBM from around 2005—mostly all GenX-ers

@searls in fact, I think there are more millennials treating programming like a hobby/passion than I can ever recall encountering in my career. Open source and the web gave many more opportunities than were taken away imo

But perhaps the disadvantage of being an old programmer is forgetting the old days

@searls
> it’s not altogether unreasonable to speculate that enthusiast programmers may, in aggregate, outperform professional programmers who hang up their keyboard at the end of each shift.

This is one of the uncomfortable truths. You don’t have to be an enthusiast programmer to work in this industry (šŸ‘ˆ let’s stress that!) but you are often competing (hiring, performance reviews, promotions) with those who are—and you’ll lose

@jamie you *may* lose. Plenty of brilliant people are assholes and I think the industry is (too slowly) getting better at detecting them and pricing that into evaluations
@searls yes šŸ‘ and perhaps that enthusiast programmer gets burnt out quickly/regularly, doesn’t play well with others, is constantly distracted by shiny new things etc.

@searls I find myself in a weird in-between place. Born in 86, programmed in qbasic growing up in the 90s (in Russian lower-middle-class). An early millenial.

Things I hate: imposed structure, being managed too much.

Things I love: debating, discussing, and generally practicing communication around programming.

I can't find old gen friends to talk to, because they aren't comfortable communicating for fun. I can't find new gen people because they don't think programming is a fun topic. 😬

@searls So you wrote an article about me . . . and related brethren who after 30+ years of doing this are still doing this, sensing our story is nearing some kind of end, and have the same experiences, observations, and thoughts. Thank you for this well-written piece that articulates so much internal dialog many of us have been having with ourselves.
@searls great piece!
Reminds me of a moment years ago that I didn’t hire a (just started to learn programming) person b/c ā€œhe was in it for the moneyā€ which I regret now b/c i’ve should have been a mentor rather than ā€œget off my lawnā€
@locoleon yes, I'm the rare bird that is both obsessed with programming, hate programming (and myself), and am solely in it for the money.
@searls I relate to so much here, although I’ve long since burned out.

@searls it’s been a long time since someone articulated the unarticulated for me like this. Feels like a therapy breakthrough!

Having tried to write about some of this stuff before (but not nearly as profoundly), I know how much care has to go into articulating these thoughts without judgment or condescension.

Thank you (and your rumination)