Hi everyone. Rewrite or refactor? Today I'm going to talk about something many teams face, but few prepare for. What to do when your frontend becomes legacy and how to migrate it safely. I'm Sylwia Laskowska, senior software developer at EITOS. I'm currently working on a large distributed project for the European Commission. I'm from Gdańsk, Poland. You can visit my blog where you can read more about frontend migrations and many, many more things.
And this won't be a tutorial talk. During my career, I had plenty of opportunities to see some, let's say, historically interesting code bases and give them a second life. I migrated apps from Backbone to Vue, from Old Angular to Modern Angular, from ASP.NPC.NET to Modern Frameworks. And honestly, after some time, you can start seeing the same migration patterns everywhere. And by the way, I have a lot of experience with legacy.
I created my first website in 1999. It looks somehow like this. HTML 4.1, a guest book, visits counter, frame sets, which were back then the greatest achievement of web design. No CSS, but who needs CSS when you can have falling JS snow in winter? So this one was perfect, and I would never migrate it. And back then, I thought this is the peak of software engineering. But then we had BackboneJS, KnockoutJS, and it was like, wow, finally, interactive UI, client-side form validation.
It felt like the future of the web. And then we had ECMAScript 6, TypeScript, Modern Frameworks, and suddenly, this future became legacy, again. Because the truth is, we will all end up with legacy just sooner or later. This is because tech ages faster than the business needs. And legacy doesn't always mean ancient or exotic. It can be perfectly normal tech, just old enough to stop scaling. For example, old versions of popular libraries. And of course, no one plans for legacy.
Maybe the project was paused for six years. Maybe no one has time or budget for upgrades. Or maybe the only single developer left the company in 2020. So whatever happens, we will all end up here, which leads us to the question, why migrate at all? Because sometimes, product owners ask me, if it works, why migrate? Dev just want some shiny stuff on their CVs.
Comments