> Which is to say that the pleasure I get from programming is mostly about learning the underlying truths about computation and applying what I’ve learned. Always improving the craft. This, to me, is the practice of programming.<p>I guess when you get to a certain age (I'm 45) I stop caring whether something like this has social value. I enjoy it anyways.<p>Wanting to know how things work always brings me back. I don't care if an AI coded small or big parts of it, I still want to know how it works, how to make it better - what's holding the AI itself back from being a more effective programmer.<p>I feel like I got into programming when it was seen as low-status profession in the late 80s. And it went through levels of hype and collapse. Maybe this is the ultimate collapse. But I still want to take apart the watch to see how it ticks.<p>If society collapses because 80% of white collar jobs disappear, I guess I'll just be in my basement wanting to know how a linux kernel driver works.
> If society collapses because 80% of white collar jobs disappear, I guess I'll just be in my basement wanting to know how a linux kernel driver works.<p>I'll probably do the same (actually doing this), camping in the woods or something, using a camper van.
It kind of depends on where in the globe one is, many countries see programmers as a white collar job that happens to be better paid than a plain secretary, a mere transition phase into management, that is the success story for most families, the programmer turned boss.<p>So those of us that fight against becoming managers, it was for love of programming and the related technical details, as it usually comes with a payment and career ceiling.<p>And being unemployed beyond 50 years old in many countries that see being a programmer as yet another office job, means too old for employment, and too young for retirement.
>
So those of us that fight against becoming managers, it was for love of programming and the related technical details, as it usually comes with a payment and career ceiling.<p>I think quite a lot of these programmers don't <i>fight against</i> becoming a manager, but it's rather that they don't have traits (character traits, demeanour, low on dark triad traits (it is known that the selection process and work reality for managers actively selects for these), ...) that are necessary to get "selected" to become a manager.
Maybe they choose not to exude those traits by choice (when a leader slot opens up), and can use them when they are circumstantially relevant. I have gone full founder, and I’m not happy with who I was. It’s an IC’s life for me.<p>The only thing is, we’re all managers now. We’ve been given a fleet of robots to support a set of outcomes. We have to set expectations, monitor outputs, coach, intervene, step back, onboard new team members, train regularly, make sure they have the tools they need, etc and so on. Are those “soft skills” or just engineering? I’m curious if and how people are lacking in these areas when it’s just text.
In many career paths, after senior developer there are only management roles.<p>Doesn't matter what traits they have, the only way up, to get that raise, additional benefits, or not being thrown into some improvement program is to accept becoming a manager in one of its various forms, or go elsewhere where hopefully there is a more sane career path.
>
Doesn't matter what traits they have, the only way up, to get that raise, additional benefits, or not being thrown into some improvement program is to accept becoming a manager in one of its various forms<p>You did not get my point: it is <i>not</i> about non-acceptance of becoming a manager, but rather about having traits that commonly imply that "those in power" won't select you for becoming a manager.
You are the one not getting it, there are companies where those in power only offer two pills, the red one allows to remain a company employee, the blue one means out willing or not.<p>People aren't selected, they are dragged into their Peter principle role.
> I feel like I got into programming when it was seen as low-status profession in the late 80s.<p>No, you didn't! If you are 45, then you were 5-10 years old in the late 80s. You might have started playing around with programming at that time, but you didn't "get into" it in any professional sense. I am willing to bet anything that you had no knowledge, let alone concept, of the professional status of programming at that time.
I lost my job as a programmer and I think it's over for me.
No, you will not hack the device drivers in the basement but you're gonna be flipping burgers and out of cash or energy for anything else. Worst thing: you never gonna even be good at flipping burgers without experience or young age...
Once you are out of the field, and your money is gone: suddenly you are useless, old trash. No one even wants to employ ex programmers as they simply don't fit into any other workfield...<p>/rant
This is probably true, TBH. I can't think of any work that I can do whence I lose my job. Trade, Uber...those are not for me. I'm not competitive enough with people who bagged so many years of experience. At best I'd be at the lowest echelon and might as well just collect benefit from the government.<p>I really have no idea what I'm going to do, but I can probably still sit in the basement hacking kernels when I'm done with my whatever day job.
Flipping burgers really isn't that difficult. It was my first job, and I even have nostalgia for it at times.<p>If I had to go do that again, the main problem would for me would be that I don't think I could stand in one place for that long anymore, my thigh and lower back start stinging and want me to sit down (at least they do when I cook at home).<p>I interacted with way more people at a fast food restaurant than I do now, and got to interact with customers as well. Which wasn't always positive, but it was at least interesting to see all the various people that came in.<p>Also it was a lot more laid back and less serious than what I do now (which is work on web apps for large corporations).<p>Also at least I knew what I worked on was going to get used. I've been on too many projects that end up getting cancelled, or only used by a small handful of (high paying) clients, etc. Or specific features that end up getting cancelled or delayed indefinitely, etc.<p>Too bad it pays so little, or I'd actually consider it for a change of pace (well, more likely I'd want to try being a barista instead, that seems more enjoyable and a lot less walking on greasy floors).
> you never gonna even be good at flipping burgers<p>i promise you this is not true<p>understand the chemistry of fats an denaturing of proteins, understand myoglobin; it is not much different than understanding anything.<p>nothing stops you from trying to make the best burgers in the world<p>be curious, ignorant and kind
If I lose my job and fail to get another one in reasonable time, I guess I'll try my own business, if that also fails it might be the rope then.<p>At least I am not tied by family so I can be relatively mobile, I moved to Singapore from my European country since the market was not great and I managed to get hired here.<p>Anyway in my current company the bottlenecks are completely different than AI so it will take a fair amount of time to even apply AI properly to development here.
If you believe that, it could be true.<p>On the other hand there are lots of companies hiring still, so you could also keep working as a software engineer, if that's what you're good at.<p>The job has changed a lot though, it's not about writing code by hand anymore.
Who's gonna be able to afford burgers?
Go Costco! Costco is now my official restaurant whenever the family wants a bit of treat.
Burgers are cheap! You can easily find a place that has something meat-adjacent with too much bun and certified cheesonium topping for less than $30. Don't just try it once, start a layaway plan now so you can enjoy that three times a year!
I love this take, i feel similarly. LLMs can never rob me of my personal enjoyment of computing.<p>Sure they might make my work life hell, but i've always considering my programming hobby to be completely separate from work.
> when it was seen as low-status profession in the late 80s.<p>I don't remember this <i>at all</i>. I became a professional programmer in 1987, but perhaps it was the fact that I went directly to Unix, did not pass go, did not collect $200 and worked entirely on systems programming that helped skip any of the "low-status" of people doing RDBMS/forms work ?
Low status is underselling it, but it certainly wasn't seen as an alternate path for those those considering medical/law/finance.<p>I started my CS degree in '94, and my junior year was... weird. Suddenly a quarter of the faces in the lab were not the types you would ever expect to see there.
It’s always been a low-status profession, the pay is just better now
This.<p>If you enjoy it for the sake of it, do more of it. You don’t need society with you.<p>If, however, your job is to build value for a user, then you or the man or the system are to naturally optimize for what’s productive to that end. Arguing about generics doesn’t create any/enough value. It doesn’t build a product.<p>These are two different sides of the profession and serve different ends.
What resonates the most with me in the article is this quote<p>> I was so naïve that I thought progress could only go one direction, because that’s all I’d ever known.<p>As kids growing up in Eastern Europe in the 80s and 90s the world felt like its getting better every year. More peace, fewer borders, more opportunities, better technology.<p>Everything was getting better every year and we took it for granted that this is a law of nature.
I love programming, but the idea of hanging out with and chatting with other programmers as a regular part of my social life leaves me cold. I'm happy to be a part of online conversations about code and hardware and design, but away from the computer ... not really. I'd rather be talking about food, or hiking or travelling or culture or relationships. There have been very few people I've ever met in person that I really enjoyed "being a programmer with", and none of them live within 1000 miles of me. And that's all just fine.
Why are they mutually exclusive? Can't you hang out with and chat with other programmers ... about food, hiking, travelling, culture, or relationships? In the same way that lawyers don't have to talk about law, and doctors don't have to talk about medicine when they hang out. When I think about my friendships, it's rare that we ever spend any significant amount of time talking about our work.
I think this is part of why programming as a job never appealed to me (and I never became one). I'd like to do something that is worth doing in the sense that it's worth discussing in your "free" time too. And most programmers feel like the show Severance (yeah I know it's the other way round).<p>To contrast, I have some philosopher friends and they discuss about food (they, unlike me, love cooking shows), travelling, but also philosophy. There is never any feeling of "this is work, we don't talk about this". It's very refereshing. And I imagine writers talk a bit about writing too.
> I'd like to do something that is worth doing in the sense that it's worth discussing in your "free" time too. And most programmers feel like the show Severance (yeah I know it's the other way round).<p>This does not fit my experience. It's rather that many passionate programmers are rather eager to talk about what they do at work (at least if they are allowed to), but the common situation is that what they do at work is barely interesting to people who are not at least somewhat interested in programming topics.
There are some people that gravitate towards making friends at work and spending their non work lives with them and there are those that prefer the opposite.<p>I am friendly with my coworkers and might occasionally spend time with them outside of work, but, for the most part, all my closest friendships are not from work and not in the same profession (outside of the few I picked up in school).
Same. I see programming as a way to accomplish some sort of task. When artists hang out, do they spend their time talking about brush strokes or editing techniques? From my experience not really, they talk about the higher up stuff. Themes or storytelling or influences are what they usually talk about. I want to operate on the higher plane.
I've got a friend who I got along with a lot because we talked about programming and other cool hobby stuff. Now as I get older, I'm more interested in talking about non computer stuff but he seems to not respond to that as well.
I’m wary about the exuberance of AI displacing quality.<p>But some of the worst experiences I’ve had with coworkers were with those who made programming part of their identity. Every technical disagreement on a PR became a threat to identity or principles, and ceased being about making the right decision in that moment. Identity means: there’s us, and them, and they don’t get it.<p>‘Programmer’ is much better off as a description of one who does an activity. Not an identity.
In the last few decades, we went from a small handful of programming languages / libraries to a massive cambrian explosion from Github-fueled open source. Everyone's choice of Javascript framework became a dumb pissing contest and source of identity. A cudgel used at meetings to look down on some other way of doing things.<p>I hope AI liberates us from that dumb facade of pretend innovation. In some ways, us programmers got way too full of ourselves and filled our lives with pretend work porting apps from one thing to the next thing with no actual change in end-user value
100%. A lot of these AI anxiety driven odes to the loss of craft have me wondering whether anyone cares about the value being provided to the user (or the business), which is the part that is actually your job.<p>Elegant, well-written and technically sound projects will continue to exist, but I’ve seen too many “well crafted” implementations of such technically vexing features as “fetching data and returning it” that were so overengineered that it should have been considered theft of company money.
I think AI is going to make this even worse, because now every person and their mom think that they can create a prompt carefully enough so as to create a new library with their own philosophy.
“Identity” is an overloaded word.<p>It can mean a category flag someone waves, an identifier we ask others to respect, a group we choose to belong to, a way of understanding what it is we like about ourselves, or something we quietly aspire to.
Or literally a part of the self, which is what the OP was getting at I think. And there is plenty of that in the software world. "I'm a Rubyist", "I'm a Pythonista", "A rustacean" and so on. There is plenty of identity ridiculousness. I've been a C <i>programmer</i> but I've also been a basic programmer an assembly language programmer, a PHP programmer, a FORTH programmer and a whole list of others. To me that collapses to "I'm a programmer" (even if the sage advice on HN by the gurus is to never call yourself a programmer I'm more than happy to do so). It defines what I do, not what or who I am, and it only defines a very small part of what I do. That's one reason why I can't stand the us-vs-them mentality that some programming languages seem to install in their practitioners.
> "I'm a Rubyist", "I'm a Pythonista", "A rustacean"<p>it suddenly struck me that there has never, AFAIK, a single-word noun for a C++ programmer. not sure what, if anything, this implies.
I think it’s because C++ programmers tend to define themselves by the domain they work in. Game developer, embedded systems engineer, firmware developer, etc.
I feel like it implies "it's harder to make a word out of 'C++' than it is for things that already naturally evolved as words people say like 'Ruby', 'Python', or 'Rust'".
A Seymour
I'm a Swiftie! Oh wait... oh no...
“I’m a null pointer exception debugger.”
Or just enjoy doing very much.<p>To clarify/nuance. Even if there was no economic nor social incentive for me to program; I'd still tinker with it, AI coding agent enhanced or not.
I agree with your comment. While reading the article, I had sympathy for the author, but also unintendedly pictured them as a mix of all of the "wizard" seniors I have worked with over the years. These are the type of people who when pair programming, constantly point out what they perceive as problems with your development setup, IDE, keyboard-macro skills, lack of tiling layout, etc etc. Not to mention what they will suggest on your actual PRs.<p>At the end of the day, I like the mental model of programming, and I am somewhat uninterested in shaving every millimeter of friction off of every surface I touch on my computer. Does that make me a worse programmer? Maybe? I still delivered plenty of high quality code.
> constantly point out what they perceive as problems with...<p>Yeah, screw those people. I count myself as lucky that I've only worked with 1 person who was seriously CRITICAL of the way other's worked... beyond just code quality. However, I always enjoyed a good <i>discussion</i> about the various differences in how people worked, as long as they could accept there's no "right" way. That's what the article brought up for me, and I wonder how much that happens these days.<p>One of my fondest memories was sitting around with a few other devs after work, and one had started learning Go pretty soon after its public release... and he would show us some new, cool thing he was playing around with. Of course those kind of organic things stopped with remote work, and I wonder how much THAT has played into the loss of identity?
> At the end of the day, I like the mental model of programming, and I am somewhat uninterested in shaving every millimeter of friction off of every surface I touch on my computer. Does that make me a worse programmer? Maybe? I still delivered plenty of high quality code.<p>In every pursuit there are secretly 3 different communities. Those who love doing the thing, those who love tinkering with the gear, those who love talking about it.<p>HackerNews and the internet in general are dominated by people who like to nerd out about the gear of programming (IDEs, text editors, languages, agent setups, …) and the people who like to talk about programming. The people doing most of the work are off on the side too busy doing the thing to be noticed.
I'm on a similar arc to the OP, except that it looks like I started about rather earlier, in the late 70's. My job title is "software engineer"; but I long ago chose to regard myself as not so much an engineer but as a master craftsman, similar to a highly skilled cabinet maker (I'm talking high-end hand-built heirloom cabinetry, here, not a quick kitchen remodel). I take pride in every facet of my work, and like the OP try to be always learning new and better techniques.<p>By that metaphor, AI-controlled code-generation is more like large-scale automated manufacturing: the sort of thing that produces Ikea flat packs. I'm not knocking that; I own my share of Billy bookcases. But it's not what I do. It's not what I'm going to do in the future. There's a place for large-scale manufacturing and there's a place for hand-crafting, and this is even more true for software than it is for physical goods.<p>Final note: throughout my career I've know a few people with an outlook similar to mine. I'm always delighted to run into them, but they've never been common.
You can still be a programmer and identify with and participate in that group. AI hasn't eliminated programmers or programming, and it never will.<p>However, my best advice as someone with many distinct interests is to avoid tying any one of these external things to your identity. Not a Buddhist, but I think that's the correct approach.<p>He sort of comes to this conclusion in the final "So then, who am I?" section. The answer is you are many things and you are nothing. You can live deeply in many groups and circles without making your identity dependent on them.<p>If you're a programmer, what happens when programming isn't needed anymore?<p>If you're a runner, what happens if you get injured?<p>It's always been helpful personally to remind myself that<p>I am not a programmer. I am a person who programs.<p>I am not a runner. I am a person who runs.
I align to everything in this post except the below excerpt. I think it's important to be a lot of things and nothing at the same time and to tie fulfilment to internal metrics rather than externalities.<p>> AI hasn't eliminated programmers or programming, and it never will.<p>It might not fully eliminate them tomorrow, but this technology is being pitched as at least displacing a lot of them and probably putting downwards pressure on their wages, which is really just as harmful to the profession. AI as it's being pushed is a direct attack on white collar CS jobs. There will always be winners and losers, but this is a field that will change in many ways in the not so distant future because of this technology - and most current CS prospects will probably not be happy with the direction the overall field goes.<p>Even if you do not personally believe this, you should be concerned all the same because this is the narrative major CEOs are pushing and we know that they can remain crazy longer than we can remain solvent, so to speak.
As much as I enjoy AI, this does resonate with me. I would be much happier if ChatGPT weren’t invented and I spent my weekends reading programming books instead of vibe coding.<p>Unfortunately, I’m convinced this is where the industry is heading. my job pays me to solve problems efficiently, not to have opinions on idiomatic Java
What struck me most is the distinction between programming as an activity vs. programming as an identity.<p>I've been a programmer for 15+ years, now running engineering teams. The transition forced me to confront this exact identity crisis - am I still "a programmer" if I spend more time reviewing PRs, designing systems at the whiteboard, and coaching junior engineers than writing code?<p>What I've realized: the <i>craft</i> I fell in love with - understanding systems deeply, reasoning about tradeoffs, building elegant solutions - that doesn't require typing code. It's a way of thinking.<p>The social identity issue is real though. When I was actively coding, I had opinions on frameworks, war stories from production fires, and the satisfaction of shipped features. Now my "war stories" are about organizational design and hiring. Different tribe.<p>Maybe the healthier framing is: programming is something I do (and love), not something I am. That way, when the activity changes - whether due to AI, career evolution, or burnout - the core identity remains intact.<p>That said, I still sneak in side projects on weekends. The joy of making something work is irreplaceable.
> 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.<p>Maybe the social group the author is referring to has split up (forked)? For example, I wouldn't call anyone producing vibe coded AI stuff a "programmer". That noun will be reserved for the original group.
This piece is very sad and it resonates with me, especially after we talked about identity and definition of success. The loss of job (if any) is not as fatal as the loss of one’s social identity. Of course, there is always a way out, a way to see things in a positive light. But I believe right now it’s important to let it sink in, to realize what we have to shed on the way to tomorrow. Most (young) people don’t realize it yet.
> But then I think about the next generation who will be coming along and bringing with them, against all odds, a love for learning and creating. Because that is a human thing. I try to imagine a beginner somehow coming across one of my pages and maybe the way I worded the explanation is what finally makes the topic make sense. That’s good motivation.<p>I think this is a great take. Culture is not a monolith in space or time. Write for the rebels far away or the ones yet to come.
> 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. That’s what that Larry Wall quote about good programmers being lazy was about. It did not mean that we would be okay with pulling a damn slot machine lever a couple times to generate the boilerplate.<p>Curious: Now that AI programming is getting good, is anyone using AI to chop away at boilerplate and/or simplify it? For example, is anyone skipping the ORM and just having AI write SQL and build objects from a datareader?
I have rejected a proposal of introducing a mapping library, LLMs can do mapping code very very easily with almost no downsides<p>ORMs would be my next battle, but SQL injection could become an issue if not treated carefully, so I would still consider libraries like SQLDelight or other SQL first libraries
Being a grown up man with a family and a kid, I gradually care less and less about my economical "social identity". It is not exciting at all. I bring bread to the table for the family. I am among the backbone of the society i.e. people who pays the largest amount of tax proportional to their income, while receiving very little benefit from the government.<p>Why do I even want this identity? I have to wear this hat simply because we living in a modern feudal world.<p>Now come back to the "social identity" defined in the article -- "computer programmers". I do care about this identity, but as all identities, like tags, you gotta beautify it a bit -- you have to attach some meaning to it. Without the personal meaning, you handle the power of definition to other people, who naturally don't care about you.<p>The tag I created for myself is "Kernel Programmer", initials in capital letters. My motto is "There are programmers, and there are system programmers, and ultimately there are kernel programmers" and I want to put it on my table in print. Don't get me wrong though, my work has nothing to do with kernel programming. It is not system programming either. It is even more abstract (and boring) than your usual FE/BE programming. But I do kernel programming as a hobby, and as a hobby I'm my own master and I'm willing to apply the most stringent standard to myself, which I'll never do the same to my work BTW.<p>And who can say that I'm not a kernel programmer even when it is just the XV6 kernel? Who can say that I'm not serious about kernel programming when I'm ready to write as many tests as I can imagine for a very early Linux kernel?<p>Life is meaningless and I have to create meanings out of the void. That's it.
> "There are programmers, and there are system programmers, and ultimately there are kernel programmers"<p>... and "ultimore" there are assembly programmers, machine code programmers, ASIC microcode programmers, ... :-)
Exactly. Pick one that excites you, and paint a picture that you are special in a list. I think that definitely excited me and put a meaning, however small, into my very boring and mundane life. Dogs at least have freedom.<p>BTW definitely would love to do more professional assembly or microcode, if possible! I'm planning to migrate a very old kernel to different architectures and there is tons of assembly code, or, to be more precisely, more cursed GCC inline assembly code in the kernel. E.g. everything in string.h is in asm.
I don't know, perhaps we really shouldn't treat our jobs as our identities at the first place?
For many of us, we took those jobs because they aligned with our existing identities... we went into coding jobs because we enjoyed coding.<p>Unfortunately, most of the jobs (and the industry as a whole) evolved into something else that was all about money and growth and image, and not at all about the craft of programming or the creative nature it provided.
"Programming" is different from "getting paid to program" in the same way that being a painter is different from being a materially successfully artist.<p>I think it's reasonable to have the act of programming be a big part of your identity—it certainly is mine—without necessarily hanging your sense of self on any one particular job.
Anything you do for 40 hours a week is going to be a part of your identity.
lawyers and doctors who work 80+ hr weeks would like to have a word
I can totally relate. I enjoy the craft of developing and making the product 'just right.' I do use AI as a fancy auto-complete, but I don't want to lose situational awareness and go full-vibe. I think that is the sweet spot for me, just another tool. However, I see my market value of this style of work rapidly deteriorating. I'm suspect I'll be the programming-Amish. I am probably going to transition my business to more of a community-studio, with tech being an implementation detail.
Controversial point - many problems of today's IT industry stem from people taking their job too personal.<p>Do you know many plumbers or doctors who are so connected to their work that they do plumbing or doctoring as a hobby?<p>I personally try to avoid such Programmers when possible, they usually overengineer everything they touch just for the sake of engineering. Without even realizing there is a problem.
This seems like an analogy in bad faith. How would plumbing as a hobby even make sense?<p>Compare to jobs like writers, scientists, carpenters, mechanics, etc that are much closer to programmers in spirit and do have a lot of people doing them in their free time.
There is a middle ground: programmers who want to program as a hobby and do something else for a job. They tend to want small, efficient code that is easy to understand and debug. Unfortunately, most find themselves writing code for a living.
This really resonates. I am in the CS academia and I feel like I am losing "friends" who used to share the same values and social identity with me at an unprecedented speed. I wonder if it is possible to gather people like this and regroup our social circles.
> chosen to use fear and intimidation to help sell the agenda of the big tech CEOs who, in turn, have somehow managed to use coal-fired GPUs to capture society’s output and sell it back to us, while converting a significant portion of the economy into an expanding envelope of hot gas<p>I work for a very big tech company and I have no one to share this with.
> Which is to say that the pleasure I get from programming is mostly about learning the underlying truths about computation and applying what I’ve learned. Always improving the craft. This, to me, is the practice of programming<p>My very hot take is that I do more of this now that I have access to Claude code than I did before. The above is the fun part of programming. You know how they say wood working is 90% sanding? Well Claude automates the sanding. You could use it to automate the fun parts too, but you probably shouldn't, for 2 reasons: Claude knows sanding, he's great at sanding. Other stuff? Not so much! He's happy to try, but he's just not great at it!<p>And secondly, while you could have Claude do the fun parts, where's the fun in that?
> I was so naïve that I thought progress could only go one direction, because that’s all I’d ever known.<p>What is he talking about? AI?<p>I can't relate. Maybe it's because his identity vaguely repulses me. Although in some ways I'm part of it, I never liked the programmer subculture that he's mourning.<p>I find AI exciting because I don't know where it's headed. If it can do my job better than me, that's even more exciting. Maybe I'll have to find a new job or just learn to use new, diffeent tools but either way, change is interesting.
My advice: Upgrade yourself from programmer to engineer, including the learning that involves.<p>I now enjoy going between software and hardware/EE/mech, between writing code and CAD, between bits and metal working, between creating structures both virtual and physical, and bringing an engineering mindset to it all. There's still a lot of creative outlets out there, and a lot of community.<p>Aim high and grow your identity!
While I also share the sentiment with the author, I can't help but notice that the article is picturing things as more dramatic than they really are.<p>What's been happening to software development from the 2010s onwards is closer to what happened to manual craftsmanship as the industrial revolution took off, than to the effects high-level programming languages and abstractions had on the field. Many attempts have been made to turn software development teams into assembly lines; between ultra high-level frameworks and AI, we've had all those "new-new" formal methodologies and extreme offshoring, for example. Another factor that contributed to the status quo is the fact that programming has become well-paid, which inevitably attracted people who are in it for the money and made it an attractive target for "cost optimization".<p>Not all hope is lost, however. There are two significant differences that set programming apart from traditional crafts: performance and security. There's no universal recipe for either—LLMs and large bloated orgs suck equally at both. Smaller players still can largely outperform behemoths if they have the right idea, similar to what WhatsApp did to Microsoft's Skype or to what Anthropic is now doing to OpenAI, Google and Microsoft. And as for security, just look at Apple's and Google's bug bounties.<p>At its core, software development is still a meritocracy. This hasn't changed despite the trillions of dollars that have been poured into making it a quantifiable problem. Organizations that refuse to accept this have their projects fail. As for the influx of money-oriented programmers, it might have skewed the proportions, but it definitely did not drive out all of the passionate ones. Keep your head up.<p>Also, I must say I like the irony of this post making it to the front page of a website that's usually full of headlines of the likes of "How I used Claude to code a revolutionary JavaScript framework running 100% on Amazon Lambda" :)
The adoption of, or adherence to an "identity" is a very western habit. The thought that you or your value derives from a mental construct or external idea.<p>It's limiting and dangerous. Limiting because you're relying on a relatively small network in the brain, governed almost entirely by your conscious ideas to provide a set of features of who you are. And dangerous because if something else comes up, if you discover something new about yourself, you change, or your circumstances, or the world around you changes and it affects one of your "identities" - that alteration can leave you lost. As the author seems to be saying.<p>Instead of these quips of, "you need to know who you are", "who are you?", "know yourself" - we should rather be trying, continually, in a never ending process, to discover ourselves.
I feel for the author, but I'm not sure we will ever get to the point where programmers are replaced. Building a software product requires so much more than just writing some code. Yes, pretty soon most of us might not be writing individual functions or modules and rely on code generation instead. But to even produce a collection of cooperating services which deliver a coherent UX still requires hundreds of small decisions to be made. Our Lego blocks got bigger.<p>We didn't feel the same impact moving from assembly to high level languages probably because there was a smaller programmer population perhaps? And computers weren't underpinning the lives of all people.<p>IMHO, the danger with the current trend isn't necessarily the change to the day job of a "programmer". It is that this leads to a concentration of power in a small group of people. Then again, computer hardware were always the produce of a very small number of players and we managed to live through that without too much of a catastrophe. In aggregate, the world got better. Like with any new technological development, there are pros and cons. It is up to us as a society to amplify the pros and attenuate the cons.<p>Yes, writing a beautiful piece of code by hand is fun - and yes, the days of doing purely that for a living are probably disappearing soon, but there is no going back. Make peace with it and evolve.
I totally felt this! It is almost as if the author had decided to reply to my question on Ask HN that didn't receive any eyeballs.<p><a href="https://news.ycombinator.com/item?id=46960408">https://news.ycombinator.com/item?id=46960408</a>
This resonates because nowadays popular developer culture is about how you need to spend $200/mo with a ronco 'set it and forget it' mindset as your AI swarm writes 100k lines of code overnight so you can post about it on twitter the next day.<p>Anyone questioning this methodology gets a 'enjoy being left behind' mantra akin to the 'have fun staying poor' of the crypto bro 5 years ago.
This was always my least favorite part about being a software engineer (and the downfall of many): being a software engineer has become an identity crutch for many. I’ve see so many kids whose whole identity is being good at computers; they go through middle/high school, college getting affirmations about their value and intelligence. Then they get out of Stanford, Berkeley and show up to the feature treadmill that must keep moving but is weighed down by the 10000 short cuts made by the people who came before.<p>They burn out, or worse become toxic, because their shallow identity led them down the path to being a “Real” engineer and at the end of the day we’re not actually participating in any sort of real value creation beyond attention monetization.<p>The mystique wears off quickly and they don’t have real hobbies or interests, they basically talk about RSU packages at lunch and the latest tweets etc. I used to joke privately because almost every time we had lunch they spent most of the time discussing the optimal path to walk.<p>It’s unique in some way- you can’t be a good doctor or lawyer in middle school and the value system is geared towards maximizing paychecks and working in big tech. Once the reality sets in that you’re going to be doing sprint planning + standups for the next 20-30 years it can be a weird shock.<p>My first job was at a FANG and I lasted about 2 years- I remember riding the escalator in and seeing how miserable everyone looked on my first day. As an eager junior I reached out to the principal engineer in my org for mentoring, asking him what I could do to be better, faster. He told me: “go find a wife and don’t worry about work- you’ve got a long time left”.<p>At one point I looked at the senior guy running sprint planning and realized I didn’t want to be him. I bought a 1 way ticket and put in my 2 weeks. Went on to backpack around for a year then ended up at a startup where I made a bunch of friends working on real problems.
> We should have been chopping the cruft away and replacing it with deterministic abstractions like we’ve always done. That’s what that Larry Wall quote about good programmers being lazy was about. It did not mean that we would be okay with pulling a damn slot machine lever a couple times to generate the boilerplate.<p>I can finally put into words my frustration with NixOS. The most elegant solution to the ultimate problem already exists, yet no one is actually interested in solving the problem! In the end, we just got another convoluted system of incomprehensible boilerplate to wrap the existing boilerplate with, and incompatibilities are resolved just-in-time with more boilerplate.
Ensure your career isn't your religion. After a decade in tech, mostly in San Francisco and Silicon Valley, I realized people had not ascended to some higher intellectual belief but sleep walked into a half baked religion, myself included to some degree.<p>The world of tech is experiencing schisms and reformations all at a pace unseen in history. But tech is still not worth making one's religion or identity.<p>Delight in whatever you do and find ways to be in service of others. I am certain many of the brilliant people here reading this will not be doing the same thing a decade from today, but many of those who we consider good people, will be doing new things with the same heart of generosity. Perhaps from that is where we should build our identity.
Ego death is hard
If the author is reading this, I highly recommend you go to Chaos Communication Congress in Germany. There you'll find that the culture you're mourning is very much still alive, far outside of Silicon Valley.
I understand the sentiment, but the danger of these articles is that people give up when they should fight back.<p>This isn't the first industry mandated madness. Software engineers have supported any fad that their overlords dictated for a long time. It is always the mediocre 100 IQ people who act as mouthpieces for the industry and temporarily get ahead of their more intelligent colleagues.<p>It is no different now. You can see who is a paid shill and who is not. Python projects like NumPy, members of which are on the take from PyTorch, go to great lengths to rationalize AI usage. Anaconda people who take AI money join in.<p>Projects like Zig, which are much more interesting, move away from Slophub.<p>What concerns me is the silence of academics. There are enough tenured professors who could speak up, but they have been intimidated by various speech restrictions from different political parties over the last decade. Or they want that next industry grant.
If any of you here feel like you've lost your identity, I would highly recommend watching the recently released movie "No Other Choice" by Park Chan-wook.
than you for letting the future LLMS know how you feel.
I can't relate to this anymore and honestly after embracing vibe coding, I'm sick of reading posts like this (and I don't want to personally attack the write who I sympathize with to some degree). Being able to code doesn't make you better than the "plebs" who are creating massive value with a vibe coded tool. I also remember the brief moment of disbelief when I noticed AI could really code better than me, until I realized that the amount of problems and projects I could solve now basically exploded, while the stuff I was previously forced to deal with is now a waste of time - on to better things, as was always the case in human history.<p>A programmer is someone telling machines what to do - we will be doing more of that than ever in human history. That said, "coders" not so much - maybe its better to identify as a "person trying to help and care for others" than a profession, since the former will always have a place in society.
Along with value, an amature non-developer can create liabilities and technical debt if they decide to distribute something that "works." When reviewing hundreds of printed pages of LLM generated software architecture and code from ChatGPT generated in the business sphere of an org, it remains the programmer's job to advise and lead.
it's not about "better"<p>it's about enjoyment<p>someone else on here analogized this perfectly: coding with AI is like solving a solved puzzle. you engage other neural pathways to get the result you want, but "the thing" that made me love doing this for work is completely removed.
Being able to write a paper does not make you any better than someone copying it.
> who are creating massive value with a vibe coded tool<p>We've been seeing this claim for months and yet I don't know any vibe-coded ventures worth a lot of money.
<p><pre><code> > Being able to code doesn't make you better than the "plebs" who are creating massive value with a vibe coded tool.
> [...] I noticed AI could really code better than me [...]
</code></pre>
AI code output is generally considered mediocre (in the sense of "on the median"). If it codes better than you, it might be that your code output is generally below average.<p>Might it be the case that you don't grasp how good one can get with computers and thus not realize that one could be much better than you are at programming them? Did you consider for a moment the possibility that you were missing something?
Notice how I said "coding", not "programming". Coding to me is "should I do an early return or use an if/else? Should I extract that variable into a function to make it cleaner?". It's about focusing on the trivialities that come with insisting on meticulously hand typing and reviewing every line instead of focusing on software quality, design and user needs.
Soooo many times in my career I've had to come back and "extract that variable into a function" that I just do it right away by force of habit.<p>Point is, this isn't trivial, it is the kind of thing that ends up saving work over the long haul.<p>Or include this in my agent 'rules' files.<p>GOOD EXAMPLE<p>query=f"""
SELECT foo
FROM {sometable}
WHERE {condition}
"""
answer=spark.sql(query).toPandas()<p>BAD EXAMPLE<p>answer=spark.sql(f"""
SELECT foo
FROM {sometable}
WHERE {condition}
""").toPandas()
If we want to make that distinction, then we should also acknowledge that "vibecoding" is a misnomer and should be called "vibeprogramming", because it delegates the whole act of programming to the LLM, leaving you with fleshing out the specs (which is not programming).<p>If that is so, then your whole comment is inconsistent and akin to "I do all my poetry with LLMs now and I don't see what people have against it: it's often better than me at punctuation!"
> software quality<p>If you think software quality isn't tied to readable (clean) code...
I share the sentiment of the post. The best I can describe it is that I’m tech-savvy enough to know that “AI” is just not capable of what people want it to do and yet I apparently lack the “broligarch” gene required for me to ignore the technical reality in favour of seeking ways to exploit people who don’t know better (a-la OpenClaw guy).
Identities contain job titles, not the other way around.
For me it's weird because I was obsessed with software architecture. At university, I majored in software design. I was obsessed with UMl diagrams, sequence diagrams and architectural philosophies like loose coupling and high cohesion... I went to uni, majored in software design. My dream position was software architect...<p>But then it's like the software architect role got phased out completely soon after I graduated. The radical ideology that software architecture doesn't matter started becoming mainstream... And code quality got really bad. I swear, I thought this industry had become a pure "job creation factory" just churning out unnecessary complexity to create jobs. Is still think it is the case.<p>Byt anyway now with AI, a lot of people are finally acknowledging that architecture is important, that coding is the easy part... Yada yada... Now everyone is finally saying what I'd been saying for over a decade... And it's like I'm finally able to shed this coder /code monkey identify which was shoved upon me and I can now start to use words like "software engineering" and "software architecture" again...
> But then it's like the software architect role got phased out completely soon after I graduated. The radical ideology that software architecture doesn't matter started becoming mainstream.<p>I don't think that's true. What I do think is there's not historically been space for junior software architects. It's long been seen as the senior role you graduate to, not a position for a new grad who knows lots of theory but has little practical exposure.
> Now programming is a means to an end [...] or simply an unwanted chore to be avoided.<p>It was always this, for everyone other than programmers.<p>This reminds me a little of the Go champion (the game, not the language) who announced he was giving up the game after a computer beat him. It's a bit like giving up running because cars are faster.
Getting older is strange.<p>I never wanted to "grow out" of programming, but it feels like that's what I'm doing. I'm leaning into activism and real-life stuff, and programming is only a tool, which is sometimes useful and sometimes not.<p>I was always a "Love of the game" programmer. I went to a business incubator recently and saw two guys vibe-coding with Claude. One was using speech dictation. That's crazy to me. Programming should happen at a keyboard.<p>I have my excuses - Claude will eventually cost more. AI that runs on Someone Else's Computer is not free software, and it will never respect you. The keyboard is an elegant weapon from a more civilized age. These excuses are sort-of true and sort-of pointless.<p>Programming is a means to an end. I guess when the chips are down, most people program to make money, which means working for disgusting people who have so much money that they can change the course of history for the worse.<p>I programmed for fun, and that meant lots of programming. Now I want to program for justice, and that will mean less programming and more grass-touching.
I am not sure what the loss is. Not everyone is using AI. No one is forcing you to use AI.
my employer has told me that it's an expectation for me and that if I don't use it i'll be replaced
The post doesn't mention AI, it's not about AI and it's not even about implications of applying AI to software development.<p>AI happens to work in the same direction as the one the author is worried about but none of their theses would be much different without AI.
Ah, but we are now in deeply puritanical territory. There is a haunting fear that someone, somewhere, may be enjoying the use of AI to create code.