<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>The Cynical Developer</title><link>https://thecynical.dev/</link><description>Recent content on The Cynical Developer</description><image><title>The Cynical Developer</title><url>https://thecynical.dev/images/og-cover.webp</url><link>https://thecynical.dev/images/og-cover.webp</link></image><generator>Hugo -- 0.147.2</generator><language>en-us</language><lastBuildDate>Thu, 08 Jan 2026 14:13:49 +1300</lastBuildDate><atom:link href="https://thecynical.dev/index.xml" rel="self" type="application/rss+xml"/><item><title>Energy Doesn’t Disappear</title><link>https://thecynical.dev/posts/energy-doesnt-disappear/</link><pubDate>Wed, 07 Jan 2026 00:00:00 +0000</pubDate><guid>https://thecynical.dev/posts/energy-doesnt-disappear/</guid><description>When work doesn’t absorb a developer’s energy, it doesn’t vanish — it gets redirected, or burned off as heat.</description></item><item><title>The First Real Pause</title><link>https://thecynical.dev/posts/first-real-pause/</link><pubDate>Sun, 04 Jan 2026 00:00:00 +0000</pubDate><guid>https://thecynical.dev/posts/first-real-pause/</guid><description>The first week in about 21 years without a job. Unfamiliar territory but oddly freeing.</description></item><item><title>End of Year Reflections</title><link>https://thecynical.dev/posts/christmas-reflections-2025/</link><pubDate>Thu, 18 Dec 2025 00:00:00 +0000</pubDate><guid>https://thecynical.dev/posts/christmas-reflections-2025/</guid><description>A quiet end-of-year reflection on contracts, community, delivery, and heading into uncertainty with cautious optimism.</description></item><item><title>Serial Learning: The Most Respectable Developer Addiction</title><link>https://thecynical.dev/posts/serial-learning/</link><pubDate>Mon, 17 Nov 2025 00:00:00 +0000</pubDate><guid>https://thecynical.dev/posts/serial-learning/</guid><description>Why constant learning can feel productive but quietly erode our ability to think.</description></item><item><title>Death by a Thousand Pings</title><link>https://thecynical.dev/posts/death-by-1000-pings/</link><pubDate>Wed, 05 Nov 2025 00:00:00 +0000</pubDate><guid>https://thecynical.dev/posts/death-by-1000-pings/</guid><description>Attention isn’t infinite, and yet modern development culture behaves like it is. A quiet rebellion against meetings, pings, and performative productivity.</description></item><item><title>How Much Control Do Developers Really Have?</title><link>https://thecynical.dev/posts/sphere-of-control/</link><pubDate>Wed, 01 Oct 2025 00:00:00 +0000</pubDate><guid>https://thecynical.dev/posts/sphere-of-control/</guid><description>A field guide to what developers can control, what they can bend, and what they can only influence inside a larger organisation.</description></item><item><title>Retro Clarity Snapshot</title><link>https://thecynical.dev/services/retro-clarity-snapshot/</link><pubDate>Tue, 30 Sep 2025 00:00:00 +0000</pubDate><guid>https://thecynical.dev/services/retro-clarity-snapshot/</guid><description>A short, external teardown that turns your team’s last retro into a roadmap for shipping faster.</description></item><item><title/><link>https://thecynical.dev/privacy/</link><pubDate>Mon, 22 Sep 2025 00:00:00 +0000</pubDate><guid>https://thecynical.dev/privacy/</guid><description>&lt;h1 id="privacy-policy">Privacy Policy&lt;/h1>
&lt;p>&lt;strong>Effective date: September 22, 2025&lt;/strong>&lt;/p>
&lt;p>The Cynical Developer (“we,” “us,” or “our”) respects your privacy. This policy explains what information we collect, how we use it, and the choices you have.&lt;/p>
&lt;h2 id="information-we-collect">Information We Collect&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>Personal information you provide&lt;/strong>: If you sign up for our email list, we collect your name and email address.&lt;/li>
&lt;li>&lt;strong>Automatic data&lt;/strong>: When you visit our site, we may collect non-identifying information such as browser type, device, and pages visited.&lt;/li>
&lt;/ul>
&lt;h2 id="how-we-use-your-information">How We Use Your Information&lt;/h2>
&lt;ul>
&lt;li>To send you emails you’ve signed up for (newsletters, updates, or course information).&lt;/li>
&lt;li>To understand how visitors use our site so we can improve it.&lt;/li>
&lt;li>To comply with legal obligations if required.&lt;/li>
&lt;/ul>
&lt;h2 id="tools-and-services-we-use">Tools and Services We Use&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>Hosting&lt;/strong>: Our site is hosted on Netlify. Netlify may log basic technical information (such as IP addresses) to operate their service.&lt;/li>
&lt;li>&lt;strong>Email&lt;/strong>: We use MailerLite to manage and send emails. Your email address and preferences are stored securely with them. You can unsubscribe at any time using the link in any email.&lt;/li>
&lt;li>&lt;strong>Analytics&lt;/strong>: We use Umami, a privacy-focused analytics tool, to understand site traffic. This does not use cookies or track you across the web.&lt;/li>
&lt;/ul>
&lt;h2 id="sharing-your-information">Sharing Your Information&lt;/h2>
&lt;p>We do not sell or rent your personal data. We only share information with trusted service providers (Netlify, MailerLite, Umami) to operate our site and services.&lt;/p></description></item><item><title/><link>https://thecynical.dev/ccc-thanks/</link><pubDate>Mon, 01 Sep 2025 00:00:00 +0000</pubDate><guid>https://thecynical.dev/ccc-thanks/</guid><description>&lt;h1 id="thanks-for-joining-career-course-correction">Thanks for Joining Career Course Correction&lt;/h1>
&lt;p>Your seat is confirmed.&lt;/p>
&lt;p>You’ll get a welcome email shortly with all the key details, including:&lt;/p>
&lt;ul>
&lt;li>Start date and time (NZDT)&lt;/li>
&lt;li>Zoom link for the live sessions&lt;/li>
&lt;li>Access to the private Signal group&lt;/li>
&lt;li>A reminder of what to bring and how to prepare&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="what-to-expect-next">What to Expect Next&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>Before we start:&lt;/strong> You’ll get a short pre-course reflection exercise.&lt;/li>
&lt;li>&lt;strong>Each week:&lt;/strong> A 90-minute live session, plus a recap pack and prompts in your inbox.&lt;/li>
&lt;li>&lt;strong>Support:&lt;/strong> The Signal group is open throughout the 6 weeks for questions, reflection, and peer check-ins.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h3 id="a-note-from-craig">A Note from Craig&lt;/h3>
&lt;p>I’m glad you’re here.&lt;/p></description></item><item><title>Career Course Correction</title><link>https://thecynical.dev/services/career-course-correction/</link><pubDate>Tue, 26 Aug 2025 00:00:00 +0000</pubDate><guid>https://thecynical.dev/services/career-course-correction/</guid><description>A 6-week program for mid-career developers who feel stuck, coasting, or drifting. Stop autopiloting. Start steering.</description></item><item><title>What If the Internet Wasn’t Free?</title><link>https://thecynical.dev/posts/what-if-the-internet-wasnt-free/</link><pubDate>Tue, 19 Aug 2025 00:00:00 +0000</pubDate><guid>https://thecynical.dev/posts/what-if-the-internet-wasnt-free/</guid><description>A thought experiment: how different would the web look if every service came with a price tag?</description></item><item><title>The Two Faces of a Failing Culture</title><link>https://thecynical.dev/posts/toxic-workplaces/</link><pubDate>Fri, 15 Aug 2025 00:00:00 +0000</pubDate><guid>https://thecynical.dev/posts/toxic-workplaces/</guid><description>An open review of workplace culture and patterns I&amp;#39;ve seen across the years.</description></item><item><title>The Career Ceiling No One Talks About: Senior Dev, Stuck Forever</title><link>https://thecynical.dev/posts/senior-forever/</link><pubDate>Thu, 07 Aug 2025 00:00:00 +0000</pubDate><guid>https://thecynical.dev/posts/senior-forever/</guid><description>For many developers senior is the quiet end of the road.</description></item><item><title>Your Order Number Is Everyone’s Order Number</title><link>https://thecynical.dev/posts/ghost-buzzers-and-burritos/</link><pubDate>Tue, 15 Jul 2025 00:00:00 +0000</pubDate><guid>https://thecynical.dev/posts/ghost-buzzers-and-burritos/</guid><description>A self-checkout system so broken it deserves it&amp;#39;s own blog post.</description></item><item><title>How I Accidentally Set Fire to My Netlify Bandwidth Quota</title><link>https://thecynical.dev/posts/cynical-dev-pir/</link><pubDate>Tue, 01 Jul 2025 00:00:00 +0000</pubDate><guid>https://thecynical.dev/posts/cynical-dev-pir/</guid><description>A cautionary tale about what happens when your cynical developer blog gets popular before you learn how to compress images.</description></item><item><title>Agile That Doesn’t Suck Pt 2/2</title><link>https://thecynical.dev/posts/agile-that-doesnt-suck/</link><pubDate>Fri, 27 Jun 2025 00:00:00 +0000</pubDate><guid>https://thecynical.dev/posts/agile-that-doesnt-suck/</guid><description>Agile isn’t broken—it’s just been overcomplicated, overcontrolled, and oversold. Here’s how to rebuild it from the inside, one useful change at a time.</description></item><item><title>Agile Was Never Your Problem Pt 1/2</title><link>https://thecynical.dev/posts/agile-was-never-your-problem/</link><pubDate>Thu, 26 Jun 2025 00:00:00 +0000</pubDate><guid>https://thecynical.dev/posts/agile-was-never-your-problem/</guid><description>Agile didn’t fail you. The process theater did. A blunt look at why your team hates standups, story points, and pretending it’s working.</description></item><item><title>Ticket-Driven Development: The Fastest Way to Go Nowhere</title><link>https://thecynical.dev/posts/ticket-driven-development/</link><pubDate>Sat, 21 Jun 2025 00:00:00 +0000</pubDate><guid>https://thecynical.dev/posts/ticket-driven-development/</guid><description>When every dev is just doing the next ticket, who’s steering the ship?</description></item><item><title>You’re Not Refactoring — You’re Just Moving Code Around</title><link>https://thecynical.dev/posts/not-really-refactoring/</link><pubDate>Wed, 18 Jun 2025 00:00:00 +0000</pubDate><guid>https://thecynical.dev/posts/not-really-refactoring/</guid><description>Refactoring is supposed to make code better — not just different. Here’s how to tell if you&amp;#39;re improving something or just rearranging the mess.</description></item><item><title>UX So Bad It Looks Like a Crime</title><link>https://thecynical.dev/posts/legitimate-phishing/</link><pubDate>Mon, 16 Jun 2025 00:00:00 +0000</pubDate><guid>https://thecynical.dev/posts/legitimate-phishing/</guid><description>When your public health system accidentally nails every hallmark of a phishing scam — and calls it a service.</description></item><item><title>The Death of 'Senior'</title><link>https://thecynical.dev/posts/the-death-of-senior/</link><pubDate>Wed, 04 Jun 2025 00:00:00 +0000</pubDate><guid>https://thecynical.dev/posts/the-death-of-senior/</guid><description>Somewhere between title inflation and egalitarian delusion, the meaning of &amp;#39;Senior Developer&amp;#39; got lost.</description></item><item><title>Why Are We Still Hiring Release Managers in 2025?</title><link>https://thecynical.dev/posts/obsolete-jobs-in-2025/</link><pubDate>Wed, 04 Jun 2025 00:00:00 +0000</pubDate><guid>https://thecynical.dev/posts/obsolete-jobs-in-2025/</guid><description>Scrum Masters, Release Managers, and the illusion of progress in a world that should know better.</description></item><item><title>Speaking &amp; Consulting</title><link>https://thecynical.dev/speaking/</link><pubDate>Tue, 27 May 2025 00:00:00 +0000</pubDate><guid>https://thecynical.dev/speaking/</guid><description>Want a dose of dry wit and hard-earned lessons at your event or in your codebase? I speak and consult on legacy systems, privacy, burnout, and fixing things that actually matter.</description></item><item><title>OKRs: Objectives, Key Results, and Corporate Cosplay</title><link>https://thecynical.dev/posts/okrs/</link><pubDate>Thu, 22 May 2025 00:00:00 +0000</pubDate><guid>https://thecynical.dev/posts/okrs/</guid><description>A cynical developer&amp;#39;s guide to why OKRs often fail, how they sometimes help, and what to do when you&amp;#39;re assigned 15 of them.</description></item><item><title>Scrum Helped. Then It Got in the Way.</title><link>https://thecynical.dev/posts/scrum-got-us-here/</link><pubDate>Thu, 22 May 2025 00:00:00 +0000</pubDate><guid>https://thecynical.dev/posts/scrum-got-us-here/</guid><description>Scrum helped us escape the waterfall. But it’s become more ceremony than substance—and the real work is happening in the cracks between stand-ups.</description></item><item><title>About</title><link>https://thecynical.dev/about/</link><pubDate>Wed, 21 May 2025 00:00:00 +0000</pubDate><guid>https://thecynical.dev/about/</guid><description>&lt;p>&lt;strong>The Cynical Developer&lt;/strong> is a blog for tired engineers, reflective skeptics, and anyone who&amp;rsquo;s seen too many “Next Big Things” end up as tomorrow’s tech debt.&lt;/p>
&lt;p>This site is maintained by a seasoned developer with a mild aversion to buzzwords and a fondness for refactoring code and expectations.&lt;/p>
&lt;p>Here, you’ll find honest commentary on software, systems, and staying sane in tech.&lt;/p>
&lt;h4 id="the-guy-behind-the-cynical-developer">The guy behind The Cynical Developer&lt;/h4>
&lt;p>I&amp;rsquo;ve been building software for two decades — sometimes well, sometimes in pain. I’ve led teams, modernized monoliths, and navigated the swamp of enterprise Java. This blog is where I reflect, rant, and occasionally offer useful insight.&lt;/p></description></item><item><title>Contact</title><link>https://thecynical.dev/contact/</link><pubDate>Wed, 21 May 2025 00:00:00 +0000</pubDate><guid>https://thecynical.dev/contact/</guid><description>&lt;p>Want to reach out? I’m happy to hear from fellow devs, writers, or the hopelessly over-engineered.&lt;/p>
&lt;ul>
&lt;li>Email: &lt;a href="mailto:hello@thecynical.dev">hello@thecynical.dev&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>&lt;em>Please don’t send cold sales pitches. I’m not that kind of cynical.&lt;/em>&lt;/p>
&lt;p>Got something to say? Use the form below. Please, no recruiter spam or marketing pipelines. Nigerian princes are fine.&lt;/p>
&lt;div class="contact-form">
&lt;form name="contact" method="POST" data-netlify="true" netlify-honeypot="bot-field">
&lt;input type="hidden" name="form-name" value="contact">
&lt;p hidden>
&lt;label>Don’t fill this out: &lt;input name="bot-field" />&lt;/label>
&lt;/p>
&lt;p>&lt;label>Your Name: &lt;input type="text" name="name" required>&lt;/label>&lt;/p>
&lt;p>&lt;label>Your Email: &lt;input type="email" name="email" required>&lt;/label>&lt;/p>
&lt;p>&lt;label>Message:&lt;br>&lt;textarea name="message" rows="6" required>&lt;/textarea>&lt;/label>&lt;/p>
&lt;p>&lt;button type="submit">Send&lt;/button>&lt;/p>
&lt;/form>
&lt;/div></description></item><item><title>From JNDI Hell to CDI Heaven: A Developer’s Path to Sanity</title><link>https://thecynical.dev/posts/from-jndi-hell-to-cdi-heaven/</link><pubDate>Wed, 21 May 2025 00:00:00 +0000</pubDate><guid>https://thecynical.dev/posts/from-jndi-hell-to-cdi-heaven/</guid><description>Because @Stateless shouldn’t require 3 XML files and a blood sacrifice.</description></item><item><title>Have We Lost Our Way?</title><link>https://thecynical.dev/posts/have-we-lost-our-way/</link><pubDate>Sun, 18 May 2025 00:00:00 +0000</pubDate><guid>https://thecynical.dev/posts/have-we-lost-our-way/</guid><description>Agile was never supposed to be a checklist. Somewhere between the ceremonies and the certifications, we forgot what it was for.</description></item><item><title>As the pendulum swings</title><link>https://thecynical.dev/posts/as-the-pendulum-swings/</link><pubDate>Fri, 16 May 2025 00:00:00 +0000</pubDate><guid>https://thecynical.dev/posts/as-the-pendulum-swings/</guid><description>Getting from command-and-control to trust and autonomy—and why most teams never quite make it.</description></item><item><title>An Evolution of a Software Company</title><link>https://thecynical.dev/posts/evolution-of-a-software-company/</link><pubDate>Thu, 15 May 2025 00:00:00 +0000</pubDate><guid>https://thecynical.dev/posts/evolution-of-a-software-company/</guid><description>The startup origin story you&amp;#39;ve lived through at least once—and what usually comes next.</description></item><item><title>Welcome to The Cynical Developer</title><link>https://thecynical.dev/posts/welcome-to-the-cynical-developer/</link><pubDate>Fri, 02 May 2025 00:00:00 +0000</pubDate><guid>https://thecynical.dev/posts/welcome-to-the-cynical-developer/</guid><description>&lt;p>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.&lt;/p>
&lt;figure class="half-width">
&lt;img loading="lazy" src="https://thecynical.dev/images/welcome.webp"
alt="Old school computer and coffee"/> &lt;figcaption>
WYSIWYG
&lt;/figcaption>
&lt;/figure>
&lt;p>&lt;strong>This blog exists because…&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>I’m opinionated.&lt;/li>
&lt;li>I’ve seen “the next big thing” turn into the next big baggage.&lt;/li>
&lt;li>I’ve backed into a 12‑year‑old monolith more times than I care to admit—and lived to tell the tale.&lt;/li>
&lt;/ul>
&lt;p>Here, you’re not getting hype, evangelism, or feel‑good manifestos. You’re getting:&lt;/p></description></item><item><title>Newsletter</title><link>https://thecynical.dev/newsletter/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://thecynical.dev/newsletter/</guid><description>Occasional cynical essays. No spam. No meeting invites.</description></item><item><title>Retros Suck, But They Don’t Have To</title><link>https://thecynical.dev/guides/retros-that-dont-suck/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://thecynical.dev/guides/retros-that-dont-suck/</guid><description>A short, cynical guide to running retros that don’t waste everyone’s time.</description></item><item><title>Where I'm At</title><link>https://thecynical.dev/now/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://thecynical.dev/now/</guid><description>&lt;p>Last updated: 8th January 2026&lt;/p>
&lt;p>Life has calmed down and I&amp;rsquo;m officially on holiday. First time in my entire career I&amp;rsquo;ve been between jobs and I&amp;rsquo;m enjoying the change of pace but also looking forward to the next challenge.&lt;/p>
&lt;h3 id="-what-im-working-on">⚙️ What I’m Working On&lt;/h3>
&lt;ul>
&lt;li>Focusing on building out some consulting offerings.&lt;/li>
&lt;li>Rewriting a web application for a NZ club - its finally in testing.&lt;/li>
&lt;li>Preparing to run the second cohort of the Career Course Correction&lt;/li>
&lt;/ul>
&lt;h3 id="-what-im-reading">📚 What I’m Reading&lt;/h3>
&lt;ul>
&lt;li>
&lt;p>&lt;code>The Five Dysfunctions of a Team&lt;/code> by Patrick Lencioni. I absolutely loved this little book. It was recommended to me and it was helpful.&lt;/p></description></item></channel></rss>