Hacker News new | ask | show | jobs
by rraghur 2490 days ago
For largish problems, a general idea of the key structures and abstractions.. what's desirable, what's not... It becomes hard to think of how certain parts of the system mesh together... At that point, to avoid analysis paralysis, I write the scaffolding and some tests to see how the API feels... Most often, doing this clarifies stone assumptions that I was perhaps inadvertently making and leaves me with a path forward (after moving things around a bit)

So definitely iterative..

Whenever I've tried to design completely, it's rarely worked well. What has happened as I've grown older is that most parts of the system are orthogonal to others and it's usually not very complicated to compose parts together. So that leaves me with focusing on the core problem more up front and then layering in the other needed (but known) parts