<?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: Tony St Pierre</title>
    <description>The latest articles on DEV Community by Tony St Pierre (@tonystpierre).</description>
    <link>https://dev.to/tonystpierre</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%2F2895838%2F676df9c1-ea03-4555-a21e-20bc6ef6e5d9.png</url>
      <title>DEV Community: Tony St Pierre</title>
      <link>https://dev.to/tonystpierre</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tonystpierre"/>
    <language>en</language>
    <item>
      <title>Security isn't a feature. It's a mindset.</title>
      <dc:creator>Tony St Pierre</dc:creator>
      <pubDate>Fri, 18 Jul 2025 21:50:43 +0000</pubDate>
      <link>https://dev.to/tonystpierre/security-isnt-a-feature-its-a-mindset-3ni5</link>
      <guid>https://dev.to/tonystpierre/security-isnt-a-feature-its-a-mindset-3ni5</guid>
      <description>&lt;p&gt;Most breaches don't start with zero-days.&lt;br&gt;
They start with a skipped review.&lt;br&gt;
A forgotten flag.&lt;br&gt;
A default no one questioned.&lt;/p&gt;

&lt;p&gt;You don't need a title to think securely.&lt;br&gt;
Just care deeply enough to pause.&lt;br&gt;
To notice what others miss.&lt;br&gt;
To build like it matters when no one's watching.&lt;/p&gt;

&lt;p&gt;This isn't fear-based coding.&lt;br&gt;
It's craftsmanship under pressure.&lt;/p&gt;

&lt;p&gt;What are you trusting without checking?&lt;/p&gt;

&lt;p&gt;Read &lt;strong&gt;&lt;a href="https://tonystpierre.substack.com/p/security-is-a-state-of-mind" rel="noopener noreferrer"&gt;Security is a state of mind&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>security</category>
      <category>webdev</category>
      <category>career</category>
      <category>learning</category>
    </item>
    <item>
      <title>React Security Checklist: Build Resilient, Threat-Modeled Web Apps</title>
      <dc:creator>Tony St Pierre</dc:creator>
      <pubDate>Sun, 13 Jul 2025 14:17:30 +0000</pubDate>
      <link>https://dev.to/tonystpierre/react-security-checklist-build-resilient-threat-modeled-web-apps-278m</link>
      <guid>https://dev.to/tonystpierre/react-security-checklist-build-resilient-threat-modeled-web-apps-278m</guid>
      <description>&lt;p&gt;Resilient by default. Threat-modeled in motion. Designed to endure.&lt;/p&gt;

&lt;p&gt;Most teams ship on trust. Few model it.&lt;/p&gt;

&lt;p&gt;Most check the box. Few challenge the boundary.&lt;/p&gt;

&lt;p&gt;This isn't a cage, it's a compass.&lt;/p&gt;

&lt;p&gt;Not here to slow you down, but to sharpen how you see.&lt;/p&gt;

&lt;p&gt;A practical, battle-tested checklist for teams who build like they mean it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Scoped auth&lt;/li&gt;
&lt;li&gt;  Hardened inputs&lt;/li&gt;
&lt;li&gt;  Secrets locked down&lt;/li&gt;
&lt;li&gt;  Serverless threat-modeled&lt;/li&gt;
&lt;li&gt;  AI-aware&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Security isn't just about how we protect it; it's also about  how we think.&lt;/p&gt;

&lt;p&gt;Build systems that defend themselves. Even when you're not in the room.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"No random action, none not tending to an end." - Marcus Aurelius.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Read the &lt;strong&gt;&lt;a href="https://tonystpierre.com/react-security-standard" rel="noopener noreferrer"&gt;React Security Standard&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>javascript</category>
      <category>typescript</category>
      <category>learning</category>
    </item>
    <item>
      <title>When Versions Divide: The Break Isn't Always in the Code</title>
      <dc:creator>Tony St Pierre</dc:creator>
      <pubDate>Fri, 11 Jul 2025 00:15:26 +0000</pubDate>
      <link>https://dev.to/tonystpierre/when-versions-divide-the-break-isnt-always-in-the-code-24k6</link>
      <guid>https://dev.to/tonystpierre/when-versions-divide-the-break-isnt-always-in-the-code-24k6</guid>
      <description>&lt;p&gt;You update a package.&lt;/p&gt;

