Get good at change. It's the only thing that won't change
It used to be easier to run your site. Now, you seem to be coding workarounds more than you create new features.
Why isn’t your system working like it used to? It’s not you, it’s me. Or at least it used to be. I worked for Microsoft and Amazon, and those two are constantly updating software, changing Windows and AWS bits and pieces, fixing bugs, adding features, and generally making you work hard just to keep up with all the updates. So, it’s probably not you. But it is going to get worse unless you do something about your tech stack getting older. It’s hard on everyone, but probably hardest on the tech guys.
Think of the companies that didn’t listen when Adobe said they were deprecating Flash. It got harder and harder to secure and maintain, and then, on Dec 31, 2020, it just stopped working. Full stop. And the race to find a replacement wasn’t just an inconvenience then; it was a matter of a very broken website. That’s when senior executives stop by to watch over your shoulder, asking why it’s not fixed yet.
Did you ever wonder what happened to Kongregate, the Flash-based casual games site? They’re still around, but the transition from Flash to HTML5 was not easy, and they’ve never gotten their former glory back. Customers moved on.
The same thing happened with Silverlight. Lots of companies migrated to Silverlight, because in many ways, it was better than Flash. You could simply do more with it, and expectations for websites were set higher. Until Microsoft deprecated Silverlight and asked everyone to switch to ASP.NET.
Silverlight still runs, but now that we’re on .NET 8 and ASP.NET is no longer getting updates, the cooler things you could do with Silverlight just aren’t that cool anymore. Expectations have been raised. Again. And the smart folks writing the really cool new web and mobile web interactions can’t do that in Silverlight. And soon, you won’t be able to do the cool things in ASP.NET.
Tell me something I don’t know
Yes, you know this already. And you’re working the cost vs. benefit numbers to figure out just when you should modernize. But think about the teams at the big banks who haven’t migrated from COBOL yet. The back-end systems still work, but they’re running out of developers who can help transition them. If you are one of the teams still on Silverlight, the same thing is happening to you.
It’s a predictable progression
Deprecated technology fits a pattern. We’ll use Silverlight in this example, but the same could apply to any older technology.
It starts innocently enough. Libraries update and no longer support Silverlight. So you work to find workarounds. That takes time and money. Security updates that force more workarounds and that takes time and money.
Everyone else moves on. Most public-facing teams have had to migrate from Silverlight already, as even Microsoft browsers stopped supporting Silverlight in 2021. It’s the internal users at companies that still use Silverlight that have to suffer with an old copy of Windows Explorer (or Edge set to IE mode) to get things done at work. Chrome and Safari support ended ages ago. And reliance on old browser tech hurts security as well as any new features you may be asked to deploy.
Workarounds get desperate and expensive, all for little or no end-user benefit. If you must stay with Silverlight, and you must use a new browser, you’ll have to transition all your projects to use OpenSilver, an open-source re-implementation of Silverlight that runs in WebAssembly, which is supported by all major browsers (for now).
It’s part of the technology landscape
Similar stories can be told about Objective C (old iPhone programming language), Amazon Web Services EC2-Classic, Google Universal Analytics, Google’s JavaScript Identity Services, and enough JavaScript functions to warrant a search in StackOverflow to list them all.
This isn’t a bad thing (even if you manage some of these technologies). Progress is going to happen. If the companies we work with don’t do it, they will have to support the old tech indefinitely, and you can just imagine how bloated and slow things will get if we let that happen. (Do you really miss those old DOS 3.1 features? Really?)
Darwin would have liked IT
IT systems evolve. It’s natural. Systems that can do more things faster displace systems that can’t. Denying this is a path to technical extinction. So get good at evolution. Which means planning for and embracing change. It really is less painful to modernize sooner rather than later, and building good habits and practices now around modernizing every few years will help transitions and migrations go more smoothly in the future. If it sounds painful at first, just be thankful you don’t run a bank built on COBOL.