Engineering
How I'd modernise a legacy application
Improve things incrementally instead of betting on a big rewrite.
Assess the constraints
Legacy code often remains useful and functional so I start with the working parts, parts that need improvement or updates, and what the business can't afford to break.
It is important to understand how changes might impact the user, how often you deploy, and what the team already knows all shape the plan.
Don't necessarily rewrite
Where you can, ship new features on modern stacks while the old paths stay stable. APIs and adapters bridge the two until migration is safe.
That keeps revenue coming in and avoids the multi-month rewrite that never ships. It is important to understand the trade-offs and choose the best approach for the situation.
Improve the foundation first
Implimenting or improving version control, staging, automated deploys, and basic observability often help more than swapping frameworks.
Then we can tackle the bits that most challenging areas: auth, data access, or the modules that change every week.
Measure progress
Faster deploys, fewer incidents, and developers who can change code without fear are the signs that it's working.
While the stack is a means to an end, maintainability and speed are the most imortant outcomes.