logoalt Hacker News

0c3ca83 • yesterday at 11:43 PM • 4 replies • view on HN

I always wonder why systems are designed so poorly that it takes weeks of boilerplate to use them for their intended purpose.

At what stage did the engineering fail?


Replies

ManBeardPc • today at 12:02 AM

Tons of unstructured data that needs to be cleaned up in so many different ways that are hard to predict. Knowledge distributed in the heads of greybeards, handwritten papers und excel, sharepoint and dozens other locations like ancient proprietary software. Which you have to repeatedly ask for and discover more piece by piece. Then clean up, discover issues, make the customer gather more data/correct it, etc.

➕ show 2 replies
somenameforme • today at 1:33 AM

Probably a controversial take - but in the pursuit of elegance. 'Uhh, so I need to hook this connector up to that receiver using this adapter and then uh, I pass it to the connector manager which sends it to the scheduler that... @#%! FML.' And then it's all so polymorphicized that going through the debugger you spend an eternity just trying to figure out what the types even mean and why/where they came from.

When you look at old-school code that just hacked things together, it was ugly, but also very easy to in turn further hack. There was no elegance or grand base types with 80 levels of inheritance to enable clean extension at every possible juncture of types. And no spending forever to find out the exact function you want to be able to override, only to discover that it's outside your modifiable codebase and wasn't marked virtual. Everything just worked.

➕ show 2 replies
BobbyTables2 • yesterday at 11:49 PM

I think a lot of “boilerplate” is just to align with a company’s way of doing things/ecosystem.

In a webpage the UI design, authentication, etc. are all “boilerplate” if one just wants to do “X” instead of worry about infrastructure.

➕ show 1 reply
grebc • today at 12:40 AM

You’re not meant to ask that question.