Toot from Paul Cantrell
Any experienced programmer worth their salt will tell you that producing code — learning syntax, finding examples, combining them, adding behaviors, adding complexity — is the easy part of programming.
The hard part: “How can it break? How will it surprise us? How will it change? Does it really accomplish our goal? What is our goal? Are we all even imagining the same goal? Do we understand each other? Will the next person to work on this understand it? Should we even build this?”
Spot on.
“Do we even collectively understand each other and what we’re doing?”
That’s a hard one. It’s hard enough for the people building the software to figure that out together, let alone the people building it and the people using it to figure it out together.