4 ms·
I'd like to see a real study done on this, but if I were to hazard a guess, I think it boils down to: organization size, feature prioritization, development pro
by WinLychee 4y ago
I'd like to see a real study done on this, but if I were to hazard a guess, I think it boils down to: organization size, feature prioritization, development process, and finally lack of knowledge or care. It's a symptom of the way software gets written in the modern day, and isn't unique to Slack or Teams at all. Companies that don't do this tend to care obsessively about it, but it's not common at all IME.
When you work in orgs with hundreds or thousands of developers working at a breakneck pace churning out feature after feature for years, on a perpetual "sprint", your architecture tends to resemble a multi-layered bowl of spaghetti. A single button click may result in hundreds of database calls (maybe concurrent, maybe cached), or at a minimum invoke dozens of javascript packages in a Rube Goldberg-esque fashion to perform an action which should take a modern computer a single digit number of milliseconds, but instead results in 10 second load times. Sometimes people just completely forget about entire code paths, and then it becomes dangerous to delete since the persons(s) who wrote it either no longer work there, or got reorged and moved on.
There are absolutely people who care about software performance, but it isn't a priority because it usually doesn't make you more money, won't get you or your boss promoted (unless it saves money), and is difficult to maintain in the long-term given the pace of change in large codebases. When you do tackle performance problems, it's because you were absolutely forced to due to necessity. In certain domains it is also more important e.g. games, embedded systems, ML applications, etc.
One other thought, is that many developers today cannot build software from first principals, as they never learned how. Many only know how to build within the context of a browser environment, and think a "minimal" app is https://create-react-app.dev/ https://create-react-app.dev/ . That's not just me grumbling, it's how our industry works. You forget the layers below you, and build new ones, each generation forgetting most of what the prior knew. The result is giant bloated applications, and a normalization of slowness in software.
I still have hope for small teams of dedicated devs. Fast, coherent software gets written by tiny teams or single individuals.
- brundolf 4y agoYeah, the organizational issue is my guess too. Though I'm still amazed Teams managed to spiral down that path so quickly
- WinLychee 4y agoMicrosoft used to be able to create really great desktop software. I thought Windows 98, XP, and 7 were incredibly slick and well done. Old versions of Office ran well on CPUs slower than those found in modern toasters. I too am curious of what sort of... dynamics are going on internally. I blame Agile/Scrum lol.