<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Craig</title>
    <description>The latest articles on DEV Community by Craig (@thecynicaldeveloper).</description>
    <link>https://dev.to/thecynicaldeveloper</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3217411%2Fe4b05632-cf5e-4ff9-b543-0da8c5bc3f97.png</url>
      <title>DEV Community: Craig</title>
      <link>https://dev.to/thecynicaldeveloper</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/thecynicaldeveloper"/>
    <language>en</language>
    <item>
      <title>The First Real Pause</title>
      <dc:creator>Craig</dc:creator>
      <pubDate>Sun, 04 Jan 2026 23:45:26 +0000</pubDate>
      <link>https://dev.to/thecynicaldeveloper/the-first-real-pause-oc9</link>
      <guid>https://dev.to/thecynicaldeveloper/the-first-real-pause-oc9</guid>
      <description>&lt;p&gt;This is the first week in about 21 years that I haven’t had a job to go back to.&lt;/p&gt;

&lt;p&gt;I’ve changed roles plenty of times, but I’ve almost never stopped. One job would end on a Friday, the next would start on a Monday. Even holidays never fully disconnected me, there was always a return date, a backlog, a sense of things waiting patiently in the background.&lt;/p&gt;

&lt;p&gt;This gap feels different.&lt;/p&gt;

&lt;p&gt;What surprised me most wasn’t stress or panic. It was calm. No inbox quietly filling up. No problems queueing. No feeling that I was borrowing peace from a future version of myself who’d have to pay it back later.&lt;/p&gt;

&lt;p&gt;A few days into this break, I heard someone say that most people who think they want to quit don’t actually want to quit — they just need real rest. Not a long weekend. Not a forced holiday spent keeping one eye on Slack. Actual space.&lt;/p&gt;

&lt;p&gt;That landed for me. Not as permission to disengage, but as permission to recalibrate.&lt;/p&gt;

&lt;p&gt;I’ve been using this time to write, think, spend time in the garden, and give proper attention to things I normally squeeze into the margins. It doesn’t feel like stopping. It feels like sharpening.&lt;/p&gt;

&lt;p&gt;I wrote a longer piece reflecting on what this pause has felt like, why it’s unfamiliar, and why it matters — especially for people who’ve been moving continuously for years.&lt;/p&gt;

&lt;p&gt;👉 Read the full post on my blog: &lt;a href="https://thecynical.dev/posts/first-real-pause/" rel="noopener noreferrer"&gt;The First Real Pause&lt;/a&gt;&lt;/p&gt;

</description>
      <category>career</category>
      <category>developer</category>
    </item>
    <item>
      <title>What Comes After “Senior Developer”? (The Ceiling No One Talks About)</title>
      <dc:creator>Craig</dc:creator>
      <pubDate>Thu, 07 Aug 2025 08:11:27 +0000</pubDate>
      <link>https://dev.to/thecynicaldeveloper/what-comes-after-senior-developer-the-ceiling-no-one-talks-about-4koe</link>
      <guid>https://dev.to/thecynicaldeveloper/what-comes-after-senior-developer-the-ceiling-no-one-talks-about-4koe</guid>
      <description>&lt;p&gt;Most career ladders in tech look like this:&lt;/p&gt;

&lt;p&gt;Junior → Intermediate → Senior →&lt;br&gt;
... and then what?&lt;/p&gt;

&lt;p&gt;For many devs, the answer is: nothing. You’re “valued.” You’re “the backbone.” You’re also stuck.&lt;/p&gt;

&lt;p&gt;In this piece, Why coasting feels easier than change. And why no one warns you about this ceiling&lt;/p&gt;

&lt;p&gt;I’ve been there. You might be too.&lt;/p&gt;

&lt;p&gt;👉 Read the full post: &lt;a href="https://thecynical.dev/posts/senior-forever/" rel="noopener noreferrer"&gt;Senior Forever&lt;/a&gt;&lt;/p&gt;

</description>
      <category>career</category>
      <category>careerdevelopment</category>
      <category>developer</category>
      <category>senior</category>
    </item>
    <item>
      <title>Retros Suck, But They Don’t Have To</title>
      <dc:creator>Craig</dc:creator>
      <pubDate>Tue, 15 Jul 2025 09:30:41 +0000</pubDate>
      <link>https://dev.to/thecynicaldeveloper/retros-suck-but-they-dont-have-to-41ml</link>
      <guid>https://dev.to/thecynicaldeveloper/retros-suck-but-they-dont-have-to-41ml</guid>
      <description>&lt;p&gt;&lt;strong&gt;Raise your hand if this sounds familiar:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Your team rolls into the retro half-distracted