&lt;p&gt;One test fails. Another throws silence.&lt;/p&gt;

&lt;p&gt;CI lights up like it found a ghost.&lt;/p&gt;

&lt;p&gt;Then you notice a config no one touched in years is now breaking everything.&lt;/p&gt;

&lt;p&gt;And buried in the stack trace is an old dependency you forgot was even&lt;/p&gt;

&lt;p&gt;there.&lt;/p&gt;

&lt;p&gt;The first instinct? Blame the update.&lt;/p&gt;

&lt;p&gt;But that's not where the problem started.&lt;/p&gt;

&lt;p&gt;The change just hit a part of the system you'd stopped paying attention to.&lt;/p&gt;

&lt;p&gt;In &lt;strong&gt;Day 191&lt;/strong&gt; of &lt;em&gt;Daily Dev Reflections&lt;/em&gt;, I explore what version bumps reveal: not just bugs, but the assumptions and workarounds we've been carrying with us.&lt;/p&gt;

&lt;p&gt;This isn't about a broken build.&lt;/p&gt;

&lt;p&gt;It's about noticing what you've outgrown.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;"Software matures when you delete with intention. So do you."&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;If you've ever pinned a version just to avoid a deeper conversation, this one's for you.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Insight
&lt;/h3&gt;

&lt;p&gt;A system that never changes becomes a statue.&lt;/p&gt;

&lt;p&gt;No one uses statues. They just walk past them.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://tonystpierre.com/reflections/week-28/day-191-when-versions-divide" rel="noopener noreferrer"&gt;Read the full reflection here&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>learning</category>
      <category>career</category>
    </item>
    <item>
      <title>The Developer's Drift: Returning to Craft, Clarity, and Meaning in Code</title>
      <dc:creator>Tony St Pierre</dc:creator>
      <pubDate>Thu, 10 Jul 2025 03:27:43 +0000</pubDate>
      <link>https://dev.to/tonystpierre/the-developers-drift-returning-to-craft-clarity-and-meaning-in-code-3k2f</link>
      <guid>https://dev.to/tonystpierre/the-developers-drift-returning-to-craft-clarity-and-meaning-in-code-3k2f</guid>
      <description>&lt;p&gt;A return to care, clarity, and the kind of work that shapes you back.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Velocity starts to look like virtue. Depth starts to feel like a luxury."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In the blur of standups, dashboards, and daily commits, something quiet drifts.&lt;/p&gt;

&lt;p&gt;Not broken. Just a little off.&lt;/p&gt;

&lt;p&gt;This is a reflection on what it means to &lt;em&gt;return&lt;/em&gt; to clarity, to presence, to the kind of development that challenges you back.&lt;/p&gt;

&lt;p&gt;It's not about burnout. It's about the quiet loss of meaning and how to reclaim it.&lt;/p&gt;

&lt;p&gt;Through cleaner code, better names, fewer TODOs, and more honest moments at the keyboard.&lt;/p&gt;

&lt;p&gt;This isn't maintenance. It's a ritual.&lt;/p&gt;

&lt;p&gt;A reflection for devs who want to build &lt;em&gt;with&lt;/em&gt; intention, not just velocity.&lt;/p&gt;

&lt;p&gt;Read it here: &lt;a href="https://tonystpierre.substack.com/p/the-craft-the-self-and-the-quiet" rel="noopener noreferrer"&gt;The Craft, the Self, and the Quiet Rebellion&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>learning</category>
      <category>discuss</category>
    </item>
    <item>
      <title>How to Build Better Code and a Better Life as a Developer</title>
      <dc:creator>Tony St Pierre</dc:creator>
      <pubDate>Sun, 06 Jul 2025 18:03:23 +0000</pubDate>
      <link>https://dev.to/tonystpierre/how-to-build-better-code-and-a-better-life-as-a-developer-59e3</link>
      <guid>https://dev.to/tonystpierre/how-to-build-better-code-and-a-better-life-as-a-developer-59e3</guid>
      <description>&lt;p&gt;The systems we write reflect the systems we live within.&lt;/p&gt;

