Cloud is fun until the bill lands. The month ends, a budget alert pings Slack, and suddenly that neat side project or that new microservice looks like a line item with teeth. I have been there. This week after re Invent, with everyone still buzzing about new toys, it feels…
Category: Software Engineering
Comprehensive insights into building, architecting, and managing software systems. From code craftsmanship to team dynamics, explore the technical and organizational aspects of software development.
The business of software: Small Business Rules Live in Small Details
We once shipped a tiny change to our billing page at 1 a.m. and woke up to angry emails. The new plan names looked pretty in our UI, but they did not match the plan identifiers in Stripe. Cards were charged, receipts failed, and support lit up. Fifteen minutes of…
Functional Thinking in Java
I have been writing Java long enough to remember when anonymous classes felt new, and tonight I want to share how I think about functional code in Java without losing readability. Lambdas landed a while ago and streams are everywhere in code reviews. With Java 11 out this fall and…
AEM Environments with Docker
Local AEM that starts fast, feels clean, and does not cling to your laptop is a dream many of us share. I have been spinning Adobe Experience Manager on laptops for years and I keep coming back to the same wish list. I want a repeatable AEM environment, I want…
The business of software: Building and Selling Software in the Modern Era
Software as a Business Part 1: Lessons from the Trenches. A hands on take on building and selling software, written from the keyboard of someone who ships, answers support at midnight, and stares at Stripe charts with coffee in hand. These are timeless lessons you can put to work right…
AEM with Maven and HTL Setup
Spun up a clean AEM local today and wrote down the bits that keep my Maven and HTL setup neat and readable. Maven first, because future me likes boring builds When a project starts small and then grows new features each week, a tidy Maven reactor saves the day. The…
Orchestrating Deployments without Tears
Why do deployments still ache when containers were supposed to make them painless? Why does a rollout that worked on your laptop buckle in the cluster? Why does a tiny change to one service trigger pager duty pings across the floor? If your team has been flirting with Docker, sizing…
Designing for Failure in the Cloud
“Everything fails. Your job is to decide how your users will experience it.” an SRE I trust Last night on call and the quiet hero of timeouts It is late. Pager buzz. Coffee number three. A service in us east is flapping. Requests go out, nothing comes back, threads pile…
Organizing Vanilla JS in Large Projects
Vanilla JavaScript can power a serious app. No framework badge required. The trick is the way you shape files, name things, and ship the bundle. This is a field note from projects that crossed the thousand line mark and kept going. The goal is simple: stay readable, stay testable, ship…
EC2 in Practice: Instances as Cattle
\n Context \n\n\n\n A lot of teams are moving fast on AWS EC2, but many still treat servers like long lived pets. You name them, you log in to fix them, you guard them like a favorite old laptop. Then a kernel patch like the recent Spectre and Meltdown mess…