&lt;/li&gt;
&lt;li&gt;You rehash the same pain points you talked about last sprint
&lt;/li&gt;
&lt;li&gt;Someone adds action items that no one will follow up on
&lt;/li&gt;
&lt;li&gt;Two weeks later, nothing has changed&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Yeah, me too.&lt;/p&gt;

&lt;p&gt;A friend of mine put it best:  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"We stopped doing retros. They just turned into venting sessions that created tasks no one followed up on."&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Honestly? That tracks.&lt;/p&gt;




&lt;h2&gt;
  
  
  So what do you do instead?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F567c6t8reon00nf94v48.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F567c6t8reon00nf94v48.webp" alt=" " width="512" height="768"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I’ve sat through every retro format imaginable — sticky note boards, sailboat metaphors, start/stop/continue, fancy tools.&lt;br&gt;&lt;br&gt;
None of it really helped &lt;em&gt;until we made one change&lt;/em&gt;:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;We stopped trying to fix everything.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Instead of asking:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"What went wrong?"&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;We started asking:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"What’s one thing in our control we can improve next sprint?"&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It’s a subtle shift, but it changed the tone.&lt;/p&gt;

&lt;p&gt;Suddenly retros weren’t just post-mortems.&lt;br&gt;&lt;br&gt;
They were decisions. Small, actionable, team-owned decisions.&lt;/p&gt;




&lt;h2&gt;
  
  
  If this resonates...
&lt;/h2&gt;

&lt;p&gt;I wrote a short PDF guide called &lt;strong&gt;Retros That Don’t Suck&lt;/strong&gt;.&lt;br&gt;&lt;br&gt;
It’s free, blunt, and based on 20 years of real-world agile and post-agile pain.&lt;/p&gt;

&lt;p&gt;It includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A repeatable format you can run in 30 minutes or less
&lt;/li&gt;
&lt;li&gt;A way to surface real problems — not just process noise
&lt;/li&gt;
&lt;li&gt;Tips for getting actual improvements to stick
&lt;/li&gt;
&lt;li&gt;Bonus: when to &lt;strong&gt;kill the retro&lt;/strong&gt; and do something better&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 &lt;a href="https://thecynical.dev/guides/retros-that-dont-suck" rel="noopener noreferrer"&gt;Grab the free guide here&lt;/a&gt;&lt;br&gt;&lt;br&gt;
(Just an email. No spam.)&lt;/p&gt;

&lt;p&gt;Would love to know if this lands with you — or how your team’s handled broken retros.&lt;/p&gt;

</description>
      <category>agile</category>
      <category>productivity</category>
      <category>developer</category>
    </item>
    <item>
      <title>Ticket-Driven Development Is Not a Process. It's a Trap.</title>
      <dc:creator>Craig</dc:creator>
      <pubDate>Mon, 23 Jun 2025 02:13:16 +0000</pubDate>
      <link>https://dev.to/thecynicaldeveloper/ticket-driven-development-is-not-a-process-its-a-trap-54m9</link>
      <guid>https://dev.to/thecynicaldeveloper/ticket-driven-development-is-not-a-process-its-a-trap-54m9</guid>
      <description>&lt;p&gt;Somewhere along the way, “just pick up the next ticket” became the default dev workflow.&lt;/p&gt;

&lt;p&gt;And that’s the problem.&lt;/p&gt;

&lt;p&gt;Ticket-Driven Development looks like productivity—until you realize no one’s questioning the work, improving the system, or even thinking anymore.&lt;/p&gt;

&lt;p&gt;🧠 &lt;strong&gt;It trains developers not to think.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Asking &lt;em&gt;why&lt;/em&gt; is seen as overstepping. Improving code is gold-plating. Creativity becomes risk.&lt;/p&gt;

&lt;p&gt;⚠️ &lt;strong&gt;Velocity isn't progress.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
You can burn down 30 points a week and still be going backwards if every fix just creates more mess.&lt;/p&gt;

&lt;p&gt;📉 &lt;strong&gt;It slowly erodes morale.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
When engineers treat code like it belongs to someone else, they stop caring. That’s when quality dies.&lt;/p&gt;

&lt;p&gt;You don’t need a new framework. Just permission to care again.&lt;/p&gt;

&lt;p&gt;Read the full take:&lt;br&gt;&lt;br&gt;
👉 &lt;a href="https://thecynical.dev/posts/ticket-driven-development/" rel="noopener noreferrer"&gt;Ticket-Driven Development: The Fastest Way to Go Nowhere&lt;/a&gt;&lt;/p&gt;

