A programmer's loss of identity
79 points by jbauer
79 points by jbauer
I remember being so confused when I entered the work force and realised some people don't care about programming outside of work. What do you mean you don't read source code in your free time?
What took me longer to, grudgingly, accept is that there are people with almost no interest and curiosity for what they do during work hours.
It’s hard to talk about this because someone always seems lurking in the shadows with a gatekeeping accusation. But a large disengaged population within a group has very real effects on the group culture. And I think anti-intellectualism isn’t helped by this, if only because intellectualism seems like it requires actually doing something.
So, I don’t know. I think smaller, focused communities are the best path forward.
I learned this early on working in enterprise like 2 decades ago. Where there were people that just shut off at the end of the day, or were perfectly happy never leaving the comfy confines of like C# and .NET. Venturing outside of that out of curiosity just wasn't in their DNA. And that's honestly fine. I can't identify with it, but I also don't identify with people who like NASCAR. It takes all kinds!
I used to care, but then two different jobs burned me out because I cared. So yeah, now I'm a "clock in, do whatever, clock out" person.
Ask me anything, I guess.
That was culture shock for me in my first job after university. I was working in a large bank, and it was packed with "dark matter developers." So many people there were programming (only) for the same reason I swept parking lots and cleaned toilets in my first pre-university job. They didn't have a bad work ethic. They cared about doing a good job at what they were assigned to do. And many of them were quite decent at it! But so many of them did not see it as a creative endeavor, and I was flabbergasted.
They use mature products that are well-known, well-tested and well-understood. They aren't chasing the latest beta or pushing any limits, they are just producing.
Well... yeah. That's the job role.
Point is, 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.
I'm sorry, but the people yelling online are the programmer version of influencers. They aren't usually the ones contributing to GCC or building the new things, either.
Sorry! I don't think my comment was as clear as I wanted it to be. I wasn't intending to say anything negative about dark matter developers. At all. The ones I've worked with have been competent, cared about doing a good job, and worked hard from the time they clocked in to the time they clocked out, in aggregate. (Of course we've all known individuals who don't in any role you can imagine, but I wasn't even thinking about that.)
But because I had always viewed it as an act of creation, and had never thought about framing it differently, it was shocking to me that this large group of people (who I liked as colleagues and saw as smart and effective) viewed it the same way I saw sweeping the parking lot. A thing you did (well) to fill your bank account so you'd have the resources to do other things.
I wasn't making a value judgement so much as marveling at how such different headspaces caused us to do so many of the same things in the same place.
Gods, I feel this one in my bones.
Though, to be honest, a large part of that social identity, for me, vaporized a decade ago. A lot of what I was doing no longer felt like "programming a computer", and I had the dawning realization that quite a lot of the people who I shared that identity with were, frankly, monumental assholes, many of them happy to carry water for the oligarchs. That "oh my god, another programmer - am I going to be forced to listen to a weird speech about eugenics now?".
Unlike OP, I'm having a much harder time adjusting - I feel like all those other things (art and books and music) are being destroyed as well. And, well, "programmer" was quite central to me. After the pandemic destroyed most of my social life, I'm... basically just sitting around trying to find something to throw myself at that isn't being taken over by loud AI salesmen.
I think you can still code by hand and do cool things for yourself as well! People still blow glass, forge, paint, knit,... Even though a machine can do it faster and better. You're allowed to do things for the sake of it.
Not mentioned in the piece is the social standing. Being a computer scientist, an engineer is often seen as being the smart person in the room and we often used programming as proxy for intelligence. LLMs being able to code devaluates our standing, which is another part of our identity. I still believe I'll be able to make a living by fixing systems and talking to machines but in what ways, I do not know.
I don't care very much about that, to be honest. This is why I've always preferred "programmer" to "software engineer" (a title I don't hold) or "computer scientist" (a title I do hold). Perhaps some of this is cultural - I grew up in a culture where talking yourself up is basically considered a mortal sin.
To me, it just all feels pointless now. I was doing this long before it was my job, in fact long before I knew it could be a job - or even what jobs were. My mother taught me to code when I was a tiny kid, and it simply fit so well with my brain that I've been doing it ever since, to the exclusion of most of the things culturally considered The Good Life. And I never cared - because I had programming. I survived a year and a half of near-total isolation when the pandemic hit largely by coding my way through it. When I've had bad work-related stress I've sometimes found myself fantasizing about becoming a store clerk or something else low-responsibility (and also low-pay) and just hack on open source projects in my free time. I fortunately have modest material needs.
Now it feels like programming has become pointless - and, well, that's where the identity crisis kicks in. Because now I feel like I am pointless, and that I've wasted my entire life.
It sounds like you are in a tough place, I don't think you are pointless nor that all the time spent doing something you enjoy and bringing self-actualization, is wasted.
Seconding @natfu a lot of us are in a tough place, thinking about our places in the world. But also think about the things that made you a strong programmer, it's not just the ability to code around a problem, it's the skill and ability you built in understanding, decomposing and interpreting a problem, and having a strong intuition and capability in that goes a long way in a lot of domains both creative and non-creative. I do hold an Engineer title, and the thing my team does on a day to day basis is solve problems, getting to write code is great, but a lot of the challenge and the learning is in the getting to the part where you can express it in code. Maybe you need to find new ways to use and build those same skills but with a different output? Not to replace programming, but to broaden where you can apply those hard-earned skills and patterns of thinking.
Where I live, "software engineer" and "computer scientist" are distinct educational backgrounds and titles, though we often end up working the same jobs. And, well, that's another reason I've always just preferred "programmer".
Most of what I do at work also isn't just typing code into a computer (and I would also say that the activity I consider "programming" is much more about thinking than it is about typing code into a computer). I had a chat with my manager a while ago about mentoring an intern, and we both figured that that job - taking a well-defined problem and translating it into a programming language - really hasn't existed here for at least 20 years. So, well, we don't even have interns work like that.
I've tried pixel art, pencil-and-paper drawing, bonsai tending, short fiction writing, leatherworking, playing bass, playing modular synth, building modular synth components and reading up on various old obsessions of mine (ancient history, evolutionary biology, animal cognition and communication, among others) - and the only thing where I don't have that nasty aftertaste of "the AI industry is going to destroy this too" is bonsai tending. (Though I invariably end up thinking that I won't have anywhere to put my bonsai when I can no longer afford housing.)
It's not the same. Nothing of it expands quite to the role "programmer" had - and, more to the point, I have never experienced any other activity that, like programming, could keep enough of my brain firing at once that there wasn't some stupid hindbrain process that spun out into a deeply destructive loop.
I'm not gonna serve you platitudes bud, I get it, you're in a dark spot, but just remember you're not alone in there. A lot of us are in that zone to varying degrees, and we're all casting around to figure out what we do about it. And it's hard, but frankly, a lot of us are still employed, working, and carry on with our lives. I'm sitting here doing some writing, and exploring what makes writing "good". Maybe decoupling what we do for a living from what we do for enjoyment isn't so bad a thing? As human beings we're fully capable of making meaning ourselves or re-defining what meaningful is.
It took me a long time to realize that software engineering / programming / coding, whatever you want to call it, had meaning to me. And even if my job doing it changes or becomes redundant, i'll find other work somewhere, but it's unlikely i'll stop writing code, or exploring different domains of technology and challenging myself to understand how things work... but I also love researching in general, and I like working motorcycles, and I like reading. We're all catastroph-izing a bit too much I think, yes things are going to change, and no we don't have to accept it wholeheartedly, but also change sometimes means new dynamism on the horizon and there's a chance some new thing will scratch the itch you have.
In the meantime though, if you can, and if there are resources available in your area, country, municipality, reach out to someone like a councilor or therapy service, or if your employer provides a mental health support line or service as part of your employment package. Just talk to someone and explain where you're at, with your actual voice. Not just in a forum, by text, or chat. Go out, sit down, and talk with either a professional or a good friend. You won't find all the answers, but unburdening a bit with someone in person will make the weight of it all feel a little less heavy.
Thanks, but I've already been seeing a therapist regularly for a bit over three years by now - and yes, I am taking medication for depression. I will be seeing a friend in just under a month, too.
I don't really think "meaning" is a thing that exists intrinsically in anything whatsoever; it is always something humans create. And, well ... I seem to now be unable to create any.
(When my job becomes redundant, I frankly have no idea what to do, but that's separate from this "identity crisis" topic. Ain't many things anyone needs someone like me for in a world with AI.)
I'm finding that I'm gravitating towards people who don't use LLMs for their daily work, such as Devine Lu Linvega, Jonathan Blow and Casey Muratori. I may not agree with all they say, and I'm certainly not into games programming or extreme programming minimalism, but I can appreciate their work and their avoidance of LLMs.
It's not just programming. For the past few years, I was surrounded by more and more people who actively denigrate intellectual curiosity and expertise. I guess those people always exists, but now they weilds more and more influence, and sometimes have authrity to force me doing things
We must assert sovereignty or these types of people will continue to take. I’m still working out what that looks like for myself.
But I do think a split within the tech community is long overdue. I’m tired of pretending all types of devs should mingle in the same spots. That’s what partially led to the current situation and the alienation we feel. I don’t even care what type of dev you are, only that you’re actively curious and engaging the community and culture.
I have mostly avoided this topic until now, because in a way I felt ashamed. I am someone that resonates very much with what you are saying and not with the techbro persona. Programming has always been my hobby and it has always been for my own gratification. None of the things I built were things I was interested in selling or that I even expected anyone to care for beyond a couple of friends. Weird programmable videogames, common lisp exploratory programming code-as-database environments for collaborative exploration and many other random ideas I had. I don't think anyone can say that these are tech-bro projects, I want to set that stage before I go on to talk about my relationship with LLMs as tools of thought and of tools of action.
However I have to say I love working with LLMs. Maybe it's because of how my brain is wired, I tend to have lots of ideas and it's very chaotic, and it's also very easy for me to lose a thread or lose interest in something to gain it somewhere else. It's also very hard for me to get back into a project once that has happened. I lose context to cold storage in hours/days, unlike most people I know.
For me LLMs have been a tool to deal with how my brain works. Sometimes if I don't have someone to talk to I get stuck in loops and analysis paralysis. With LLMs even just by explaining the problem, and then they respond back. Just that action already activates and unlocks me. Not because they solve the problem for me, although they can give me new avenues to explore. But because for some reason I'm better at saying "what you told me is wrong, and now I see that this other path is better", than arrive at the same thing all by myself. And the LLM provides an endless opportunity for me to do that. Most of the time what it gives me is not what the solution is or what I go with, sometimes it's not even in the same avenue. But reading it from "someone" else allows me to say, "this is not it". It unlocks my brain. It unlocks my train of thought. It unlocks the locks on how my brain works.
Also, sometimes a project requires a setup, or parts of the project that are boilerplate, or parts that are required but annoying/boring. And my brain does not deal with boredom for long. If I have to do 2-3 days of annoying work to get to the interesting stage, my brain will just give up. LLMs have helped tremendously here at getting parts of the system out of the way so I could explore new things and learn new things and get something to poke at, modify, test, understand.
But I felt ashamed, because I couldn't reconcile why I was enjoying working with LLMs vs what I always considered "true programming". I felt ashamed to share it here, I felt ashamed to share it in Mastodon. Even though it was working for me to do the same kind of things I was doing before. Only better, faster, with a very tight feedback loop.
And you may say, oh but you are offloading thought and just creating slop. I don't see it like that.
For me, currently working with LLMs is an incredible environment for creativity at whatever abstraction level you want. You want to tackle how the interactivity of something will look like to understand what works best? You can test it, try new ideas, modify this modify that in minutes. This is an incredible power of exploration. I can be testing three of my ideas at the same time at the abstraction level I care about. Sometimes you are exploring a problem domain, and you care about the problem domain, not about the minutiae and specifics of that programming language. Sometimes you require more delicate understanding of the underlying systems. That's fine as well.
For me at the moment, it is the best environment I've ever had for something I wrote about some years ago: Exploratory Programming. At that time for me Common Lisp was the best environment I had ever worked with. You could very quickly build up a way to explore the problem. I can explore ideas and concepts zooming in and out of the abstraction layers as necessary.
For me Common Lisp was (is) great for this not because I wrote everything myself, but because it allowed me a very very tight feedback loop between idea <> manifestation <> learning. For me LLMs are that as well.
I'm having a hard time resolving all of this in my head, because I agree that LLMs are a threat. I have no idea what society will look like in 10 years. This may be the single most destructive invention, at least in the immediate future before the dust settles, that we've ever made. But at the same time I see the raw power in what can be achieved with them and it excites me, and it turns the few hours of free time I have between work and the kiddo to iterate, learn, test and share things I couldn't do before.
"Being good at computers" used to be a thing you fell into. Maybe for (anti-)social reasons, love for puzzles, Dad was already nerd, you were one of the few households with a PC or as a way to channel neurodiversity. You just "happened" to be good at computers and found that other people who were also good at were "just like you". You could bond over being nerdy (cf. internet humor).
Now that everyone has a computer, that common ground is lost. Everyone who is interested in STEM and wants a good salary has chosen programming as their career. The common ground, the interest in great puzzles is lost.
(Maybe also a sign of aging? I have kids. I just get less puzzling time, so maybe I'm also just too old to fit with the young folks :-))
I’ll say the really awful part now: For the first time in my life, I’m suddenly wary of meeting other "computer programmers" in the wild. I feel like there’s a decent chance we won’t actually have much in common, let alone values or morality.
The scary thing is for the most part, the other people didn't change: people have been this way the whole time! The only change is that the author learned new stuff about them.
I've been experiencing the retreat into my other identities, much like the author. Programming and thinking about programming is more and more an on-the-clock thing. I'm focusing more on reading, writing prose, occultism and calligraphy, all of which fit nicely together and have a solidly physical component.
I've tried taking up everything from pixel art to pen-and-paper drawing to playing music to reading more books to writing more short fiction - and, well, everything I actually like doing is fast being rendered meaningless by AI.
Try gardening, maybe? Or metalworking. Learning how to mill and lathe things out of chunks of solid metal gave me a new appreciation for building things, and learning how to weld gave me new appreciation for how mutable incredibly-solid-seeming things are.
And they can't be ruined by automation because, well, they already have been, long before we were born. And they're still both useful and pretty great.
Gardening is a bit hard when you live in the middle of a city. I do have a little collection of indoor bonsai I tend, though.
I actually have tried metalworking! I made my own computer case a few years ago: All the metal parts were made on an old manual milling machine. (Though the plastic parts were laser cut).
I've started learning to draw in the last year or so, and it's kind of funny. Like, can AI do everything I do in software development? Of course not. I don't think it's likely to either.
But like I haven't drawn since I was 10 or so, and I wasn't even good at it then by the standards of 10 year olds. So unlike development, AI is clearly currently a better artist than I currently am, and has been since it progressed beyond fractal cat nightmares. Now if you say that around artists, you will get a "but it's expressing yourself and so it's automatically better", and while there is level of truth to it when evaluating it as a hobby, at an extreme example there is clearly a level where AI generated faux-ghibli images are nicer than plain stick figures. But that sort of takes the stress of AI off of that. It's like anyone that has learned to play chess this century. It's just not the benchmark I'm judging my art by.
There's also the fact that as these things are hobbies, there's no economic pressure to use AI. Like with AI in development, between what AI actually can do (let's say 50% of the programming work, which itself is like 40% of my job), and what employers think AI is imminently going to be able to do (send vague product ideas in its direction and get reliable software), it's clear that at the very least the future of my career is going to involve delegating stuff that would have been interesting work to AI in favour of parts of work (e.g. stakeholder management) I enjoy less. But if there's even 20% more output per developer to adopting it, then businesses are going to want it adopted.
But with other activities, like, if I'm not getting the maximum pieces of art output per unit time that I could with AI assistance, then, so what? The goal of a hobby is not to maximise economic output.
Very relatable. We care about the craft, but many see it only as a means to an end. Which is fair, I suppose, but seeing less and less people care about the craft and care more about "what slop i can make today" is tiring and alienating.
This resonates with me. Programming was a second career for me, and I loved being able to dig deep into how things work and elegantly solve people's problems. Fundamentally understanding how things work was central to the enjoyment, and I understand best by sifting through, coding against, and experiencing in a try-and-fail loop. I don't get the same depth of understanding or enjoyment out of AI-driven development. Deep, iterative exploration of a problem is not going to go away, of course, but people will probably eventually stop paying me to do it the way I want to do it.
I am getting a bit tired of the chorus mourning the loss of the job and identity of a programmer due to LLMs.
So far, I have seen LLMs being used successfully only by people who already know how to do the task by hand. Using them without that background results in underperforming, low quality, unmaintainable mess.
These tools make our life easier (sometimes), sure. But the fundamental skills of programming are still required. Please hold on to your identity as a programmer! It going to be more valuable than ever as people find out the difference all over again between software that looks ok but lets you down when you try it versus what continues to deliver real value when put to the test.
What's a good analogy, assuming coding models continue to progress? That we're painters in a world with readily available cameras? Are the future jobs mostly going to be about a) composing the big picture and b) touching up blemishes? Will there be "starving programmers" who just enjoy the craft?
Except software needn't be static and can evolve over time. In my head, this meant that having someone actually gain a nuanced understanding of the problem space (probably via thinking about the problem and trying different solutions) is still economically valuable (when the software needs updates). But what if, instead, the preferred approach is just to throw the old thing out and generate a new one that conforms to the updated requirements?
So many questions...
assuming coding models continue to progress
They don't really have to continue to progress; people just have to act as if they do. Given the gap even today between what they are capable of and what people say they are capable of, I don't see this part of the equation changing.
The better question I think is "assuming they continue to be offered at far below their operational cost" which is, uh, well, not a very good assumption.
Good point, thanks. For the record, I was contemplating the theoretical possibility that LLMs live up to the hype. I’m skeptical for many reasons (yours wasn’t on my mind but is another good one), but I’m wondering what that future would look like. (I clarify this in case anyone else stumbles across my original post.)
A particularly charming fellow I used to work with liked to say that we're horses in a world that now has internal combustion engines.
I don't really think the painter analogy holds up, because while photography dramatically reduced the value of realist portrait and landscape paintings, there are many things painters can do that photography cannot. Impressionist art. Cubism. Surrealism. Realist depictions of things that don't actually exist. If coding models continue to progress, then they will eventually be able to do anything on a computer that we can.
Great piece. Agree 100%. This is why I love fly fishing and hand tool woodworking way more than I ever loved computing. It's sad, but it's helped my mental health a great deal.
It's not just the tech. The US, and due to its hegemonic position, the entire world is sick. In the 70s Bell was broken up by the government. Now we've got Bezos bribing the president with a feature film about his wife, and Musk having the power to lay people off from federal agencies.
I've clicked on the prequel post linked, and by the time I've read it through, kinda forgot that it wasn't the one this thread is about.
I have a draft post communicating mostly what you say too but I have a much harder time deciding/understanding what that means to me and how to handle it
If the problem is that we’ve painted our development environments into a corner that requires tons of boilerplate, then that is the problem. We should have been chopping the cruft away and replacing it with deterministic abstractions like we’ve always done.
this is one of my main issues too! honestly if the AI could help with ways to reduce boilerplate rather than generating more of it I would be all for it
This isn't directly related, but the linked article, “The Problem is Epistemic. The Solution is Not.” has a portion that reads:
Why did a majority of Americans vote for the would-be dictator who promoted this lie three years later? At least in part, again, because many of them believed obviously false things: e.g., […] some believed Trump would end the Gaza war, […]
I can't speak for the data, but that link is not quite enough (from a cursory look) to support the claim that a majority of Americans voted for Trump because they believed he would end the Gaza war.
The headline reads, “New Poll Shows Gaza Was A Top Issue For Biden 2020 Voters Who Cast A Ballot For Someone Besides Harris”, and probably the most suggestive line is:
Across the six battleground states that flipped from Biden to Trump, 20% of these voters said “ending Israel’s violence in Gaza” was their top issue in deciding not to vote for Harris, the second-most cited reason behind only the economy (33%).
I'm not gonna say the following generalises, but it could be the case that it generalises.
Among many of the Muslims I followed online, there was a big push to punish the Democrats for aiding and abetting the genocide. And no, they were not under a delusion that Trump was necessarily going to be better for Muslims than Biden.
There were a few factors driving the decision beyond a belief that it would end the genocide within one election cycle.
It was clear that Biden was ideologically committed to the Zionist cause and had been from a young age, whereas for Trump, the issue was more transactional and so there was more of a chance of pressuring him than with Biden.
Once it gets to the point of blatant genocide, things can't really get much worse, and you might as well throw your chips in with the transactional psychopath than the ideologically opposed one.
The Democrats had become lazy about courting the Muslim bloc. Even if Trump ends up being worse, Democrats losing the election due to genocide sends a clear message that the Muslim vote can change (not that it hasn't before).
It had become clear that always voting for the lesser evil simply leads in the long term to the evils getting worse and worse due to an obvious lack of leverage.
When you really get down to brass tacks, Trump hadn't yet aided a genocide. Once the ‘lesser of two evils’ has actually committed the genocide and the greater hasn't, it seems silly to think voting for the lesser will improve the chances of stopping the genocide.
Especially considering what I already mentioned about the so-called lesser evil being ideologically committed to the cause; the guy lied about having seen footage of beheaded babies (his own administration said so, but the atrocity propaganda was already pretty common knowledge by then).
There were other considerations too, but those were (some of?) the utilitarian ones. And trust me, the Democrats were not helping their case in the lead up to the election; they screamed their contempt for Muslims.
Clearly, everything Democrat-voting Muslims had done hadn't prevented a genocide, which is pretty much the biggest refutation of the prior political strategy of Muslims in America.
Finally, I'm pretty sure Trump mostly won due to a lack of turnout for Biden rather than votes for Trump himself, at least for the wider population (and I suspect the same for the Muslim bloc, though I know Muslims voted for Trump over this issue for the reasons above); even for those that wanted to punish genocide, many only went as far as abstaining from voting.
(I know the poll sample was those who had cast a ballot for someone other than Biden, but I still thought that was worth mentioning.)
learning the underlying truths about computation and applying what I’ve learned
I don't see how this changes at all. Typing code is just the most superficial visible part of this.
For the first half of this article I thought this was going to be about the nutbags on the orange site, but actually it’s a requiem for programming in the age of LLMs.
So I think it should have vibecoding tag?
I feel like, collectively, as a community of practice, and in terms of the FLOSS/OSS community in general, and contributors to those domains that make up a good portion of lobste.rs for instance. We all need to have a bit of a moment of reckoning in that we have collectively underpinned big commercial, executive-MBA-driven organisations for decades. We've propped them up either as maintainers of OSS tools, frameworks, libraries, or as workers utilizing those things to ultimately push theirs or a few peoples commercial gain. And we're all a bit shocked that they've come back and are now trying to eat our lunch.
The number of programmers, software engineers, QA, designers, web developers, coders, hackers in the world has grown exponentially. We far outnumber commercial companies and management and executive levels across the globe.
They've given us all a new shiny hammer in the form of AI. But we're collectively reeling because we've poured time, and effort into a domain we all hold pretty dear. But, it's a hammer designed to increase speed, to replace us. Ok, so why aren't we using that self-same hammer to build the things that were prohibitively hard to build before? We've got small indie-size shops building world-class video games. Why aren't we building world-class platforms, rooted in OSS? Yes money is a thing, but the way big platforms make money isn't through the product alone, it's through consulting, hosting, and tertiary services.
Instead of building another ToDo app, or note-taking tool, or yet another socket library or something else. Why aren't we building the next Sharepoint? Or the next Salesforce? Or the next Oracle? Or Teams? Or Google Search? The European market is going to start crying for replacements for US-owned software systems, Canada and Mexico are going to want to extricate themselves from US-dependence more and more. Who do you think is going to produce a better product? A seasoned engineer at the helm of an AI coding agent? Or someone with limited technical expertise and understanding?
We have access to the tools, because frankly, we all built them. Why don't we just take the next logical step and start eating their lunch?
Love the spirit of this. If AI is as good as they claim, then all office work is commoditizable. And business skills aren’t something only special people can learn, either.
It’s the start of our own incredible journey :D