Ask HN: Are most companies just making things needlessly complex and abstract?

3 points by 0x1DEADCA0 ↗ HN
Hello,

I am able to spin up a relatively complex REST API and a UI for it in a matter of hours or days. I can have it simulate most of the complex logic that a business would need.

I am able to do this without complex build pipelines, IDE settings, run configurations, daily meetings, cloud providers, 700 maven/npm dependencies, code reviews, docker images, unread library books, coursera courses, certifications, conferences, design patterns, factory/builder patterns of my own creation, sharded databases, distributed systems, messaging queues, front-end-framework-du-jour...

I can totally accept that these things have their value and everyone is free to use them if they like.

However it is seriously making my career a living hell because there is always a new thing to learn, and the managers don't accept my way of doing things.

Perhaps I am best suited for rapidly prototyping and not building "robust enterprise systems", but I am curious to know if most people think all of the things involved in enterprise software are 100% worth it, or if some of it is needless stuff added to make a system deliberately more complex and difficult to operate within.

7 comments

[ 1.4 ms ] story [ 24.3 ms ] thread
I'm asking myself the same thing!

As a web developer, I'm more focused on good UX and a clear UI than the technology I use to get there; but these days it seems the tools are getting way too complicated to use in most situations. Then again it might be that I'm old and I miss the good old days when we could "Keep It Super Simple"...

It's honestly super depressing to see what could be possible if we didn't have the rules of 29 systems standing in our way. By the time we learn one tool, we are on to the next.

Even Leetcode interviews are easier than any of this stuff. I routinely pass leetcode/java interviews every month on average, but when I get in the actual job I struggle to be productive learning all their different tools that seemingly have no overlap from my previous job.

Software development could be extremely simplified.

But why ?

Complexity lets developers extract more money from the system. That's why it exists and it's a good thing.

If that's the angle we're taking, then fine. But I want to be in the club, I don't want to pass the interview ezpz and then actually have a hard time delivering my tickets.
Aim for the complexity that fits you. It's a choice. You can be a WordPress developer, for example.
Big companies develop tools and frameworks for their own requirements. Then they release it as open source so that they can get future employees who are already trained in those tools and framework without they investing in any training or rampup time.

Does a developer, who does not have the same requirements similar to the company that has released its internal tools, need to use those tools and frameworks? No, certainly not. Use something that you are comfortable with and not that is flavour of the month because some big tech company promotes it.

My team forces me to use the flavor of the month else i get fired