</description>
      <category>burnout</category>
      <category>development</category>
      <category>agile</category>
    </item>
    <item>
      <title>You're Not Refactoring — You're Just Moving Code Around</title>
      <dc:creator>Craig</dc:creator>
      <pubDate>Thu, 19 Jun 2025 03:06:13 +0000</pubDate>
      <link>https://dev.to/thecynicaldeveloper/youre-not-refactoring-youre-just-moving-code-around-3b87</link>
      <guid>https://dev.to/thecynicaldeveloper/youre-not-refactoring-youre-just-moving-code-around-3b87</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F06b9qy57akzlquamn1er.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F06b9qy57akzlquamn1er.png" alt=" " width="640" height="640"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;You renamed &lt;code&gt;UserHandler&lt;/code&gt; to &lt;code&gt;UserProcessor&lt;/code&gt;, made five new classes, and called it a refactor. Spoiler: it’s not.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Refactoring is supposed to improve structure without changing behavior. But too often, it’s just an excuse to shuffle code around — adding layers, not clarity.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How to tell you’re just moving code around:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You renamed things but didn't remove any logic&lt;/li&gt;
&lt;li&gt;You created new abstractions that wrap existing logic one-to-one&lt;/li&gt;
&lt;li&gt;You deleted helpful comments and added cryptic method names&lt;/li&gt;
&lt;li&gt;You added interfaces with one implementation — your own&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Good refactoring feels different:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Less code, fewer dependencies&lt;/li&gt;
&lt;li&gt;More understandable by the next dev&lt;/li&gt;
&lt;li&gt;Easier to test, or no longer needs tests to make sense&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Refactoring is editing. It’s not furniture rearrangement.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;👉 &lt;strong&gt;Full version with examples and dry wit here:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://thecynical.dev/posts/not-really-refactoring/" rel="noopener noreferrer"&gt;thecynical.dev/posts/youre-not-refactoring&lt;/a&gt;&lt;/p&gt;

</description>
      <category>refactoring</category>
      <category>codequality</category>
      <category>cynicism</category>
      <category>softwaredevelopment</category>
    </item>
    <item>
      <title>'Senior Developer' Doesn't Mean What It Used To</title>
      <dc:creator>Craig</dc:creator>
      <pubDate>Wed, 04 Jun 2025 22:30:27 +0000</pubDate>
      <link>https://dev.to/thecynicaldeveloper/senior-developer-doesnt-mean-what-it-used-to-1n8p</link>
      <guid>https://dev.to/thecynicaldeveloper/senior-developer-doesnt-mean-what-it-used-to-1n8p</guid>
      <description>&lt;p&gt;Not long ago, the word &lt;em&gt;senior&lt;/em&gt; actually meant something.&lt;/p&gt;

&lt;p&gt;It meant you'd survived legacy systems, knew when &lt;strong&gt;not&lt;/strong&gt; to ship, and maybe even carried a pager once. These days?&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“I’m the only dev at a 3-person startup. So I guess I’m Senior Staff Lead Principal Architect III.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F98n4hddiascnu8v447k0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F98n4hddiascnu8v447k0.png" alt="Young dev with ridiculously long job title" width="368" height="552"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Meanwhile, some companies are going the other direction — removing job titles altogether so no one feels left out.&lt;/p&gt;

&lt;p&gt;Flat orgs. Inflated titles. Diluted meaning.&lt;/p&gt;

&lt;p&gt;The title "Senior Developer" used to imply wisdom and experience. Now it might just mean &lt;em&gt;“the least junior person here”&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;I wrote a post about the erosion of that title, what it means across industries, and why it still matters — even if we’re all pretending it doesn’t:&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://thecynical.dev/posts/the-death-of-senior/" rel="noopener noreferrer"&gt;Read the full post on The Cynical Developer&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What does “Senior” mean in your world?&lt;/p&gt;

</description>
      <category>career</category>
      <category>careerdevelopment</category>
    </item>
    <item>
      <title>Release Managers in 2025? Really?</title>
      <dc:creator>Craig</dc:creator>
      <pubDate>Wed, 04 Jun 2025 21:56:39 +0000</pubDate>
      <link>https://dev.to/thecynicaldeveloper/release-managers-in-2025-really-3n05</link>
      <guid>https://dev.to/thecynicaldeveloper/release-managers-in-2025-really-3n05</guid>
      <description>&lt;p&gt;I’m scanning the job boards again. My contract’s winding down. And what do I see?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Release Manager.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Right next to it?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scrum Master.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;And I can’t help but wonder — &lt;em&gt;How is this still a thing?&lt;/em&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Release Manager: The Role Automation Forgot
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkplexcabr4om8rm07s05.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkplexcabr4om8rm07s05.png" alt="Wanted Poster for a Release Manager" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;CI/CD has been a thing for over a decade. Trunk-based development? Same. But we’re still hiring people to coordinate deployments by hand.&lt;/p&gt;

