I thought bringing this article up during the AI era might spark some good discussion.
My thoughts to start:
I read this a while ago, and it shaped how I think about iterating on software. For example, I've been working on an internal tool for several years. While it was immediately useful, it has become significantly more valuable over time as we discovered what features it actually needed, adjusting the roadmap based on real usage, correcting poor assumptions, and working with behavior driven feedback.
Code generation is not the bottleneck of great software. Human discovery is.
Like Joel notes:
"[...] getting good software over the course of 10 years assumes that for at least 8 of those years, you’re getting good feedback from your customers, and good innovations from your competitors that you can copy, and good ideas [...] You have to release early, incomplete versions"
Good software takes ten years to build, and I don't see AI accelerating that timeline. In the end, it's the human in the loop that matters when it comes to refining software over a decade.
AI is a multiplier for the typing part, but the limiting factor of software (especially software built FOR humans) is human bandwidth: the time it takes for users to encounter a pain point, articulate it, and for us to engineer a solution that fits into the system. True innovation is found in the balance between the tool and its users.
My thoughts to start:
I read this a while ago, and it shaped how I think about iterating on software. For example, I've been working on an internal tool for several years. While it was immediately useful, it has become significantly more valuable over time as we discovered what features it actually needed, adjusting the roadmap based on real usage, correcting poor assumptions, and working with behavior driven feedback.
Code generation is not the bottleneck of great software. Human discovery is.
Like Joel notes:
"[...] getting good software over the course of 10 years assumes that for at least 8 of those years, you’re getting good feedback from your customers, and good innovations from your competitors that you can copy, and good ideas [...] You have to release early, incomplete versions"
Good software takes ten years to build, and I don't see AI accelerating that timeline. In the end, it's the human in the loop that matters when it comes to refining software over a decade.
AI is a multiplier for the typing part, but the limiting factor of software (especially software built FOR humans) is human bandwidth: the time it takes for users to encounter a pain point, articulate it, and for us to engineer a solution that fits into the system. True innovation is found in the balance between the tool and its users.