&lt;p&gt;And we can refactor both.&lt;/p&gt;

&lt;p&gt;Most dev blogs chase trends.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Code &amp;amp; Character&lt;/em&gt; doesn't.&lt;/p&gt;

&lt;p&gt;It's not about the next framework or the hottest tool.&lt;/p&gt;

&lt;p&gt;It's about clarity. Discipline. Practice.&lt;/p&gt;

&lt;p&gt;I'm not writing to perform.&lt;/p&gt;

&lt;p&gt;I'm writing to sharpen both code and character out loud, in public.&lt;/p&gt;

&lt;p&gt;This is where engineering meets inner work.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Weekly posts explore:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Systems thinking in life and software&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Stoic insights for the modern developer&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Daily reflection prompts to stay sharp&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Essays on feedback, defaults, self-review, and more&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Real-world code lessons that go beyond syntax&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Some posts are short. Some cut deep. None are half-built.&lt;/p&gt;

&lt;p&gt;If that sounds like your pace, this is your invitation:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://tonystpierre.substack.com/p/begin-here-navigating-code-and-character" rel="noopener noreferrer"&gt;&lt;strong&gt;Begin Here: Navigating Code &amp;amp; Character&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://tonystpierre.com/reflections" rel="noopener noreferrer"&gt;&lt;strong&gt;Or jump into the Daily Developer Reflections&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Made for developers who build quietly, think clearly, and live deliberately.&lt;/p&gt;

&lt;p&gt;See you in the forge.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>career</category>
      <category>programming</category>
      <category>learning</category>
    </item>
    <item>
      <title>How Dangerous Code Assumptions Lead to Exploits</title>
      <dc:creator>Tony St Pierre</dc:creator>
      <pubDate>Sun, 06 Jul 2025 17:07:52 +0000</pubDate>
      <link>https://dev.to/tonystpierre/how-dangerous-code-assumptions-lead-to-exploits-ohe</link>
      <guid>https://dev.to/tonystpierre/how-dangerous-code-assumptions-lead-to-exploits-ohe</guid>
      <description>&lt;p&gt;Most systems don't fail in chaos.&lt;br&gt;
They fail in confidence.&lt;br&gt;
The input you skipped validating.&lt;br&gt;
The helper you never traced.&lt;br&gt;
The config you inherited without checking.&lt;br&gt;
You didn't forget to secure it.&lt;br&gt;
You assumed it didn't need to be.&lt;/p&gt;

&lt;p&gt;Today's Daily Dev Reflection cuts to the core of this quiet danger:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Assumptions aren't just technical, they're psychological.&lt;/strong&gt;&lt;br&gt;
And they're often the first thing the exploit finds.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Insight&lt;/strong&gt;:&lt;br&gt;
What you trust without testing becomes a silent dependency not just in your codebase, but in your thinking.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reflection + Action&lt;/strong&gt;:&lt;br&gt;
This reflection gives you five practical steps to uncover and challenge your assumptions before they reach production.&lt;/p&gt;

&lt;p&gt;→ &lt;strong&gt;Read now &lt;a href="https://tonystpierre.com/reflections/week-27/day-187-the-assumption-is-the-exploit" rel="noopener noreferrer"&gt;Day 187: The Assumption Is the Exploit&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>stoicism</category>
      <category>programming</category>
      <category>learning</category>
    </item>
    <item>
      <title>Clarity Is the Real Velocity</title>
      <dc:creator>Tony St Pierre</dc:creator>
      <pubDate>Fri, 04 Jul 2025 02:39:04 +0000</pubDate>
      <link>https://dev.to/tonystpierre/clarity-is-the-real-velocity-251o</link>
      <guid>https://dev.to/tonystpierre/clarity-is-the-real-velocity-251o</guid>
      <description>&lt;p&gt;Confusion is the slowest force in software. It creeps in silently, then shows up loudly in rework, regressions, and mental fatigue. The faster you move without clarity, the more ground you'll have to reclaim later.&lt;/p&gt;

&lt;p&gt;Velocity isn't about starting sooner. It's about seeing sharply.&lt;/p&gt;

&lt;h3&gt;
  
  
  Daily Use
&lt;/h3&gt;

