Ok…? That doesn’t change the fact that Microsoft was enshitifying the software they bought before “AI” was a thing. They didn’t suddenly start doing it when LLMs happened.
There’s always room for improvement.
They were doing that before “AI” development was a thing
If we’re talking about the Linux kernel or Netflix’s video delivery infrastructure, maybe. But the majority of developers are not working on those. And I’m still going to call it “unavoidable technical debt” because for all intents and purposes that’s what it is.
If your project is easy to maintain (aka low tech debt) that means it should be easy to understand the overall structure and it should be easy to understand any given component. So a new dev should be able to quickly figure out what part they need to change and how to change that part.
Some large, complex systems (like an OS) are unavoidably complex. Maybe it’s not fair to call that tech debt, but it’s still functionally the same thing - stuff that slows down development velocity due to difficulty of understanding. It’s just (probably) unavoidable given the domain.
But the majority of software projects aren’t that complex. The majority of software is apps and libraries that aren’t terribly complex. Monsters like operating systems and million to billion user scale products are outliers.
“How easy is it to onboard?” is functionally equivalent to “How easy is it to understand?”. The biggest factor in maintainability almost always boils down to how easy it is to understand. So, difficult to onboard almost certainly means difficult to maintain, and thus is tech debt.
Anything that makes the codebase harder to maintain than it should be is technical debt.
Startups and small companies where there simply aren’t enough resources to set up proper operational controls
I think “meta” here means “a post about the platform I’m posting on”. You know, the original meaning of the word, not the company that decided to name itself after a word because it sounded cool or some other idiotic bullshit like that.
And that exact reason is why I use a distro with rolling updates
I’m was working on software that doesn’t exclusively target windows. Windows is only a decent dev environment if you’re targeting nothing but Windows. Any other kind of development is a worse, potentially way worse experience than it is on Linux. Using docker on Windows is painful. Using git is painful. Using bash is painful. The list goes on forever.
Ok… but we’re comparing Linux, Windows, and macOS. Talking about something that can only be done on one of them is kind of pointless. You said “I’d run Windows over Mac any day” and then shat on Xcode. That makes it sound like you prefer Windows because you hate Xcode. From my perspective - the context of things that could also be done on Windows - the solution is obvious: don’t use the tool you hate.