Hacker News new | ask | show | jobs
by titzer 1775 days ago
"Essential" is always relative to requirements. If the requirements include interacting with a poorly-designed, buggy, complicated piece of other software, then yeah, you have essential complexity. Enlightenment is when you realize that you can keep zooming out and dumping what seem like essential requirements but are really just BS that follows from interacting with constantly-changing crapball software stacks.
2 comments

Nah, that’s a cop out. There’s nothing enlightening about shrugging off complexity.

If a system is hard to interface with, the complexity is still accidental, it is just outside your own system and maybe out of your control.

Even if you’re a “middleware” company that connects multiple shitty systems together, you’re still adding zero value to anything but your own pocket. The complexity is still there.

We still have the right to call a spade a spade. In the past I had to say “no” to managers about interfacing with shitty systems. Sometimes you CAN make a difference.

Aren't we kind of agreeing, given your last two sentences?
I'd say "essential" refers to the value statement.

The translation of that into requirements is by itself one of the largest sources of accidental complexity.

And even the value statement sometimes is wrong and leads to unnecessary complexity too.

> The translation of that into requirements is by itself one of the largest sources of accidental complexity.

Good point!