5 Things I Stopped Doing as a Lead

Susiloharjo

I led a small engineering team for two years. We shipped on time, the code was clean, and the standups were short. By every metric I cared about, the team looked fine. Then three of my best engineers quit within a month. None of them had a single conversation with me before they handed in their notice.

The exit interviews told me what I should have seen earlier. They were not burned out by the work. They were burned out by the way I gave it to them.

I spent the next six months rebuilding how I delegated. I read four books on engineering management. I ran a one-on-one feedback survey every Friday for twelve weeks. I shipped a working team again, and the difference was not subtle.

Here are the five delegation habits I had to kill. If you are a tech lead and any of these feel familiar, the exit interview pattern will too.

Read more

Why a Simple If-Else Can Beat an LLM

Code logic: simple if-else flow chart contrasting with LLM API endpoint

Why a Simple If-Else Can Beat an LLM

TL;DR: When you can describe the inputs and the expected outputs in advance, you don’t need a model — you need a function. Here’s the principle, the proof, and the one case where the principle breaks.

A teammate burned $47 of API credits last quarter on a “smart” classifier. The job: sort incoming support emails into four buckets (billing, technical, account, other) and route them to the right Slack channel. The model nailed it about 91% of the time. The remaining 9% it was confidently, hilariously wrong — sending a billing dispute to the technical channel, an outage report to “other.”

I replaced it with a 40-line Python script using if and a handful of keyword checks. It runs in 12 milliseconds per email, costs $0, and gets the same 91% — except the 9% it gets wrong are predictably wrong, so we know to watch them. The classifier used to hallucinate categories that didn’t exist. The script never invents a fifth bucket.

That’s not an edge case. That’s the principle: when the parameters are already known, deterministic code is the right answer. The question is why this works, and when it stops working.

Read more

Simon Sinek: Beyond Start With Why — What Most Bios Miss

Susiloharjo

Most Simon Sinek articles open the same way: born in Wimbledon, 1973, graduated from Brandeis, worked in advertising, started Sinek Partners, wrote *Start With Why*, gave a TED talk that became one of the top 5 most-watched of all time. That’s a Wikipedia summary. Not a biography. The version of Sinek that actually matters — … Read more

I Replaced 3 Paid Monitoring Tools With a Homelab at $0/Month

Susiloharjo

I was paying $25/month across three monitoring services for the same thing: knowing when my homelab services go down. Better Uptime ($5), UptimeRobot ($8), and Grafana Cloud ($12 for metrics retention). Last month I replaced all three with a single Docker Compose stack running on the same ThinkCentre it’s monitoring. Three months in, it’s caught … Read more

I Tracked 247 Days of Habits With One SQLite Query

Susiloharjo

I’ve tried Habitica, Streaks, Loop Habit Tracker, and three other apps. Every single one worked for about 3 weeks. Simple productivity tools often outperform complex solutions Then I’d miss a day, feel guilty, and never open the app again. So I built something dumber. the post that changed how I write about tech It’s been … Read more