Early stage hands-on involvement in shaping the code base’s architecture is still important if you want to build a product that can scale cleanly as you add more features.
Agree on the changing work interface layer going higher to product capabilities, but not on “the code base is no longer important”. It’s easy to dismiss given how easy it is to ask an agent to generate a bunch of code. But the code base encodes the intersection of the orgs learnings and its arc of product growth as well. Good code bases encode the learnings as checks and abstractions that form the foundation for future growth. It would be a mistake to give up this formal language. Personally, I would bet on better abstractions in code bases, and being able to embed your product description in code, for high leverage and verifiability.
It is self-serving to say "the code base is no longer important" for companies that want to sell you LLM tokens for swarms of agents to have to constantly burn away at a pile of increasingly messy and broken code.
If they can convince people to never look at the code, the people will have no choice but to keep throwing more and more piles of their product at mysterious blobs of codebases that become increasingly difficult and expensive to manage.
Yeah, a bit of hyperbole there. I do think the codebase is still super important. Just less informative maybe, and becomes hard to reconcile with as the amount of changes in a codebase increases by an order of magnitude.
There is no shortage of articles on the HN front page, stating that being "just a code monkey" is likely going to have much less employment options soon-ish.
A likely correct but also at this point rather stale observation.
> There is no shortage of articles on the HN front page, stating that being "just a code monkey" is likely going to have much less employment options soon-ish.
The people making that observation are somehow blind to the fact that what they are doing now is ever more likely to be taken over by AI too.
Don't disagree, was trying to get at moreso the transition to more empirically inclined development. Ie - way more emphasis on how code behaves rather than the code itself
This post seems very concerned about what a product does - and rightly so. However, it doesn't really talk about figuring out what a product doesn't do. This is a blind spot large enough to fly a 747 full of CVEs through.
The graph of the engine efficiency vs number of horses per person at the end doesn't fit IMO. I am tired of people trying to make these analogies between the following transitions:
- Horses to Engines
(non-deterministic to deterministic)
- Assembly to Higher-Level Language
(deterministic to deterministic)
- Higher-Level Language to LLM Prompts
(deterministic to non-deterministic)
These things are not the same. They are all fundamentally different transitions.
This just in: slop vomit company is telling you we should make more slop vomit and that the code matters less and less.
If your goal is to post that slop on linkedin and make a shitty startup that gets bought within 5 years, sure. In the mean time, the adults in the room will continue to maintain well thought out, well working software.
If they can convince people to never look at the code, the people will have no choice but to keep throwing more and more piles of their product at mysterious blobs of codebases that become increasingly difficult and expensive to manage.
A likely correct but also at this point rather stale observation.
The people making that observation are somehow blind to the fact that what they are doing now is ever more likely to be taken over by AI too.
- Horses to Engines
(non-deterministic to deterministic)
- Assembly to Higher-Level Language
(deterministic to deterministic)
- Higher-Level Language to LLM Prompts
(deterministic to non-deterministic)
These things are not the same. They are all fundamentally different transitions.
If your goal is to post that slop on linkedin and make a shitty startup that gets bought within 5 years, sure. In the mean time, the adults in the room will continue to maintain well thought out, well working software.