I'm a fan of the KISS principle. Keep it simple. That applies when you're building something new, but it applies just as much when you're fixing something old.

Across every role I've had — agency work, staff engineer at a fintech startup, time at AWS and Meta, consulting for startups, building my own products — the pattern is always the same. The difference between code that's maintainable and code that becomes a nightmare is usually about 5 extra minutes of thought. Not hours. Not days. Five minutes to ask: will the next person understand this? Can they extend it? Will they have to undo what I did before they can make progress?

But here's the nuance: sometimes those 5 minutes are actually 5 months in disguise. Knowing the difference is the real skill.

When Skipping the 5 Minutes Costs You

One of my junior engineers manually provisioned an EC2 instance when we needed to spin up a server. We were on a tight deadline, and I get it — clicking through the console is fast. The problem was that we ran everything through CDK. Every piece of infrastructure was defined as code.