Me? I enjoy that stuff for what it is. Reviewing code is definitely not the truly enjoyable thing. Writing code, expressing my logic in code. That is enjoyable to me.
We're going through a change in software development. People can either move with the times or hang on to their old way of working and age out of the workforce. Either through biological age or just being left behind by those moving with the times.
There will always be those that still think they can code better/faster than the models. It's a combination of professional arrogance, and struggling to let go of a skill that took them decades to acquire which lost its value in a few short years.
It's hard on people, it's hard for those with lots of experience because they are being left behind, and it's hard on the juniors that went into CS thinking it'll be a well paid job for life only to find they aren't needed anymore.
It will take longer than we think. Those of us in the industry have a few years yet, things always change more slowly than anticipated, but all these HN'ers still whining about their emotional attachment to code/coding that can be trivially recreated are just in denial. Are models perfect today? No of course not. Just like most programmers. But they are already better than the majority, and they are just getting better. Coding is over. Software development is of course just fine. We'll just learn new and better ways of solving human centric problems using computers. Just like all the assembly programmers did.
The value of Instagram was never the code. The code was just a means to an end. Well, the means have changed.
I feel for those who lose their livelihoods. That is obviously awful and no amount of "things change" rhetoric will ease that pain, and I have no ideas for those. Sleep under your desk and buy the market with every cent you earn for as long as you continue to earn and hope the market grows 10x in 10 years like Musk predicts and just hope to be on the right side of the industrial change.
I’m lamenting the change because the thing the love about this job is being ripped away from me.
I’m still far more adapted to this than my coworkers though. Hell I have a GB10 box I run local models on for fun.
/yes I know a coding language is 100% better at expressing algorithmical logic, but it is definitely harder for humans to comprehend and express cleanly at a consistent rate. machines do that way better/
Well... sure it's more efficient (although in some cities and certain routes it's not; same with coding and LLMs). But some of us just love riding the bicycle and enjoying the nature, you know. Perhaps even strengthening our muscles as we do it, as a healthy side effect.
Part of the skill and joy of programming is to constantly work on improving my ability 'to comprehend and express cleanly' my intent in code.
I'd argue LLMs are anything but consistent.
Not really? In my experience, to get anything precise done, you have to fight the LLM every step of the way. And then when you come back after a few days, you realize that it has overwritten the carefully crafted code or data structures.
1. Review what it writes as it writes it
2. Give it a smaller, more focused, scope to make changes
Or, keep vibing but then don't get mad about it.
Sadly, at my current company, this doesn't seem to be acceptable practice.
In our latest evaluation, one of the criteria was whether you trust AI, with "trust" being defined as letting the AI write all the code, without reviewing it. And of course, not trusting AI meaning that you were behind the curve.
Skill issue.
If you are lucky, your question have a good representation in the training material and the randomness is on your side..
But the LLM won't tell you that, so until you test your luck by taking the answer from LLM and using it, you never know..
But then, the AI company would have run off with your token payments...
I love these parts. But in my experience, LLMs break much of that.
Planning/architecting? Great. So far, I haven't found any agent that actually follows the plans set out, though. They get something wrong, and it snowballs from here.
Directing a team, steering and giving advice? Absolutely. Some of my greatest achievements involve mentoring. But human teams learn from their mistakes, grow up and contribute insights. Agents don't.
Reviewing code? Well, maybe not so much fun, but it's usually a good way to understand what's going on, and to share experience. Except with agents, you need to spend most of your brainpower seeing through the misleading comments and documentation and choices and sycophancy, and the agent never learns from its mistakes.
Designing interfaces and APIs? Absolutely. Yet every time I look at code modified by my agent, I see that the contracts (internal or public) have been broken by the latest edits.
In my experience, LLMs can be very useful, for refactorings and as learning and review assistants, and sometimes as replacement for missing documentation. But codegen is the worst way to use them.
I feel like coding will be dead soon, and what will be left are project management / team lead / product owner kind of jobs where you craft specs and steer AI agents on very high level. I would hardly call that "coding" anymore.
What I dislike of the status quo is being stuck between traditional programmer, and such project management role. With AI coding I can't really get into a flow state anymore, and without flow state it's hard to focus on the details.
And these will be gone, too, a couple months later. Or possibly even at the same time.
People other than you, I guess. I think your first chunk is a bit of an unfavorable perspective, but still I would take that over the second every time.
But it's clear that many people feel otherwise. Software engineering has many classes of tasks and the difference in opinions about AI seem to exist because different people like different aspects of it.
But filling in the blanks can still involve a lot of grindy, time consuming work where you iterate through collections, build parameters for other APIs, check invariants etc. All of that stuff is boring to me.
What I'm trying to say is that most coding tasks require "senior level thinking" and "intern level thinking". The latter can sometimes be the majority of the work and I don't want to do that anymore.
Both are valid viewpoints, but it's obviously harder for the latter group right now, because LLMs really have taken away the most enjoyable part of coding for them.
I, for one, liked it. I decided to pursue a career as a software engineer because, for all the downsides, I actually enjoyed working with code so closely. It really allowed me to learn and know the code that I wrote.
Whenever I'm using LLMs for code generation, the one huge downside I notice, is that even if I review everything line by line, I don't get the same "I know precisely how it works, because I wrote it" feeling.
I really wonder what the implications of this will be. For instance, if the young devs who are just entering the field will actually be able to write code on their own? Or maybe it will truly not be needed a few years from now?
I come out of it intellectually stimulated, with a sense of achievement and improvement and increased understanding; with also a bit of human connection, and creativity. And of course I also get a working program, so I feel productive too.
If you don't understand this you never enjoyed programming per se. It's fine, people like different things. But I think you might be mistaken calling whatever your job is "coding" or "the trade" because I get the impression it just isn't.
Mmm..almost everyone who loves programming. If I hated typing code, I would not been a programmer, because it used to involve a lot of typing.
Or else you did it for $$$. But then don't assume every one who programs hates typing code.
Based on your post, you never liked programming in the first place. You liked having software. Typing the code in, reading the documentation, all that stuff is programming.
I'm not saying either type is better than the other, but the recent technological changes certainly have put a lot of wind in the "end resulters'" sails. They must not be allowed to hijack the definition of programmer, hacker, geek.
They tell people who liked the journey that they're way is inefficient and you need only prompt to build, not seeing that in two years they're boss will be saying the same thing to them because they don't warrant the salary to pay them to do the same thing anyone with an idea can do.
Me! I do!
> And who likes planning, architecting, directing a team, steering and giving advice, reviewing code, designing interfaces and APIs. Coding became more mentally exciting.
I'd rather eat rusty barbed wire. I'd avoid your middle manager hellscape even if if doubled my salary, I swear!
If all you do is write requests and then have the LLMs spit out the code, then you’re not a programmer, you’re a software architect.
Middle managers have to supervise people, otherwise they are not managers.
It doesn't exist yet, but you could easily create it.
Hackers.
I was with you on your second list until this part. It feels like a poison pill rider that's added to a bill in Congress, because I've always found code review to be the single most soul-sucking aspect of the job.
I'll grant that may be at least partially due to poor practices at the places I've worked, but semi-regularly having large PRs that take hours to comb through and where you either rubber-stamp it or look like the bad guy (because you're retarding release velocity) has never been particularly fulfilling.
I mean, you do you, I don't mean to shame people for whom management is the dream – I just find it weird and sad that they're trying to pretend that this is somehow how people with a hacker/geek spirit think or should think. To me it's antithetical to the hacker spirit.
It really does seem like the target audience of LLM users are people who never learned to use Vim.
> And who likes planning, architecting, directing a team, steering and giving advice, reviewing code, designing interfaces and APIs.
Why would anyone pay you to work for them if you aren't willing to do these things? This is the entire job.
[0] Okay, I am going to comment on it some more: For me, it also depends on whether I’m “forced” to do the code writing (or reading) because I just want the resulting output or need to modify the program to my wishes; or whether I want to do it because it fulfills me, is interesting, teaches me something new, etc. Both can be true for one person at different times/in different contexts.