←back to thread

1070 points dondraper36 | 2 comments | | HN request time: 0.416s | source
Show context
dlenski ◴[] No.45071992[source]
> A lot of engineers design by trying to think of the “ideal” system: something well-factored, near-infinitely scalable, elegantly distributed, and so on.

Was it Donald Knuth who said "premature optimization is that root of all evil"?

This article made this point very well, especially regarding the obsession with "scaling" in the SaaS world.

I've seen thousands and thousands of developer hours completely wasted, because developers were forced to massively overcomplicate greenfield code in anticipation of some entirely hypothetical future scaling requirement which either never materialized (95% of the time) or which did appear but in such a different form that the original solution only got in the way (remaining 5%).

John Ousterhout’s Philosophy of Software Design makes the case for simplicity in a book-length form. I really like how he emphasizes the importance of design simplicity for the maintainability of software; this is where I've seen it matter the most in practice.

replies(1): >>45072050 #
1. atomicnumber3 ◴[] No.45072050[source]
My current company is in that 5% part right now. Tremendous effort invested into the system, everyone involved was very proud of themselves. Unfortunately the way we actually needed to scale was almost completely untouched by any of this architecture astronomy, so we have both a terrifically complicated system - very difficult to change things without potential breakage or regression - AND it doesn't scale at all.

I don't mind, I don't blame people for not predicting the future - it's a tough game. But god the hubris and attitude we put up with until the crows came home to roost.

replies(1): >>45084353 #
2. froh ◴[] No.45084353[source]
thanks for sharing and I couldn't agree more.

I assume you mean astrology (prophecy), not astronomy (science)?