Hacker News new | ask | show | jobs
by ryandvm 44 days ago
You're right, but it's not just Microsoft.

I've been doing software engineering for 20+ years. I've been at a lot of different companies and at almost every single one I'm always kind of flabbergasted at how shabby the engineering is. I think maybe ONCE in my career did I work somewhere that I was proud of the engineering we were doing and it was a 18 month consulting gig at a startup with 3 engineers.

This isn't hubris, I am part of the problem. Too few engineers working with overly vague requirements with not enough time always results in the same thing. We are all churning out products we should be embarrassed about.

Microsoft might be the largest, most flagrant example, but code base entropy is a rampant force of nature. It is everywhere. Google Home gets steadily worse every week. How? They have like 100,000 engineers. Can they not spare a dozen of them to keep that product from being abject shit?

Is there a solution? I don't know, but maybe LLMs replacing 80% of us is exactly what we deserve.

4 comments

> I don't know, but maybe LLMs replacing 80% of us is exactly what we deserve.

Been there, done that, but I wouldn't put the blame on engineers. You said there it yourself:

> Too few engineers working with overly vague requirements with not enough time always results in the same thing. We are all churning out products we should be embarrassed about. [...] They have like 100,000 engineers. Can they not spare a dozen of them to keep that product from being abject shit?

You know the big O thing. If your algorithm is inefficient, it will ultimately slow down to a crawl at one point, no matter how many cores you throw at it. Now replace 'algorithm' and 'cores' with 'corporate processes' and 'employees' and you get a picture of what is exactly happening at large bureaucracies. Even worse so now that they can no longer afford to infinitely expand and have to cut costs (through LLMs and offshoring) while maintaining an illusion of growth for stakeholders.

The funny thing is that, despite all of this, the core problem (IMO) of managers playing political games and reaching for short-sighted quick fixes like "new agile methodologies" [0] instead of doing their jobs well remains unaddressed. Meta has been recently letting go of middle managers in a (frantic?) attempt to tame the explosion of bureaucracy and the associated loss of efficiency, but the rest of the industry just appears to be repeating "AI" like a mantra. Even though coding itself has already been the most "over-optimized" part of the whole software development process and optimizing (the costs of) it further only results in further "Outlookization" of software.

[0] https://newsletter.pragmaticengineer.com/p/project-managemen...

The solution is competition in software. But it's a really, really dysfunctional market. Outlook persists because it can speak to Exchange. Too many bad software products persist because they're part of a lock-in with something that's difficult or expensive to swap out. Ultimately, Windows itself.
The problem is more to do with people don't want to pay for software anymore. How would a new email entrant make money when no one will pay for it?
The same question can be asked in this case: if there's no money in it, why did Microsoft pay for the creation of a new Outlook that's apparently worse than the old Outlook?
I think it might be less about making money and more about burning less. From what I understand, the new Outlook is a wrapper around the code that already powers Outlook.com. Since they're already maintaining Outlook.com, they might as well integrate the functionality of the Office Outlook into it and only maintain one of the two moving forward.
Actually the answer is quite simple, their servers are the ones retrieving emails so they have access to the email contents (perhaps for training data?)
That isn't really an answer at all, as you can do what you like with data on your servers without making a new client.

Even client side, that doesn't explain (as per article) a complete do-over as a web app wrapped in a browser.

Prior to this new version, Outlook did not pull emails through Microsoft servers but pulled them directly from the mail server configured. Now, when you retrieve email from Outlook New, Microsoft servers are "proxying" the emails through their systems.
I get a weird feeling when I watch vga/dos programs like Quattro Pro 5. These were large programs quite well done, on very very limited machines. Today apps may not even provide that much (but they are fully networked, maybe more extensible).
Since Classic Outlook was developed in the glory days of OLE2.0, it's got OLE Automation baked in. VB and JScript code can access emails and appointments and perform relevant operations on those objects.
Yep, let the AI write efficient code in a compiled language. Switch everything to C++/Dlang/Rust. You are not writing the code anyway, so all arguments against those languages are moot now. Replace Node.js, Electron, and even Java/C#.