People in glass houses…
Software engineering isn’t engineering.
Yes, it is. Mostly because “real engineering” isn’t the high bar it’s made out to be. From that blog:
Nobody I read in these arguments, not one single person, ever worked as a “real” engineer. At best they had some classical training in the classroom, but we all know that looks nothing like reality. Nobody in this debate had anything more than stereotypes to work with. The difference between the engineering in our heads and in reality has been noticed by others before, most visibly by Glenn Vanderburg. He read books on engineering to figure out the difference. But I wanted to go further.
Software has developed in an area where the cost of failure is relatively low. We might make million dollar mistakes, but it’s not likely anybody dies from it. In areas where somebody could die from bad software, techniques like formal verification come into play. Those tend to make everything take 10 times longer, and there’s no compelling reason for the industry at large to do that.
If anything, we should lean into this as an advantage. How fast can we make the cycle of change to deployment?
Looks like an ai did that
That’s why I’m proud to be also programming in HTML
“prompt engineering” in itself is such an embarrassing term for the act of saying “computer uhhh show me epic boobies!!”
like that joke about calling dishwashing “submerged porcelain technician” but unironically
Bro if you could get there just by prompting, it would be.
There are no models good enough to just ask for something to be done and it gets done.
There will be someday though.
Build an entire ecosystem, with multiple frontends, apps, databases, admin portals. It needs to work with my industry. Make it run cheap on the cloud. Also make sure it’s pretty.
The prompts are getting so large we may need to make some sort of… Structured language to pipe into… a device that would… compile it all…
I mean it can start much smaller.
Here is access to a jira board. Here are unit tests. Do stuff until it works.
Perfect! We’ll just write out the definition of the product completely in Jira, in a specific way, so the application can understand it - tweak until it’s perfect, write unit tests around our Jira to make sure those all work - maybe we write a structured way to describe each item aaand we’ve reinvented programming.
I see where you’re going, but I’ve worked with AI models for the last year in depth, and there’s some really cool stuff they can do. However, truly learning about them means learning their hard pitfalls, and LLMs as written would not be able to build an entire application. They can help speed up parts of it, but the more context means more VRAM exponentially, and eventually larger models, and that’s just to get code spit out. Not to mention there is nuance in English that’s hard to express, that requirements are never perfect, that LLMs can iterate for very long before they run out of VRAM, that they can’t do devops or hook into running apps - the list goes on.
AI has been overhyped by business because they’re frothing at the mouth to automate everyone away - which is too bad because what it does do well it does great at - with limitations. This is my… 3rd or 4th cycle where business has assumed they can automate away engineers, and each time it just ends up generating new problems that need to be solved. Our jobs will evolve, sure, but we’re not going away.