All of this, plus, writing the documentation before building the app. I remember a Dilbert cartoon making fun of this being about the time I started realizing Dilbert wasn’t as smart as I had thought.

If you can’t write the documentation before you’ve written the code, you don’t understand well enough what you’re building the code for.

It’s one thing to jump into code because it’s fun to write code. But writing code is not designing software, and vice versa.

Same goes for APIs. Writing docs for an API that doesn’t yet exist can help create a much more complete and coherent API.

This is why I’m often trying to help stakeholders understand that the vast majority of software development has very little to do with actually writing code.

Herein also lies a concern I have about AI assisted development. It can be a powerful aid to the design stages, and it can be a powerful aid to writing code, but I’m not sure it enables skipping the design aspects altogether and somehow coming up with a complete, coherent product.

Dilbert was just a normal person with average intelligence. His intelligence was magnified by ppl around him.