&lt;p&gt;Before picking up a ticket, pause and ask:&lt;/p&gt;

&lt;p&gt;→ &lt;em&gt;"Do I truly see this, or am I just moving to feel progress?"&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Team Ritual
&lt;/h3&gt;

&lt;p&gt;In your next pair session, don't dive straight into the code.&lt;/p&gt;

&lt;p&gt;Start with 15 minutes of alignment.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  What are we solving?&lt;/li&gt;
&lt;li&gt;  What's unclear?&lt;/li&gt;
&lt;li&gt;  Where could this break us?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The fastest teams aren't the ones who move first.&lt;/p&gt;

&lt;p&gt;They're the ones who rarely have to retrace their steps.&lt;/p&gt;

&lt;p&gt;This is part of &lt;a href="https://tonystpierre.com/philosophers-codex" rel="noopener noreferrer"&gt;The Stoic Developer Codex&lt;/a&gt;, a field guide for those who build with clarity, rhythm, and care under pressure.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>learning</category>
      <category>discuss</category>
      <category>career</category>
    </item>
    <item>
      <title>Code Review Without Ego: Six Virtues That Transform Teams</title>
      <dc:creator>Tony St Pierre</dc:creator>
      <pubDate>Thu, 03 Jul 2025 19:36:51 +0000</pubDate>
      <link>https://dev.to/tonystpierre/code-review-without-ego-six-virtues-that-transform-teams-7o7</link>
      <guid>https://dev.to/tonystpierre/code-review-without-ego-six-virtues-that-transform-teams-7o7</guid>
      <description>&lt;p&gt;Ego ruins good reviews.&lt;/p&gt;

&lt;p&gt;It masks itself as rigor. Corrects to control. Critiques without clarity.&lt;/p&gt;

&lt;p&gt;But review, done right, is not a checkpoint. It's a forge.&lt;/p&gt;

&lt;p&gt;Where clarity sharpens thought, humility opens the way to truth. And every line becomes a mirror not just for the code, but for the coder.&lt;/p&gt;

&lt;p&gt;This reflection combines the engineering discipline with Stoic principles.&lt;/p&gt;

&lt;p&gt;It asks: What kind of reviewer are you when no one's watching?&lt;/p&gt;

&lt;p&gt;If feedback feels like friction more than formation, this one's for you.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Read: &lt;a href="https://tonystpierre.substack.com/p/the-virtuous-review-sharpening-code" rel="noopener noreferrer"&gt;The Virtuous Review&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>learning</category>
      <category>discuss</category>
      <category>career</category>
    </item>
    <item>
      <title>The Stoic Developer Codex: Remove What Adds Noise</title>
      <dc:creator>Tony St Pierre</dc:creator>
      <pubDate>Sun, 29 Jun 2025 18:09:48 +0000</pubDate>
      <link>https://dev.to/tonystpierre/the-stoic-developer-codex-remove-what-adds-noise-4mmo</link>
      <guid>https://dev.to/tonystpierre/the-stoic-developer-codex-remove-what-adds-noise-4mmo</guid>
      <description>&lt;p&gt;Most teams reward speed. Few reward silence. Fewer still reward wisdom.&lt;/p&gt;

&lt;p&gt;But what if the clearest line of code you wrote this week… was the one you deleted?&lt;/p&gt;

&lt;p&gt;I open the Stoic Developer Codex, a set of 16 quiet, battle-tested principles forged through late-night failures, security discipline, and calm leadership. No fluff. No hacks. Just signal.&lt;/p&gt;

&lt;p&gt;We begin with the first law:&lt;br&gt;
&lt;strong&gt;Remove What Adds Noise&lt;/strong&gt;&lt;br&gt;
Every commit, every process, every habit must earn its place. If it doesn't serve the signal, it's a liability.&lt;/p&gt;

