Software Engineering is still Really Hard to do Right
LLMs are, let us not forget, little more than the most fantastically sophisticated and powerful autocomplete humans have yet created, short of our own astonishing nervous systems. We find ourselves unable to conceive of what, other than true self consciousness, could explain such thoughtful answers to our clever questions and thoughtful pondering about the meaning of life or why our uncle is so weird. It's hard for us humans to deal with really big numbers, and therefor it's hard for us to understand that LLMs are just applied statistics on a huge scale, astoundingly huge collections of weighted decision nodes that are minutely adjusted over the course of millions of iterations to result, 'reliably', in the most statistically likely completion of (answer to) the prompt (your question).
I know everyone who is reading this blog is a perfectly disciplined, careful, and quality minded engineer. And I know that the introduction of augmented coding tools, like Roo Code, Codex, Claude Code, Cline, etc. just means we produce even better code even faster. And, of course, we never push code without really reading it through just because we're in a hurry and the tests do pass and it does work when we run it. But even with all of us doing such an amazing job self monitoring, some folks, over the years, have somehow managed to let just enough BAD code slip through into the overall CORPUS OF CODE THAT IS AVAILABLE TO TRAIN MODELS to make the statistically most likely completion to almost any coding task of significant complexity (implement this API contract, use this table to persist the resources, follow existing patterns and coding best practices) result in terrible code. Code that makes ALL the wrong decisions.
All that said, we don't throw up our hands and decide that junior engineers are useless lumps who signal the sure downfall of the industry, the craft, and, really, just everything, every time they do something that is... wrong. Yes, they've been coding since they were 3, but just like all the other learning models, they have been reading and weighting their nodes using ALL the code. Without experience it isn't always obvious what is good and bad. You can see this tendency in Codie's entry for this week. They remain CERTAIN that complexity == sophistication == good code
even as we repeatedly have our greatest successes by removing layer after layer of cruft. They are surprised to discover that this coder who "really knew what they were doing" really didn't.
Top comments (0)