←back to thread

1070 points dondraper36 | 2 comments | | HN request time: 0.675s | source
Show context
sfpotter ◴[] No.45069112[source]
Generally speaking, when I hear people say this, it's a huge red flag. Really, any time anyone puts forth any kind of broad proclamation about how software development should be done, my hackles go up. Either they don't know what they're talking about, they're full of shit, or both. The only reasonable thing to conclude after lots of experience with software development is that it's hard and requires care and deliberation. There is no one-size-fits-all advice. What I want to see is people who are open-minded and thoughtful.
replies(8): >>45069256 #>>45069351 #>>45069358 #>>45069645 #>>45069655 #>>45069794 #>>45070229 #>>45070818 #
whizzter ◴[] No.45069351[source]
I was initially annoyed at parts of the article, but it does point out that "hacks" often adds hidden complexity that isn't simple so there is a clarity about the tradeoff.

Now the problem with the headline and repeating it is, when "just do a simple thing" becomes mandated from management (technical or not), there comes a certain stress about trying to keep it simple and if you try running with it for a complex problems you easily end up with those hacks that become innate knowledge that's hard to transfer instead of a good design (that seemed complex upfront).

Conversly, I think a lot of "needless complexity" comes from badly planned projects where people being bitten by having to continuously add hacks to handle wild requirements easily end up overdesigning something to catch them, only to end up with no more complexity in that area and then playing catchup with the next area needing ugly hacks (to then try to design that area that stabilized and the cycle repeats).

This is why as developers we do need to inject ourselves into meetings (however boring they are) where things that do land up on our desks are decided.

replies(1): >>45069643 #
1. stephenlf ◴[] No.45069643[source]
It’s Rich Hickey’s “Simple made Easy” all over again. “Simple” is not the easy path. Simple (or simplex, unbraided) describes an end product with very little interleaving of components. Simplicity is elegant. It takes a lot of hard work to achieve a simple end product.
replies(1): >>45073426 #
2. strtok ◴[] No.45073426[source]
I was about to say the same. One of the best software talks of all time.