Ask HN: What's the most overengineered tool everyone uses but won't admit sucks?
Looking to build something open source and trying to figure out what tools everyone pretends to love but actually hate.
I'll start. Jira. We all use it, we all hate it, nobody admits how much time we waste updating tickets.
Did you move it to the right column? Story points aren't filled out. Link it to the epic.
Meanwhile the actual work takes 2 hours, documenting it takes another hour.
Half the team ignores it, the other half are obsessed with workflows that have 47 different statuses. But try suggesting GitHub issues and suddenly "how will we track velocity??"
What tool is supposed to make you productive but just creates busywork?
Next.js:
- so many rendering modes - SSG, SSR, ISR, streaming SSR, PPR, client and server components.
- de facto Vercel lock in: edge runtime, middleware, image optimization, ISR, and lots more are massively complex to set up or less performant off Vercel.
- fragmented ecosystem between app and page router.
- so much boilerplate with the app router: layout.js, loading.js, error.js, page.js
Not everything here is bad - in fact some parts are excellent. There's just so much of it, so many ways of doing any single thing and already so much legacy code in a system that's only a few years old, and it's growing in complexity with every release.
Next.js feels like a tech demo that exists to demonstrate a bunch of highly optimised paths to frontend development. Yes, my page probably will load faster if I did so and so, but all the work required for it is not worth the 2ms saved.
I'm sure someone will chime in with "skill issue", and that's true to some extent, but you gotta admit it's an over-engineered "solution".
Next was so good at first with just the page router and ISR. That solved like 90% of common front-end headaches, especially compared to the hodgepodge of other React Frankensteins at the time.
Then they pivoted to the overengineered insanity that is RSC and the app router.
I have yet to see a project or developer use that to its potential. I don't know who they're targeting anymore, feels like some sort of mythical 100x developer who loves hyper optimizing every paragraph differently.
I work in support (for another company) now and several times a week I see Next users confused by all the different options. Their documentation isn't great at explaining all the differences either. They're moving way too fast and leaving all the developers behind and adding more and more black box magic optimized for Vercel hosting.
Enshittification as always, I suppose.
Maybe it's time to fork it into something simpler and stabler? I would be perfectly happy with Next from four or five years ago. Prev.js?
Jira's a great tool with a terrible UI. You have to heavily customize it, build it into your command line, automate stuff and so on.
Git. Most people have no need for 95 percent of its features and don't have a good mental model of how it works. Just copy and paste commands to get it to work, more or less.
I have to disagree with this strongly. Git is probably the perfect software. It is designed around a mental model that is exactly matched to its use case. Far from copy pasting experienced developers are often fluent in the git model and use it intentionally. I took a look at the man page out of curiosity given your 95 percent comment and I would agree that the majority of ancillary and log level commands are unused. But looking only at the main porcelain commands I would say I regularly use 80 percent of them.
The git model is great but the interface is not carefully designed.
I think if the interface were better, fewer people would be copy pasting git commands.
There's UIs for git. People seem to be embarrassed about using them, but I've always liked them.
Nobody knows how it works, but we have a good mental model of the high level behavior, and we understand the features we actually use.
I didn't use to be a religious man. Then I started using git and now I understand the power of prayer.
Git is the one software that I know less about the more I use it. 10+ years now, and every month I learn some new quirk. It very much has that "designed by engineers, for one particular super smart engineer, gl everyone else" vibe. I'm like a 0.5x dev at best and my brain doesn't have enough folds to fit its mental model.
On the other hand, I don't feel punished for not using the complex stuff. Still miss (some parts of) Darcs, though... it was so "user first" compared to this.
A lot of people have taken on git too, but at this point it’s so entrenched I’m not sure it’s going away anytime soon.
Maybe we’ll have more agentic SCM that auto solves merges and all that fun stuff in the future. But for now we are stuck with a pretty challenging piece of software
I think the Git CLI is very learnable.
JIRA gets a lot of deserved hate but I think nearly all software work tracking systems suffer from the same issue: marketing over promises about velocity and predictions about project delivery timelines.
Have we as an industry gotten any better at delivering projects on time? If you have a lot of dysfunction in your organization no software is going to fix that. Or to put it another way, you can’t solve people problems with software.
The whole story point thing seems like a scam where some invented currency is used to trick people into not seeing reality.
I’ve never worked on a team where any nontrivial task could be done by any two people in roughly the same amount of time.
Experience, skill, subject area familiarity — everyone is different.
It is utter madness to estimate sprints before assigning the work!
We just stopped using story points when nobody could agree on them. I used emojis as story points once. A colleague asked wtf the :D meant vs :/ or :( or :').
I said I had no idea. I just put how I felt. Some things looked simple but gave me a bad feeling; the bad feeling was always mostly justified.
Every day I'd add up all the emojis for the day, which adds up to ~8 hours. After a week, we add them up again for ~40 hours. Eventually we got a pretty decent estimate that :) meant half an hour and the vomiting one would be at least 3 days.
Some emojis like the grimacing were an indicator that we needed to run a spike on this - it just wasn't groomed enough. Some are an indicator that we didn't trust the other person expected to handle this.
Everyone has different emojis just as they have different emotions about the same task. One person may like refactoring, another may be better at UI.
None are entirely accurate but such is the nature of software. Story points are misleading because they are precise but inaccurate.
Right. We're optimizing for the wrong metrics. Hours spent arguing if something is a 3 or 5 story points could've been spent just building it.
The obsession with predictability in an unpredictable process is the real problem, especially in copilot and cursor era. :D
If people are arguing between 3 and 5 points just pick one and move on.
If people are arguing between 3 and 21 points there's a mismatch in understanding what the work entails.
Often the highest is the correct answer. If it's 21, then break it down until nobody thinks it's 21.
It's used to justify jobs of scrum/pm people and I'm tired of being polite about it. Imagine we enter a tech company, decide it's LARPing time, and create DnD rules for a completely made up role and then pay someone to do it. That is literally what has been happening in the tech industry.
Jira is also just terribly built
Maybe I am the odd one out, but I don’t hate JIRA. From my POV it works pretty well. I would agree Github Issues would be nicer though.
By the way in last few companies I worked at I’ve been using Azure DevOps and that feels over engineered to me. I think much stuff could be done with Github Actions instead.
At times I looked at AWS services, but also seems quite complex and I find the website navigation horrible - at least last time I tried.
The entire javascript ecosystems since the advent of node.
helm, except everyone I’ve ever worked with who has spent enough time with it freely admits that it kind of sucks.
MacOS
It's not what you'd expect for a linux machine but it just works and has a reliable ecosystem with iOS. The worst is trying to understand how it stores information, but again if you're expecting control like in a linux machine, prepare to be disappointed.
I think MacOS is simply a terrible UNIX environment, period. The BSD bones are good, but the XNU kernel itself is a disaster and the way Apple handles user isolation, package management and runtime idempotency borders on outright neglect. Kernel extensions are depreciated and no DKMS equivalent exists, 32-bit support gets axed overnight and even simple drivers can't be ported from other UNIX-likes to MacOS. No wonder Linux is considered a more serious standard, all the UNIXes are trying to fucking murder each other instead of progressing the POSIX standard!
It really does not "just work", unless you're treating the Mac like an iPad. 20 years ago the Mac compiled software just as good as anything else, today it can't install Vulkan headers because third-party software scares Apple. Simply holding Apple to the standards of their contemporaries reveals that they're paranoid and do not trust their users.
Anybody else gets audio skipping with Spotify and random app freezes? Feels worse than an obscure Linux distro.
Related. Apple is turning into Sony with their naming of stuff.
In my house I have Apple branded hardware running:
Mac OS
Mac OS X Server
Mac OS X
OS X
macOS
iOS
iPad OS
tvOS
watchOS
homeOS
audioOS
And now I’ll have the strange honor of having two Macs, one running Mac OS X Server 1.23 and one running macOS 26.
That’s spanning decades. The current lineup is highly consistent: macOS, iPadOS (I don’t think Apple uses a space here), tvOS, watchOS, audioOS all use product categoryOS.
homeOS doesn’t exist yet for the public, does it?
The only outlier is iOS, which should have been called phoneOS or iPhoneOS.
What, no A/UX or Mach?
https://en.wikipedia.org/wiki/A/UX
https://en.wikipedia.org/wiki/Mach_(kernel)
Hey, you should pick up some carrier-grade Cisco routers and switches, and run IOS to tie 'em all together!
https://en.wikipedia.org/wiki/Cisco_IOS
Why is naming an OS differently when it is actually a different OS with shared features?
What are the differences between OS X El Capitan and macOS Sierra?
You listed a bunch of OS’s for other hardware.
iPads used to run iOS now they run on iPadOS.
It just feels so far from Steve Jobs 2x2 grid of products.
Because the iPad has always had a different gesture set than the iPhone.
[flagged]
Big one, but I've had a few people who admit that it's shit.
It's shit but it's just enough to get the job done/get out of your way, As long as you play by its rules
I think you could copy/paste this excuse for the failings of every computer operating system since XP.
"Just enough" isn't going to cut it when the rest of the experience is subscription slopware, dark patterns and hidden advertisements. Microsoft doesn't get a free pass for it and neither does Apple - OSes weren't always like this!
It’s probably the best at that on a fresh stock/retail install on supported hardware of Windows/macOS/Linux (Ubuntu).
JIRA might be like C++. It's OK if you just use a subset, and everyone uses the same one. If you use all of it, though, you get a mess.
The fundamental problem with JIRA is that it's trying to be usable for all the workflows in all companies in all the world. It's hard to do that simply.
And the problem with using it is that companies don't fix their workflow; they just try to port their existing workflow to JIRA. The result is that all the frustrations with the workflow turn into "frustrations with JIRA" (on top of the frustrations that are actually due to JIRA itself).
Everyone I know who uses Jira hates it. I don’t think there’s a lack of people ready to point out the things they hate about it.
I have one:
I hate that browsers (except Firefox) won’t let me copy a column of data from a table on a webpage. It’s 2025, most tables are going to be data these days, not layout.
[dead]
[dead]
[dead]