I almost only work in small companies, and in and near the agile world.
What I've learned is that while architecture is very important, it's best done after the code is written. It's hard to convince anyone of this who hasn't experienced it :)
I almost only work in small companies, and in and near the agile world.
What I've learned is that while architecture is very important, it's best done after the code is written. It's hard to convince anyone of this who hasn't experienced it :)
$productivity = amount scammed out of customers - developer cost
I wish I could find the leaked document.
[1] https://www.vox.com/technology/2023/6/21/23768370/cancel-ama...
Once it's working, you know enormously more than when you started, and all you have to do is refactor the mediocre design you happened to build into something better, without breaking the functionality.
With good test suites and solid refactoring skills, that is actually both very doable and often a lot of fun!
Similarly, I always like to say you should plan to write (at least) two versions/iterations of everything. The first one bottom up, to discover what problem you're solving, and the second top down, once you know the problem.
Knuth continues to retroactively impress me!