Ask HN: Coding is a solved problem. What is left for experienced engineers?
I have come to the conclusion that coding is a solved problem. Most normal software building is now a closed-loop problem. Codex and similar agents can already take a clear task, write the code, test it, see what failed, fix it, and iterate.
A person who does not know how software works will still struggle. They may not know what to ask, what is wrong, or how to tell whether the result is good.
But for a decent engineer who has already built real systems, I think the situation is very different. They can move across domains, ask the right questions, inspect what the agent is doing, and keep pushing until the system works.
They may take more steps than a senior engineer who already knows that domain well, but I do not think that gap is very large anymore. The important part seems to be knowing what to ask, what to check, and what you are actually trying to build.
I have been an engineer for years. At this point, I do not see much value in sitting alone and building more projects just to prove that I can build software.
That has also changed how I look at the past eight months. I spent that time building, learning, and trying to get better. Looking back now, much of it feels like time spent getting better at a problem that has already been solved.
And so I have come to a harsher conclusion: I wasted a lot of that time. What I have done feels bad, and I do not see what is left for me to do in this direction.
Maybe I am completely wrong. If I am, please feel free to roast this argument. I would genuinely like to know where the reasoning breaks.
"I have been an engineer for years. At this point, I do not see much value in sitting alone and building more projects just to prove that I can build software."
There is one massive thing positive about being independent: your code stays unique to you. If any AI is training off you (especially by stealth,) then it is making your solutions commodities, right?
I am building an RSS reader that I like a lot. But anyone that builds one after me, and especially if they use the AIs that I used, I presume will get there so much more quickly. If I have shared freely with the LLM, then from there it's open to anyone indirectly whether it is OSS or not. Also, the reader is an HTML page - as soon as it is public, anyone can get it.
So the playing field is being leveled for software, it's worthwhile thinking about new uses for software. For example, ways to tip writers and solving the ever present "micropayments" conundrum. Things can atrophy sure unless you look for new problems, new frictions and ways to improve life. Local-first Fediverse is a huge opportunity and enabling safe whistle-blowing while minimizing noise. Enable bravery, but not too much.
"Coding" has been a solved problem for a couple of decades now, in my opinion. If what you're after is producing a large amount of code while paying very little, that was always an option. The results were, as businesses who went down this route discovered, not satisfactory. Now LLMs can do this even cheaper and faster. But was this the problem? Is this the magic that was missing to move us forward?
I don't know the future and can't say if you're wrong or right. But I do wonder what "more code, faster" is meant to address exactly.
In my point of view, it depends how you describe your role. If you're a "coder" then yes, you can't compete with machines. I do have to tell you that we're in a bubble and probably in the shrinking phase of an economic cycle so it's all difficult now but you can't predict the future from this temporary phase.
> The important part seems to be knowing what to ask, what to check, and what you are actually trying to build.
1. Understanding user requirements/pain points is very important and many get it wrong.
2. Doing the architecture of the system within the org env/cloud/infra is often wrong by LLMs (for now).
3. Debugging when things go wrong. What to log, how to log it, and how to ensure not logging much or logging sensitive data.
4. Guide junior engineers, so they are not just accepting what LLMs are spiting.
On point 1, it depends, and I think it is a UX issue. There might be a little bit of friction in nailing things down, but the coding part is 100% solved.
On point 2, yes, again, there is a bit of friction. I would divide this into two cases based on what I have seen. Let’s say you don’t know coding and you are building a product for a decent number of users. Most people who don’t know coding get things wrong. I have seen that. But I have also observed that if they had asked better questions, much better questions, they would have gotten most things right.
The other case is when you are dealing with a large enterprise. That is a different game altogether, but not everyone faces that kind of problem.
Point 3 is completely solved. Most companies have integrated agents into the development cycle itself. If something goes wrong, you review it and merge it. The only bottleneck is when it is connected to external factors.
Point 4: an environment with proper `SKILLS.md` and `AGENTS.md` files writes better code than most senior engineers . Trust me, I am not even lying here.
Skills and agents md files have better guidance than most senior engineers? Oh well, good for you then, especially with the “trust me” phrase
Prove me wrong. I’d be happy if you do. The only engineers I’ve seen who are extremely good tend to have 15 to 20 years of experience. The difference they bring is not really in the code. It’s in how aggressively they cut unnecessary complexity and how much more effective they are at system design.
30 days ago you say you have 4.5 yoe
Comment activity and contents, you are clearly unemployed troll
I hate people like you so much
We need a war to clear the underbrush desperately
I curse you
Who are you calling troll here?. Tell me where I am wrong if you can't answer that, keep quiet
i used to get to much problem in 3 debugging and logging for unknown errors in blindsight. but after using Trace browser ide , other than engineering thinking mostly things are getting automated.
I can see infra teams directly integrating agents into DevOps now. If something goes down, by the time the team looks at it, the PR with the fix can already be ready. That whole loop is getting automated too.
I think it is a mistake to code with AI. You are moving your brain to an external company (paid one) generating a enormous dependency.Now, you are an useless professional who depends on chatx,claudex, etc. Programming is much more that just generating code, takes years to be proficient. What is going to happen when a new generation of software engineers do not know real programming...?
Hard disagree on the “useless professional” part. I can still write code without ChatGPT or Codex. That’s not even an issue. Becoming proficient used to take years if you did it the right way; with AI, you can get into pretty good shape much faster.
But define “proficient” here. What does that really mean in this context? A junior engineer, sure, you can tell they’re fucked for now, but for how long does that matter if the models keep getting better?
The models use actual programmers to improve themselves. when no good programmers will be available the IA will just eat their own generated code in a endless loop. People do not understand that what the models "know" is from humans. They basically rip code from github (and other repositories) from real programmers to "improve". If everybody do not program anymore (manually) and no more good/excellent programmers raise, then we are basically doomed in this regard. I myself like to think in terms of slow progression; to generate code you must first know programming, good programming, (typing is something anyone can do). Lastly, I think good professionals are going to be extremely valuable because they will know what is beneath all those layers of IA
Storage and memory prices are so outrageous that I'm "discovering" multiple old hard drives in my basement that I will be using for backups soon. I'm lucky that my son asked for a "gaming" machine for Christmas in 2024, so now we have a spare desktop with a 9800X3D and 64GB of ECC RAM which I'm hoping will last forever.
And this is a problem which we all share. Because prices are so outrageous, we have to do heavy computations with limited memory and storage while maintaining privacy. So there's a lot to do here with software, including creating easy to use and verify privacy-enforcing computing environments for specific purposes, and writing computational software which is more efficient so that we are not beholden to "cloud providers". Talk to folks in offices unrelated to tech. There is a lot of stuff you can be doing for them.
This sentiment is why more and more apps/websites and tools start looking the same, acting the same and being broken in the same corners.
From what I can tell we ain't actually there yet. We will be sure, but at this point in time my human perspective and input is everything that keeps my stuff from going generic.
I feel that for a senior engineer, it’s already there. If you have enough scars, you’ll figure it out, get it done, and fix whatever breaks.
Maintaining yes, but creating I yet need to see an example that doesn't shout "made with AI" on the first glance.
And also for maintaining you'd still need a skilled engineer to avoid the AI taking stupid decisions.
I know it's only a question of time tho
I remember my first words I said when tested the claude code... for me, an software engineer with over 10 years of experience it was like a god mode. I can basically do anything I want, having my domain knowledge, experience and hundreds of closed projects but... now after months of using it I can clearly see the coding problem is not solved.
Working on more complex problems still takes a lot of time, the models get lost, often jumping into a "solving loop" where the same solutions are being tested over and over again. You still need to guide the model, guide the loop otherwise it's lost or it's shipping a wrong solution, often even something different. Don't you now spend much more time on reading the results? iterating? Nothing changed, it's just a different way you're getting to the right place. Without a good software engineering knowledge you can't do a bulletproof, secure and high grade software. We're still far from doing a single prompt and getting a great grade output.
We might be heading that direction so personally I'm focusing on improving my soft skills, improving my general knowledge about the business, many skills around software engineering (closed to the client side, closer to the business) that until now were useless (at least I thought so).
This is an amazing time for experienced software engineers, learn more than before, try new things and this god mode will bear fruit!
> I spent that time building, learning, and trying to get better. Looking back now, much of it feels like time spent getting better at a problem that has already been solved.
> And so I have come to a harsher conclusion: I wasted a lot of that time. What I have done feels bad, and I do not see what is left for me to do in this direction.
Unless you didn't actually build, learn and improve, how could it have been a waste?
Do you really not value becoming a more capable person, in and of itself?
If you can do system design well, prompt effectively, and ask the right questions, I don’t see much point in going extremely deep into all of this anymore. I’ve learned a lot of new things, but now it often feels like I can just prompt the model and get the implementation in one shot.
For problems with a closed feedback loop, I don’t think you need to spend nearly as much time learning every implementation detail. A person who never invested that time can often produce the same result with the right tools. That’s the part I’m struggling with.
Idk in my experience that’s the mark of someone whos not worked on complex or critical systems, or is wowwed by a bunch of PoCs.
Tell me about this critical system you're talking about. I want to know.
Billing platforms for hundreds of millions of customers are hard. You’re also an AI bot trying to get engagement
When a deeper question is asked, you dont have a proper answer
The interesting problems don't have a closed feedback loop. You don't know what the requirements are until you try something yourself and decide that isn't it.
Tell me at least one interesting problem that you have encountered. That is related to coding and software engineering
Reducing fossil fuel usage, extracting CO2 from atmosphere, improving and expanding stored energy options (battery chemistry, geological hydrogen storage, thermal mass, etc).
All decent goals for good engineers.
On the data and interface side, build out better free teenage friendly accurate planetary dashboards showing mineral and energy resources, usage, trade, etc.
Prompt engineering is more than enough to build this. Not a hard problem
Cool - so, lunchtime tomorrow then?
Counterpoint: no it's not.
It is dude, I am not joking here.
> At this point, I do not see much value in sitting alone and building more projects just to prove that I can build software.
did you see value in doing this, before LLMs? if so, why?
Yes. Before LLMs, I saw a lot of value in it. Building things was how I learned, found gaps in what I knew, and proved to myself that I could take something from an idea to a working system.
I worked day and night for long periods to improve that skill. I put in extra hours because getting better was hard, and there was joy and meaning in finally being able to do things that I could not do before.
Now it feels different. A lot of that work can be done with a few prompts and a short feedback loop, and someone who never spent those years learning can often reach a similar result. That is the part I am struggling with. It feels like years of hard-earned advantage disappeared very quickly.
you need to build a product mindset muscle ! coding IS a solved problem ! building a winning product and architecting it is NOT !! think deeply on above !!!
necessary not good enough
Fun fact you can even ask codex what questions should I ask about this code because I seeing the following x,y,z (image 1), etc…
ya true
It’s profoundly more solved than most anyone realizes, including yourself. It will be very clear within the next 3 months.
Yeah, even three months is already too late. Back at 4.8, it was already a solved problem.
There probably will be a step beyond "LLM writes code" though.
Honestly, I don't know.
But my belief is that experienced engineers would be needed for their judgement and ability to steer and verify the LLM output. This would be more valuable than the implementation specifics which LLMs are better at (in well bounded problems).
Paradoxically, I don't think one develops these skills without deliberate practice (putting in the reps). So I don't think the time you spent learning is totally wasted.
I agree with your reasoning that coding is a solved problem, or that it very soon will be.
While that has profound implications for the profession, I don't think it kills it outright—rather, it radically shifts the nature of the job.
Some have said that shift is analogous to leadership, creative direction.
Eventually we'll see models that excel at architecture, owing to extensive training on human prompts—harvesting both judgement and creativity.
Meanwhile with the underlying software infrastructure supporting it all, duplication of work is inevitable. On top of that, the feeling everything's cheap slop, nothing has meaning anymore.
It certainly doesn't paint a rosy picture. Is the whole thing a race to the bottom? Maybe.
So, here's my counterpoint:
For most, craftsmanship will no longer live in code going forward. Instead, it will live somewhere else. Where? I'm not entirely sure, but I strongly suspect it will still be part of the profession.
Right now, I’ll be very honest: it feels like a race to the bottom, except for the hardcore engineers working on genuinely difficult problems.
Only a small number of people will get the chance to work at that level as the field changes. I think there will be a radical shift from here.
Altman and Dario know this well. That is probably why the tone has changed from “engineering will disappear” to “engineering will change.” But I think we have already reached the inflection point where a large part of the work is getting automated.
Craftsmanship has already started moving somewhere else. Where exactly it moves depends on the kind of work, and I do not think everyone will figure out what the new end goal is.
Finally, I have reached 2026
The scope isn't the active window, but everything that ends up in the daily log file afterward.
Three seconds of password manager or customer data is enough. What's missing: app exclusions and true retention.
Otherwise, it's just a log file without rotation-and eventually, someone who never intended to read it will read it.
The loop only closes with compilers and tests because feedback is immediate.
In production, an incorrect write operation often isn't noticed for weeks - or at all. The difficult part, therefore, remains: Where does an error stop, can it be reversed, and who notices it first?
Those will never go away, but they’re still not the best moats. There isn’t much defensibility in them.