&lt;p&gt;Read it here: &lt;a href="https://tonystpierre.com/philosophers-codex#perception" rel="noopener noreferrer"&gt;The Stoic Developer Codex&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>discuss</category>
      <category>learning</category>
    </item>
    <item>
      <title>Refactor Your Soul Like Legacy Code: A Stoic Developer's Guide to Inner Clarity</title>
      <dc:creator>Tony St Pierre</dc:creator>
      <pubDate>Fri, 27 Jun 2025 00:49:19 +0000</pubDate>
      <link>https://dev.to/tonystpierre/refactor-your-soul-like-legacy-code-a-stoic-developers-guide-to-inner-clarity-2eb6</link>
      <guid>https://dev.to/tonystpierre/refactor-your-soul-like-legacy-code-a-stoic-developers-guide-to-inner-clarity-2eb6</guid>
      <description>&lt;p&gt;What if you treated your character like legacy code?&lt;/p&gt;

&lt;p&gt;Would you clean up the messy methods you inherited from others? Close the bugs you've quietly tolerated? Document your values like APIs?&lt;/p&gt;

&lt;p&gt;Every engineer knows that the longer you delay a refactor, the harder it gets. &lt;/p&gt;

&lt;p&gt;The same is true for the soul.&lt;/p&gt;

&lt;p&gt;This post blends clean code principles with stoic clarity to ask: how do we debug the self?&lt;/p&gt;

&lt;p&gt;Start where you are. Clean one function of your life. Then, keep going.&lt;/p&gt;

&lt;p&gt;Read &lt;strong&gt;&lt;a href="https://tonystpierre.substack.com/p/technical-debt-of-the-soul" rel="noopener noreferrer"&gt;Technical Debt of the Soul&lt;/a&gt;&lt;/strong&gt; and learn how clarity scales when you treat yourself as a system that must never go stale.&lt;/p&gt;

</description>
      <category>learning</category>
      <category>webdev</category>
      <category>career</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Why Mastering the Basics Is the Real Shortcut in Software Development</title>
      <dc:creator>Tony St Pierre</dc:creator>
      <pubDate>Thu, 26 Jun 2025 03:42:24 +0000</pubDate>
      <link>https://dev.to/tonystpierre/why-mastering-the-basics-is-the-real-shortcut-in-software-development-3a87</link>
      <guid>https://dev.to/tonystpierre/why-mastering-the-basics-is-the-real-shortcut-in-software-development-3a87</guid>
      <description>&lt;p&gt;We don't move forward by skipping the basics. We move forward because we've mastered them.&lt;/p&gt;

&lt;p&gt;Today's post is a reminder that solid code, like solid character, isn't built on shortcuts or clever tricks. Mastery grows through quiet, steady decisions, such as choosing clear names, defending inputs, and writing tests that fail early.&lt;/p&gt;

&lt;p&gt;The Stoics didn't chase novelty. Neither should we.&lt;/p&gt;

&lt;p&gt;Read: &lt;a href="https://tonystpierre.com/reflections/week-26/day-176-the-ground-you-stand-on" rel="noopener noreferrer"&gt;&lt;strong&gt;Day 176: The Ground You Stand On&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;
One principle. One habit. Reapplied with care. That's where mastery lives.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>learning</category>
      <category>stoicism</category>
      <category>todayilearned</category>
    </item>
    <item>
      <title>Unbreakable Developers Don't Wait for Pressure</title>
      <dc:creator>Tony St Pierre</dc:creator>
      <pubDate>Tue, 24 Jun 2025 13:38:37 +0000</pubDate>
      <link>https://dev.to/tonystpierre/unbreakable-developers-dont-wait-for-pressure-3jkk</link>
      <guid>https://dev.to/tonystpierre/unbreakable-developers-dont-wait-for-pressure-3jkk</guid>
      <description>&lt;p&gt;Some developers chase momentum.&lt;br&gt;
The unbreakable one builds cadence.&lt;/p&gt;

&lt;p&gt;They don't wait for pressure.&lt;br&gt;
They move through quiet.&lt;br&gt;
Not for recognition but for rhythm.&lt;/p&gt;

&lt;p&gt;Today's reflection is for the developer who stays sharp when no one's watching.&lt;br&gt;
Not to impress. Just because that's who they've become.&lt;/p&gt;

&lt;p&gt;Read it here: &lt;strong&gt;&lt;a href="https://tonystpierre.com/reflections/week-25/day-175-the-unbreakable-dev" rel="noopener noreferrer"&gt;Day 175: The Unbreakable Dev&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>learning</category>
      <category>discuss</category>
    </item>
  </channel>
</rss>
