Execs are convinced LLMs produce something that no programmer ever could. Or at least the same thing, faster than any programmer ever could
So they will drive us off a cliff chasing it
Live way below your means. Be Stoic.
Reading your (as always, great) post, it seems like Phoenix.new did like 95% of the work? You had to coach it around FTS, but I also have to look that up every time so :shrug:. It's pretty bananas; I still maintain this is nothing like "traditional software engineering but one of your tools got way more efficient", i.e. you got a table saw. This is "I typed 'build a table' into a box, it couldn't figure out dovetailing, I taught it dovetailing, and I had a table." Regardless of whether or not you think that's good or bad, I think it's clear it's a huge change.
I also think that even the few prompts I gave it require pretty deep knowledge and experience - many professional software engineers don't know that SQLite has good FTS baked in!
Don't be so sure about this. I can think of countless examples of technologies that are less capable than they used to be either in specific areas or in general. For example, telephones used to be very low latency with graceful quality degradation. Now they are high latency and just cut out with a poor signal. Cars used to be a luxury affording high levels of personal freedom, now you just get stuck in traffic and struggle to park everywhere.
If AI actually happened then of course it would change everything. It could even destroy us, and I don't see why it wouldn't. But LLMs are not that. We don't know how this is going to play out after several iterations of LLM generated code is pumped out and we can't distinguish LLM-generated from human-generated. This might well be the best it will ever be.
I wonder what it is about LLMs that has got people scared rather than excited.
At a micro (personal career) level, I just recoil at the whole LLM paradigm. I am seriously looking at my finances and contemplating a hard "no" to retire. I know myself pretty well. I have spent a career becoming a very senior "individual contributor" in an academic R&D environment. I am not a manager, and would not want a managerial job. I do not enjoy nor am I good at delegating work to lower-skilled juniors. I have had excellent collaborations with true peers over the years. I reject the mindset that an LLM can be such a peer. It lacks the hysteresis, learning capability, and actual agency to form a trustworthy working relationship. I refuse to spend my energy on pretending it is more than it is.
Part of my issue is that, despite doing R&D prototyping, I am a very top-down thinker. I do a lot of ruminating through all the levels of a system before I build it. I know I depend on this to get aspects of quality out of anything I build. I accept that I am not a good code reviewer, e.g. to take random code and find flaws or rework it. I need to trust my partner not to be gas lighting me with fiction nor sneaky flaws. When in doubt, I will "nuke it from orbit" and start over in a green field manner with top-down designs where I can gauge the risk.
I would much rather write from scratch than take someone's janky code and rework it. I would never take such code and then stake my own reputation on it being functional. Doing so with a stateless generator is nightmare fuel. I would rather walk away become a janitor or auditor who has to monitor the output of the LLM crack monkey...
For example our CTO's communication are 100% written by chatgpt (which is why I don't bother reading them).