What if I could convince you that taking the same time to explain detailed requirements and carefully validate results with a junior colleague instead of a chatbot would not only give you two people who understood the code instead of zero, but if you do it a few times in a row you eventually get a senior colleague out of the deal for free.
If you have a fediverse account, you can quote this note from your own instance. Search https://cosocial.ca/users/mhoye/statuses/116148772813747144 on your instance and quote it. (Note that quoting is not supported in Mastodon.)
RE: https://cosocial.ca/@mhoye/116148772813747144
To expand this point: software is composed of code, organizational processes, and people. A surprisingly large number of software developers are narrowly focused on generating code and miss all the surrounding processes and people (skills, knowledge, understanding of goals) that make that code usable.
"It's so good at generating code" doesn't address the costs in other categories:
- Degradation of processes. For example, you get denial of service on code reviews means code reviews go away, "it passes tests, it's fine!"
- Degradation of people's skills and knowledge. If it breaks, no one will know how it works because no one really understands the code. And an experienced engineer can only control an agent because they have experience _writing code_. If you stop writing code, that experience degrades, new people don't get it, and control of the agent degrades.
For this narrow focus on artifacts, and not the surrounding requirements, I highly recommend the book "What Machines Can't Do: Politics and Technology in the Industrial Enterprise", by Robert J. Thomas. (It has nothing to do with AI, it's about manufacturing.) But you see the failure modes from he calls having only an aesthetic of product, and no aesthetic of process; similar failure modes result in the original DevOps movement, which was a political movement, not a job title.
RE: https://cosocial.ca/@mhoye/116148772813747144
I think of this every time I see AGENTS.md or CLAUDE.md. WHAT YOU ARE WRITING IS DOCUMENTATION. Why are you suddenly interested in writing clear documentation for the robots when this information would have been helpful for every human contributor who came across your project??