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.
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.
> 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?
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.
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.
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.
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 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.
did you see value in doing this, before LLMs? if so, why?
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?