I’ve been a commercial software developer since 2005. I’ve earned a BSc in Computer Science (mostly for the debt), and spent the last two decades writing code at big corporations, scrappy startups, and everything in between.

This blog exists because…
- I’m opinionated.
- I’ve seen “the next big thing” turn into the next big baggage.
- I’ve backed into a 12‑year‑old monolith more times than I care to admit—and lived to tell the tale.
Here, you’re not getting hype, evangelism, or feel‑good manifestos. You’re getting:
- Hard-earned lessons from legacy Java, failed rewrites, and overengineered POCs
- Dry, pragmatic takes on software development, team rituals, and what actually moves the needle
- The occasional rant (against JNDI, cargo-cult agile, and microservices slideshows)
What you’ll find here:
- Rants with purpose—not just complaining, but actually explaining why things go wrong
- Retrospective commentary—“I remember when we did X, and this is what it became”
- Tool-agnostic advice—I’m not here to sell frameworks, but to question which ones survive real use
This isn’t for junior developers seeking step-by-step tutorials (there’s plenty of those). It’s for ghost-witching your career with an aging coffee mug and thinking, “We’ve been around this barn already.”
So pull up a chair, pour one more espresso, and let’s get real.
Looking forward to whatever sparks come next.
–– The Cynical Developer