Ticket-Driven Development: The Fastest Way to Go Nowhere

Let me guess how your day started. You opened your laptop, fired up the sprint board, and grabbed the next ticket in the “Ready” column. Maybe it was a small feature. Maybe a bug. Either way, you didn’t write it, you didn’t scope it, and you definitely didn’t question it. Because that’s not how it works here. We are Ticket-Driven Developers now. Thinking is out. Throughput is in. Tickets are moving. Morale is not. ...

June 21, 2025 · 3 min · The Cynical Developer

You’re Not Refactoring — You’re Just Moving Code Around

You renamed a method, moved three files into a new folder, and squashed a 200-line switch statement into six nearly identical strategy classes. You even updated the JIRA ticket. Congratulations — the mess is now modular. But let’s be clear: that wasn’t refactoring. That was furniture rearrangement. The smell is still in the room. When ‘refactoring’ really just means rearranging the mess into a new, equally confusing shape. ...

June 18, 2025 · 3 min · The Cynical Developer

UX So Bad It Looks Like a Crime

There’s a special kind of dread that comes from getting a message asking for your personal details — from a random mobile number — claiming to be your hospital. It doesn’t say which hospital. It doesn’t identify itself. It just says: Hi! Please reply with your full name, date of birth, address, and email. Naturally, I assumed it was a scam. But no. This wasn’t a con artist in a foreign call centre. This was an official, government-backed initiative. An actual public health service, running an actual SMS campaign, using random burner-style numbers to collect sensitive personal data, with no sender verification, no pre-warning, and no branding. ...

June 16, 2025 · 4 min · The Cynical Developer

The Death of 'Senior'

A few years ago, “Senior Developer” meant something. Not just a pay grade, not just an internal leveling band, but a signal that you’d seen some things. Broken prod on Christmas Eve. Legacy codebases with more comments than code. Real consequences, real complexity, real context. Now? I’m seeing resumes from people three years out of university with “Senior” in their title. Not senior in years, not senior in depth—just the most experienced person on a three-person dev team at a startup that launched last quarter. ...

June 4, 2025 · 3 min · The Cynical Developer

Why Are We Still Hiring Release Managers in 2025?

I’m back on the market. My contract’s wrapping up, and I’ve started scanning the job boards. There it is again — Release Manager. Right next to it? Scrum Master. And I can’t help but ask: How is this still a thing? We’re nearly a quarter into the 21st century. Agile’s old enough to rent a car. DevOps has a full beard. And yet somehow, we’re still posting job ads for roles that feel like relics from the JIRA waterfall days. ...

June 4, 2025 · 2 min · The Cynical Developer

OKRs: Objectives, Key Results, and Corporate Cosplay

There’s a special kind of sigh that comes out when someone says, “We’re rolling out OKRs.” It’s not quite despair. Not quite sarcasm. It’s the sigh of someone who’s seen this play before—probably in Q1 of last year, and Q3 of the year before that. The costumes are different, but the script is the same. Let’s get this out of the way: OKRs—Objectives and Key Results—can be useful. They’re not inherently evil. But like many good ideas, they tend to die in the wild. Not because the framework is flawed, but because the way most companies implement them is. ...

May 22, 2025 · 5 min · The Cynical Developer

Scrum Helped. Then It Got in the Way.

Scrum helped leave waterfall behind. Then it got in the way. It’s 9:57 a.m. and I’m watching someone update a Jira ticket to “In Progress” so they have something to say in the stand-up at 10:00. Welcome to Scrum in the enterprise: a play we all agreed to star in, long after the plot stopped making sense. I’m not here to burn Scrum to the ground. It served its purpose—just not the one it thinks it did. It helped kill off waterfall. It gave developers permission to talk to stakeholders more than once a year. And it introduced the radical idea that shipping working software might be more useful than delivering a 40-page Gantt chart with a straight face. ...

May 22, 2025 · 4 min · The Cynical Developer

From JNDI Hell to CDI Heaven: A Developer’s Path to Sanity

If you’ve ever deployed an EAR with a 12,000-line ejb-jar.xml, you deserve hazard pay. When one more JNDI lookup breaks you. For many of us still maintaining legacy Java EE systems, enterprise Java isn’t about sleek microservices or reactive streams. It’s about @RemoteHome , classloader gymnastics, and figuring out why a bean that compiles cleanly still can’t be looked up at runtime because it wasn’t bound under the “right” flavor of java:global. ...

May 21, 2025 · 2 min · The Cynical Developer

Have We Lost Our Way?

Originally published on September 20, 2022 I was lucky. One of my first real gigs was at a startup that actually understood agile—not just the part where you stand around at 9:30 reciting what you did yesterday. No, I mean real agile. The founder believed in it. Not just the words, but the mindset. And in 2007, that made them look a little unhinged. Estimates in points instead of hours? Delivering small, usable increments? Developers writing tests on purpose? Teams interviewing and hiring their own teammates? It was weird. It was new. And it worked. ...

May 18, 2025 · 4 min · The Cynical Developer

As the pendulum swings

Originally published on August 26, 2022 In my last post, I described the arc most software companies follow—from chaotic startup to process-heavy bureaucracy. If you missed it, check it out here: An Evolution of a Software Company. Spoiler: there’s a pendulum, and it swings hard. Today, we’re talking about what happens next—and how to stop the pendulum from turning your team into a JIRA-powered approval queue. From Chaos to Control By the time the dust settles, you’ve landed in a company that’s seen one too many outages and decided that the cure is process. Lots of it. ...

May 16, 2025 · 3 min · The Cynical Developer