&lt;p&gt;If your team still needs a Release Manager, your pipeline isn’t the only thing stuck in 2010.&lt;/p&gt;




&lt;h3&gt;
  
  
  Scrum Master: The Ritual Facilitator
&lt;/h3&gt;

&lt;p&gt;Scrum is old. The ceremonies are tired. And most teams I’ve seen are doing stand-up theatre — not collaboration. Hiring someone to facilitate the performance doesn’t help.&lt;/p&gt;




&lt;h3&gt;
  
  
  Coordination Is Not Delivery
&lt;/h3&gt;

&lt;p&gt;We’ve confused coordination with progress. These roles paper over bad architecture, broken trust, and duct-taped processes.&lt;/p&gt;




&lt;p&gt;The slightly longer original + More cynicism (and a small plug for my next role) here:&lt;br&gt;&lt;br&gt;
👉 &lt;a href="https://thecynical.dev/posts/obsolete-jobs-in-2025" rel="noopener noreferrer"&gt;thecynical.dev/posts/obsolete-jobs-in-2025&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devops</category>
      <category>agile</category>
      <category>cynicaldeveloper</category>
    </item>
    <item>
      <title>Have We Lost Our Way? (A Developer's Small Crisis of Confidence)</title>
      <dc:creator>Craig</dc:creator>
      <pubDate>Wed, 28 May 2025 09:13:52 +0000</pubDate>
      <link>https://dev.to/thecynicaldeveloper/have-we-lost-our-way-a-developers-small-crisis-of-confidence-1a7m</link>
      <guid>https://dev.to/thecynicaldeveloper/have-we-lost-our-way-a-developers-small-crisis-of-confidence-1a7m</guid>
      <description>&lt;p&gt;There was a time when we built things to last.&lt;/p&gt;

&lt;p&gt;Now we build MVPs to maybe survive the quarter.&lt;/p&gt;

&lt;p&gt;This isn’t a post about how everything used to be better. It’s just an observation — and maybe a quiet protest — about how easy it is to confuse activity for progress when the rituals of delivery become more important than the value delivered.&lt;/p&gt;




&lt;h2&gt;
  
  
  Have We Lost Our Way?
&lt;/h2&gt;

&lt;p&gt;Somewhere along the way, we started measuring the &lt;strong&gt;number of tickets closed&lt;/strong&gt; instead of whether anything actually got better.&lt;/p&gt;

&lt;p&gt;We replaced architecture with story points.&lt;/p&gt;

&lt;p&gt;We replaced meaningful iteration with ceremonies so performative they deserve their own Oscars category.&lt;/p&gt;

&lt;p&gt;We got really good at “velocity” and forgot that shipping garbage faster is not the same as improvement.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;“Deliver working software.”&lt;/em&gt;&lt;br&gt;&lt;br&gt;
Remember that one? It used to be a principle.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Now it’s just something you hear right before someone tells you they’re rewriting a service because the old one was written in the “wrong” language.&lt;/p&gt;




&lt;h2&gt;
  
  
  This isn’t nostalgia
&lt;/h2&gt;

&lt;p&gt;I’m not saying waterfall was better.&lt;br&gt;&lt;br&gt;
I’m saying we’ve swung too far the other way.&lt;/p&gt;

&lt;p&gt;Where once we spent six months planning a login form, now we spend six months pretending not to plan anything — and somehow end up with three frontends, five services, and nothing reusable.&lt;/p&gt;

&lt;p&gt;Every generation of devs thinks they’re the first to see the mess.&lt;br&gt;&lt;br&gt;
But we’ve &lt;em&gt;been&lt;/em&gt; here before. And we’ll be here again. The best we can do is notice it earlier, name it honestly, and maybe do a little less damage next time.&lt;/p&gt;




&lt;p&gt;🗂 Originally posted at &lt;a href="https://thecynical.dev" rel="noopener noreferrer"&gt;thecynical.dev&lt;/a&gt; — a side blog for developers who’ve survived legacy Java, agile transformations, and frameworks that promised joy but delivered YAML.&lt;/p&gt;

</description>
      <category>devjournal</category>
      <category>agile</category>
      <category>teamculture</category>
      <category>softwaredevelopment</category>
    </item>
  </channel>
</rss>
