<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Jacob Barrieault</title><link>https://jacobbarrieault.com/</link><description>Recent content on Jacob Barrieault</description><generator>Hugo</generator><language>en-US</language><managingEditor>jacob.barrieault@gmail.com (Jacob Barrieault)</managingEditor><lastBuildDate>Fri, 25 Sep 2026 17:07:19 +0000</lastBuildDate><atom:link href="https://jacobbarrieault.com/index.xml" rel="self" type="application/rss+xml"/><image><url>https://jacobbarrieault.com/images/jacob-headshot_hu_d1efe470bca5d04c.jpg</url><title>Jacob Barrieault</title><link>https://jacobbarrieault.com/</link><width>144</width><height>144</height></image><item><title>Sequence Diagrams</title><link>https://jacobbarrieault.com/posts/sequence-diagrams/</link><pubDate>Sun, 20 Sep 2026 00:00:00 +0000</pubDate><author>jacob.barrieault@gmail.com (Jacob Barrieault)</author><guid>https://jacobbarrieault.com/posts/sequence-diagrams/</guid><description>&lt;p class="post__lead"&gt;You should know and love sequence diagrams in the Year of Our Lord 2026.&lt;/p&gt;
&lt;h2 id="thinking-in-systems"&gt;Thinking in Systems&lt;/h2&gt;
&lt;p&gt;The journey to becoming a &lt;a href="https://newsletter.pragmaticengineer.com/p/what-is-a-staff-engineer" target="_blank" rel="noopener"&gt;Staff+ Engineer&lt;/a&gt; is marked as much by a growth in &lt;em&gt;Systems Thinking&lt;/em&gt; as it is the development of deep technical skills and leadership sense.&lt;/p&gt;
&lt;p&gt;Systems thinking is the ability to take a step back out of the weeds, to a higher plateau. An elevated vantage point gives you the perspective needed to make higher impact decisions that affect entire teams and streams of work.&lt;/p&gt;
&lt;aside class="callout"&gt;
Systems are made up of humans and processes too, but I&amp;rsquo;m focusing in on software here.
&lt;/aside&gt;
&lt;p&gt;To think in systems, you need to &lt;em&gt;see&lt;/em&gt; &lt;em&gt;in&lt;/em&gt; &lt;em&gt;systems&lt;/em&gt;. Sometimes that&amp;rsquo;s really hard.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s incredible that you can now summon legions of agents to investigate and summarize on your behalf, but you must still read and understand &lt;em&gt;mountains&lt;/em&gt; of LLM output&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt; that come back to you. I believe reading is an increasingly essential discipline in software development. I recommend you learn to love it.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;But&lt;/em&gt; &lt;em&gt;sometimes&lt;/em&gt;, reading &lt;strong&gt;is inefficient&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;After all,&lt;/p&gt;
&lt;blockquote class="pull-quote"&gt;A picture is worth a thousand tokens&lt;/blockquote&gt;
&lt;h2 id="seeing-in-systems"&gt;Seeing in Systems&lt;/h2&gt;
&lt;p&gt;Sequence diagrams are that picture.&lt;/p&gt;
&lt;p&gt;They are a visual representation of the interactions made within a system.&lt;/p&gt;
&lt;p&gt;I was formally introduced to sequence diagrams by the venerable &lt;a href="https://sandimetz.com/" target="_blank" rel="noopener"&gt;Sandi Metz&lt;/a&gt;, and they&amp;rsquo;ve been an indispensable tool in my engineering toolbox ever since.&lt;/p&gt;
&lt;p&gt;&lt;img class="post__img" src="https://jacobbarrieault.com/images/me-and-sandi-metz_hu_4fb6920fae8d5304.jpg" alt="Me and Sandi Metz" width="1000" height="999" loading="lazy"&gt;&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s a simple example for the uninitiated:&lt;/p&gt;
&lt;pre class="mermaid"&gt;sequenceDiagram
Client-&amp;gt;&amp;gt;API Gateway: Request
API Gateway-&amp;gt;&amp;gt;Target: Proxy request
Target--&amp;gt;&amp;gt;API Gateway: Response
API Gateway--&amp;gt;&amp;gt;Client: Response&lt;/pre&gt;&lt;p&gt;They can also represent control-flow and concurrency, and you can write them in markdown using &lt;a href="https://mermaid.ai/open-source/syntax/sequenceDiagram.html"&gt;Mermaid&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Here is a more complex one:&lt;/p&gt;
&lt;pre class="mermaid"&gt;sequenceDiagram
autonumber
participant C as Client
participant GW as AgentCore Gateway
participant ID as AgentCore Identity
participant V as Token Vault
participant IdP as OAuth Provider
participant T as Target MCP Server
C-&amp;gt;&amp;gt;GW: POST /mcp tools/call&amp;lt;br/&amp;gt;Authorization: Bearer inbound JWT
GW-&amp;gt;&amp;gt;GW: Validate JWT against discovery URL&amp;lt;br/&amp;gt;(signature, aud/client_id, scopes)
Note over GW: Gateway looks up the target&amp;#39;s&amp;lt;br/&amp;gt;credentialProviderConfigurations&amp;lt;br/&amp;gt;(OAUTH, CLIENT_CREDENTIALS)
GW-&amp;gt;&amp;gt;ID: GetWorkloadAccessToken
ID--&amp;gt;&amp;gt;GW: Workload access token (gateway&amp;#39;s own identity)
GW-&amp;gt;&amp;gt;ID: GetResourceOauth2Token&amp;lt;br/&amp;gt;(provider, scopes, M2M, workload token)
ID-&amp;gt;&amp;gt;V: Look up cached token for provider + scopes
alt Cached token still valid
V--&amp;gt;&amp;gt;ID: Access token
else Cache miss or expired
V--&amp;gt;&amp;gt;ID: Miss (client secret read from Secrets Manager)
ID-&amp;gt;&amp;gt;IdP: POST /token (client_credentials)
IdP--&amp;gt;&amp;gt;ID: Access token
ID-&amp;gt;&amp;gt;V: Store token
end
ID--&amp;gt;&amp;gt;GW: Outbound access token
GW-&amp;gt;&amp;gt;T: tools/call&amp;lt;br/&amp;gt;Authorization: Bearer outbound token
T--&amp;gt;&amp;gt;GW: Tool result
GW--&amp;gt;&amp;gt;C: Tool result&lt;/pre&gt;&lt;p&gt;Follow that diagram until you grasp the system it is describing.&lt;/p&gt;
&lt;p&gt;Now imagine how many words you would need to read to gain the level of understanding equivalent to what you just got from that diagram. Thousands. Perhaps tens of thousands.&lt;/p&gt;
&lt;p&gt;With a well-drawn sequence diagram, imagine how much faster you could discover that &lt;a href="https://www.youtube.com/watch?v=y8OnoxKotPQ" target="_blank" rel="noopener"&gt;Galactus, the all-knowing user service provider aggregator&lt;/a&gt;, doesn&amp;rsquo;t have knowledge of past user info providers!&lt;/p&gt;
&lt;p&gt;The examples I showed are at a component level, but you can zoom in or out as far as you&amp;rsquo;d like. From company department processes down to the syscalls made by a single function.&lt;/p&gt;
&lt;h2 id="a-beautiful-twist-of-fate"&gt;A Beautiful Twist of Fate&lt;/h2&gt;
&lt;p&gt;Agents are actually quite good at generating sequence diagrams (Claude Code w/Sonnet 5 generated both the above). Use this to your advantage!&lt;/p&gt;
&lt;p&gt;Have them show you the way the things are, and the way they could be.&lt;/p&gt;
&lt;p&gt;See the system, understand it, refine it, and build it.&lt;/p&gt;
&lt;div class="footnotes" role="doc-endnotes"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;I don&amp;rsquo;t know about you, but I&amp;rsquo;m reading more words per day than I ever have, exclusively thanks to LLMs.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description></item><item><title>Why now?</title><link>https://jacobbarrieault.com/posts/why-now/</link><pubDate>Mon, 07 Sep 2026 00:00:00 +0000</pubDate><author>jacob.barrieault@gmail.com (Jacob Barrieault)</author><guid>https://jacobbarrieault.com/posts/why-now/</guid><description>&lt;p&gt;Here I am, a dozen years deep into my career in software, and I&amp;rsquo;ve decided to start a blog.&lt;/p&gt;
&lt;p&gt;But why? Why start a software engineering blog in 2026?&lt;/p&gt;
&lt;p&gt;The truth is, I&amp;rsquo;m asking myself that question too.&lt;/p&gt;
&lt;p&gt;I feel internally compelled to, without having the ability to fully articulate all my motivations.
This being the inaugural post of the blog, I&amp;rsquo;m going to reflect and process what I &lt;em&gt;can&lt;/em&gt; sense.&lt;/p&gt;
&lt;p&gt;Reflection has led me to multiple factors converging at once:&lt;/p&gt;
&lt;h3 id="1-stage-of-life"&gt;1. Stage of Life&lt;/h3&gt;
&lt;p&gt;Simply put, &lt;strong&gt;I&amp;rsquo;m in a season of life with margin to spend time and energy writing&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;My kids have gotten older and more self-sufficient, which is freeing up a non-trivial amount of my time. No more sleepless nights, feeding them each bite by hand, changing diapers, dressing them, keeping a constant eye on them, etc. Now they sleep like rocks, pour their own cereal, use toilets, play together, and put on their own shoes! Don&amp;rsquo;t get me wrong, our household has a busy schedule! Besides school the kids are in soccer, basketball, ballet, swimming, summer camps&amp;ndash;the works. My wife and I also tend to maximize family time on the weekends (the ability to do that is an incredible luxury I often take for granted).&lt;/p&gt;
&lt;p&gt;Although our household schedule is not wanting, it&amp;rsquo;s generally &lt;em&gt;structured&lt;/em&gt;, making free time &lt;em&gt;predictable&lt;/em&gt;. I love predictable schedules. They&amp;rsquo;re fertile ground for designing consistent habits that create rewarding results over time.&lt;/p&gt;
&lt;h3 id="2-stage-of-career"&gt;2. Stage of Career&lt;/h3&gt;
&lt;p&gt;This is going to sound like gloating, and I hope it can be read more charitably, but here it goes:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;I have achieved an aspirational level of success in my software career&lt;/strong&gt;, and I believe there are people who would benefit from my thoughts and experience.&lt;/p&gt;
&lt;p&gt;Blogging is a pretty common practice among developers of all experience levels, and I &lt;em&gt;do&lt;/em&gt; believe you can deliver value in a blog even as a junior level engineer. But a harsh reality is that a lot of these blogs are trash. This was true even before AI-generated slop cannons began to fire.&lt;/p&gt;
&lt;p&gt;My old boss, &lt;a href="https://scottmeves.com/"&gt;Scott Meves&lt;/a&gt;, once said:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;There are &lt;em&gt;millions&lt;/em&gt; of bad software developers out there, and they all have blogs!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;After more than a dozen years of dedication to the craft, I&amp;rsquo;ve gathered enough hubris to believe my skill, knowledge, and experience are worth sharing.&lt;/p&gt;
&lt;h3 id="3-moment-in-history"&gt;3. Moment in History&lt;/h3&gt;
&lt;p&gt;In November of 2025 Anthropic released Opus 4.5. I had previously tried Claude Code and enjoyed it, but its quality and overall ability to accomplish non-trivial tasks were limited. That December, I tried Opus 4.5 with Claude Code and it &lt;em&gt;felt&lt;/em&gt; &lt;em&gt;different&lt;/em&gt;. This combination of model and harness was a clear inflection point in the history of software. It&amp;rsquo;s been a hell of a ride since then and it&amp;rsquo;s a truly exciting time to be in software.&lt;/p&gt;
&lt;p&gt;At the risk of overly aggrandizing this change in the technology landscape, and the position of experienced developers like myself:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Experienced engineers who understand the fundamentals of software and computing, and have experience building and maintaining systems pre-Opus 4.5, should share their perspective as we &lt;em&gt;all&lt;/em&gt; discover the possibilities that lie ahead.&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id="4-personal-artifacts"&gt;4. Personal Artifacts&lt;/h3&gt;
&lt;p&gt;Another motivation for blogging is that 99% of my work is committed in repositories. I&amp;rsquo;m proud of the things I&amp;rsquo;ve built (some Planning Center features I&amp;rsquo;ve made are used by millions of people), but they aren&amp;rsquo;t &lt;em&gt;mine&lt;/em&gt;. Only paying customers can see the end results, and only co-workers can see the code (&amp;hellip;sometimes I&amp;rsquo;m grateful for that 😄).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Writing is a way I can share my work with the world.&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id="5-personal-growth"&gt;5. Personal Growth&lt;/h3&gt;
&lt;p&gt;Lastly, &lt;strong&gt;I want to get better at writing&lt;/strong&gt;. I believe the skill of writing will become more (not less) important in the Agentic AI era (or whatever we&amp;rsquo;re calling it). My own personal growth and trajectory towards excellence is an intrinsic motivation as well. And the only way I&amp;rsquo;m going to get better at writing is by doing it consistently.&lt;/p&gt;
&lt;p&gt;So here we go.&lt;/p&gt;</description></item></channel></rss>