Notes from the build.
What seven years of building products and leading teams taught me about architecture, e-commerce, leadership and the craft of shipping.
All posts
Page 2 of 4- Legacy modernization
Canary Deployment: Release to a Few Users First
Canary deployment explained: how to pick canary users, which metrics to compare, when to promote or roll back, and how canaries de-risk a live platform migration.
- Legacy modernization
Change Data Capture: Keep Two Databases in Sync
Change data capture explained: log vs triggers vs polling, ordering, duplicates, schema changes, CDC vs dual writes, and when to skip it in a live migration.
- Legacy modernization
Code Audit: What to Check in an Inherited Codebase
A practical code audit checklist for inherited codebases: access, build and deploy, money paths, common security issues, and what a useful report contains.
- Legacy modernization
Database Migration: Moving Data While Users Keep Working
How to run a database migration on a live product: sync strategies, verification, staged cutover and rollback, from an engineer who led a live platform migration.
- Legacy modernization
Feature Flags: The Switch Behind Every Safe Migration
Feature flags make a live migration reversible: the four flag types, build vs. buy, fail-safe defaults and cleanup, from an engineer who led one.
- Legacy modernization
Legacy Code Refactoring: How to Change Old Code Safely
How to refactor legacy code safely: characterization tests, picking targets by risk, small reversible steps, and when to switch to an incremental migration.
- Legacy modernization
Legacy Modernization: A Practical Guide for Founders
Legacy modernization for founders and CTOs: when a system is legacy, the first 30 days of a takeover, and how to migrate a live platform incrementally.
- Legacy modernization
Legacy Modernization Services: How to Evaluate a Partner
How to evaluate legacy modernization services: what they include, red flags of rewrite-first pitches, a 30-day handover plan, and questions to ask before signing.
- Legacy modernization
Refactoring: Improve Code Without Changing What It Does
Refactoring explained by a senior engineer: how it differs from a rewrite, when it pays off, and how to do it safely with tests, small steps and code review.
- Legacy modernization
Replatforming: What It Means and When to Do It
What replatforming means, how it differs from rehosting, refactoring and rewriting, what breaks most often, and how to migrate a live app incrementally.
- Legacy modernization
Strangler Fig Pattern: How to Replace a Live System
How the strangler fig pattern replaces a live system piece by piece: put a switch in front, move slices in a safe order, handle data, and know when not to use it.
- Legacy modernization
Technical Debt: What It Is and How to Pay It Down
What technical debt really costs, how to measure it in an inherited codebase, which debt to pay first, and when to modernize instead of patching.











