Your Life Depends On Their Package

We built a global infrastructure on the assumption that some guy in Oakland would keep paying for his domain registration. Remember when an npm package broke the internet with a single deploy? I do. FORK. YOUR, DEPENDENCIES. VENDOR. THEM. VERSION LOCK THEM. Yes, it feels paranoid but know what else…

Infrastructure as Code

My first introduction to IAC was Ansible in about 2015. Writing playbooks instead of SSHing into boxes and running commands like some kind of digital archaeologist. Suddenly infrastructure was repeatable which alone felt like magic. Then Terraform. YAML with remote state in S3 for version control was next for me.…

Kermit the Frog Taught Me to Code

The origin story nobody asks about but everyone should. 1995? 1994? 1993? 1992? We all have our Eben Visher. My parents family friend, Eben Visher, typed commands into a black screen while I watched like it was sorcery, as he would come over all the time to fix our computers.…

Command Bus Pattern

In 2013, at EVALS, I implemented the command bus pattern for the first time quite heavily. We had a modular backend, and using it as a way to coordinate across module boundaries felt cleaner than injecting services or passing DTOs around. It had intent baked in. Action. For the right…

Engineers, Stop Baking 40-Layer Cakes When a Cupcake Will Do

You're an engineer with a Turborepo monorepo, pnpm workspaces, Next.js, Docker Compose with Kubernetes, Helm charts, GitHub Actions, Terraform, Datadog, and whatever landed on AWS this week. You think you're building something sleek. You're building a 40-story skyscraper to serve a lemonade stand.…

The Architecture I Keep Coming Back To

Twenty-five years of backend services. I've shipped MVC, MVVM, full DDD, hexagonal, clean architecture. All of them work. None of them are wrong. But when I start something new, I keep defaulting to the same structure. SOA with a thin application layer and domain modules. Not because it&…

Anti-Corruption Layer Pattern

ACL. ACL. ACL. You might be using this pattern right now. Following it. Borrowing from it and you have no idea it has a name. At NinjaCat, one of the first tasks handed to me when I joined, was making our MongoDB data warehouse more reliable and scalable. I did…

From Basement Prototype to Nationwide Impact

In 2012, I co-founded a company (https://EVALS.NET) that built a SaaS product out of my basement in California (yes, a basement in California—I know, rare). It started with an idea, a friend dropping by, and a prototype that barely held together. That friend made three phone calls…

DTOs Are Powerful.

Whether you're in C#, Python, Java, PHP, TypeScript, or Ruby, somewhere in your codebase there's a dictionary getting passed around like a mystery grab bag at a white elephant party. "Here's some stuff. Figure it out." Look familiar? public void ProcessUser(IDictionary&…

Your Technical Interviews Suck

You're rejecting candidates because they didn't reverse a binary tree in 12 minutes. On a whiteboard. While someone watched. That's not evaluation. That's a hazing ritual with a MacBook. You want to know if someone can build your CRUD app. So you…