<?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: Neil Giarratana</title>
    <description>The latest articles on DEV Community by Neil Giarratana (@neilsmind).</description>
    <link>https://dev.to/neilsmind</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%2F933400%2Fd954a0e1-797c-4d5f-8ef2-8dcaec268ccb.jpeg</url>
      <title>DEV Community: Neil Giarratana</title>
      <link>https://dev.to/neilsmind</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/neilsmind"/>
    <language>en</language>
    <item>
      <title>Measuring AI's Impact on Engineering Teams: The Metrics Already Exist</title>
      <dc:creator>Neil Giarratana</dc:creator>
      <pubDate>Tue, 17 Mar 2026 14:15:00 +0000</pubDate>
      <link>https://dev.to/neilsmind/measuring-ais-impact-on-engineering-teams-the-metrics-already-exist-3309</link>
      <guid>https://dev.to/neilsmind/measuring-ais-impact-on-engineering-teams-the-metrics-already-exist-3309</guid>
      <description>&lt;p&gt;There's a question that keeps coming up in engineering leadership circles: &lt;strong&gt;how do we measure whether AI is actually helping?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It's a fair question. Most of us are investing real time and money into AI tooling for our teams and at some point we need to understand what we're getting for it. The challenge is that the most visible metrics...PR counts, commits, code suggestions accepted...are measuring activity, not outcomes. &lt;/p&gt;

&lt;p&gt;We've been down this road before. There was a time when lines of code was the go-to measure of engineer productivity, and it was a terrible idea. People padded their stats and quality suffered. Same thing happened with test coverage. Once it became the goal instead of a signal, teams chased the number instead of what we actually wanted which was confidence in our code.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://dora.dev/research/2025/dora-report/" rel="noopener noreferrer"&gt;2025 DORA Report&lt;/a&gt; puts some real numbers to this. AI helps developers complete 21% more tasks and merge 98% more pull requests...but organizational delivery metrics stayed flat. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;More activity, same outcomes.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The report also notes that AI "magnifies the strengths of high-performing organizations and the dysfunctions of struggling ones." It's an amplifier, not a fix.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;So if activity metrics aren't the answer, what is?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I keep coming back to DORA. For those unfamiliar, DORA (DevOps Research and Assessment) is a research program, now part of Google Cloud, that has studied software delivery performance across thousands of organizations. Their findings, published in the book &lt;a href="https://itrevolution.com/product/accelerate/" rel="noopener noreferrer"&gt;Accelerate&lt;/a&gt; and in annual &lt;a href="https://dora.dev/research/" rel="noopener noreferrer"&gt;State of DevOps reports&lt;/a&gt;, identified four key metrics that correlate with high-performing engineering organizations.&lt;/p&gt;

&lt;p&gt;What's interesting about these metrics is that none of them measure activity. They measure outcomes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lead time&lt;/strong&gt; is the time from when an idea is conceived to when it's in production and in front of customers. Pragmatically, most teams measure this as first commit to first production deployment...which doesn't tell the whole story, but sometimes you have to start with what you can actually measure and refine from there.&lt;/p&gt;

&lt;p&gt;This is where AI's leverage really shows because if we can compress that loop, we're not just shipping faster...we're learning faster. We're getting real data about whether we built the right thing, and we're able to iterate on it sooner.&lt;/p&gt;

&lt;p&gt;That feedback loop is everything.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Deployment frequency&lt;/strong&gt; tells us how often our teams are releasing to production. More frequent, smaller deployments are a signal of a healthy delivery pipeline and a team that's iterating confidently.&lt;/p&gt;

&lt;p&gt;With AI in the mix, we should see this go up...not because we're pushing more code, but because we're moving through the development cycle with less friction.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Change failure rate&lt;/strong&gt; is the percentage of deployments that result in a failure requiring remediation. This one should go down with AI since it can help catch bugs, flag regressions, and improve code quality before things hit production.&lt;/p&gt;

&lt;p&gt;If our change failure rate isn't trending in the right direction, that's a signal worth paying attention to because it might mean we're shipping faster without the guardrails to match.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Mean time to resolution&lt;/strong&gt; is traditionally about how quickly we recover from incidents. But I think this metric gets more interesting when we broaden it a bit.&lt;/p&gt;

&lt;p&gt;Most teams have low-priority security findings they can't get to, edge-case bugs that keep slipping down the backlog, tech debt that never wins the prioritization fight. AI gives us the horsepower to finally tackle that work.&lt;/p&gt;

&lt;p&gt;Think about a backlog of tech debt that's been piling up for months because there was always a feature or a bug that took priority...that's the kind of work AI can help burn down. It's not just that MTTR improves; it's that the scope of what we can resolve expands.&lt;/p&gt;

&lt;p&gt;Now here's the thing that's always been true about DORA and is worth restating: any one of these metrics in isolation can be misleading. We can deploy like crazy and ship nothing of value. We can have a great change failure rate because we're barely deploying at all.&lt;/p&gt;

&lt;p&gt;It's the composition of these signals together that tells the real story. A team that's deploying frequently, with short lead times, low failure rates, and fast recovery...that's a team that's delivering well. And that picture doesn't change just because AI entered the equation.&lt;/p&gt;

&lt;p&gt;The piece I'd add on top of DORA is product metrics. At the end of the day, don't tell me how many PRs went up; tell me whether the change actually mattered to the people that use it. Did the feature hit its goals? Did users behave differently? Did we move a number that the business cares about?&lt;/p&gt;

&lt;p&gt;DORA tells us whether we're delivering well. Product metrics tell us whether we're delivering the right thing. Together, they give us the full picture.&lt;/p&gt;

&lt;p&gt;None of this is particularly new thinking. DORA has been around for years and the Accelerate book laid out these principles back in 2018. What's new is that AI is tempting us to forget them in favor of shinier, easier-to-measure activity metrics.&lt;/p&gt;

&lt;p&gt;The tools for measuring what actually matters are already there. We just have to use them.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>devops</category>
      <category>analytics</category>
    </item>
    <item>
      <title>Building a Leadership Development Program, step-by-step</title>
      <dc:creator>Neil Giarratana</dc:creator>
      <pubDate>Wed, 01 Nov 2023 14:28:53 +0000</pubDate>
      <link>https://dev.to/neilsmind/building-a-leadership-development-program-step-by-step-503b</link>
      <guid>https://dev.to/neilsmind/building-a-leadership-development-program-step-by-step-503b</guid>
      <description>&lt;p&gt;Transforming an engineering organization starts with changing hearts and minds which sounds really simple...it's not. &lt;/p&gt;

&lt;p&gt;While it'd be great to simply reveal a treasure map and proceed methodically to the treasure, the truth is that people don't invest themselves in maps all that well and the map is different for every organization.&lt;/p&gt;

&lt;p&gt;To get to the treasure, we must take the journey together and define the path as we go, one step at a time...1% better every day. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;So without a map, where do we start?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Here is what's worked for me as a foundational program that provides a shared vocabulary, leads us to discover trends in the industry, and is an easy vehicle to discuss what we believe collectively.&lt;/p&gt;

&lt;h2&gt;
  
  
  Getting started…
&lt;/h2&gt;

&lt;p&gt;If you’re starting a new program from scratch, start with a single group (aka cohort)…maybe your leadership team to get a feel for the program.&lt;/p&gt;

&lt;h3&gt;
  
  
  Start with “why?”
&lt;/h3&gt;

&lt;p&gt;Here’s an example of my why’s:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;We have a deep desire to learn and grow as an organization&lt;/li&gt;
&lt;li&gt;We have varying levels of knowledge and often misunderstand each other based on vocabulary&lt;/li&gt;
&lt;li&gt;Everyone agrees we need to move faster with less friction but we also want to be safe and raise the bar on quality&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Grounding ourselves in a common vocabulary and discovering best practices in our industry so that we can discuss and decide what we value together will help us achieve our goals.&lt;/p&gt;

&lt;p&gt;We start the group with two books, Accelerate and Implementing Lean Software Development. See the syllabus below for an exact template schedule.&lt;/p&gt;

&lt;h2&gt;
  
  
  Week to week…
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;📖 Every week, we read a set of assigned chapters, typically &amp;lt; 30 pages. &lt;/p&gt;

&lt;p&gt;💬 We meet on the same day and time each week to discuss what we read, how it applies to us (or doesn’t) and what it would take to apply what we liked.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Although the discussion is based on what we read that week, the secret sauce is that we dynamically decide the specific topics and how long to spend on them using a format modeled on Lean Coffee. Here’s how:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Brainstorm Topics&lt;/strong&gt; - We start the meeting with a 3 minute brainstorm. Each person puts sticky notes on the board with proposed topics that were interesting to them from the book.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Group Topics&lt;/strong&gt; - We spend a minute reading the sticky notes and grouping like things together.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Vote!&lt;/strong&gt; We spend another minute voting on the topics that interest us. Each person gets three votes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Start talking&lt;/strong&gt; - Set a timer for 8 minutes and start discussing the highest voted topic. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Check-in&lt;/strong&gt; After 8 minutes, we do a thumbs up, neutral, or thumbs down visual vote to decide if we should keep talking about that topic or move on to the next. &lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
&lt;p&gt;👍 If we’re mostly thumbs up, we’ll put 4 minutes on the timer and keep going. &lt;/p&gt;

&lt;p&gt;👎 If we’re mostly thumbs down, we’ll put 8 minutes on the timer again and start the next topic&lt;/p&gt;

&lt;p&gt;&lt;em&gt;If everyone is neutral, then no one cares enough to keep discussing and we move on to the next topic&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;We spend the hour working our way through the prioritized topic discussions, capturing epiphanies and action items on separate stickies. Don’t worry if you don’t get through everything, much like in our work we must prioritize. At the end of the hour, we summarize and assign any actions that came out.&lt;/p&gt;

&lt;h3&gt;
  
  
  👩‍💻 What about remote teams?
&lt;/h3&gt;

&lt;p&gt;All of my teams are remote so I feel you. My favorite tool for this is &lt;a href="https://www.figma.com/figjam/" rel="noopener noreferrer"&gt;Figjam&lt;/a&gt; but &lt;a href="https://miro.com" rel="noopener noreferrer"&gt;Miro&lt;/a&gt; is nearly as good. Everyone connects to a virtual board and puts stickies on the board. The software includes a timer and even voting tools that are easy to use and visual for everyone. Figjam is one of the best tools available for getting remote team member to actively participate in discussions, brainstorming, etc.&lt;/p&gt;

&lt;h2&gt;
  
  
  Now what?
&lt;/h2&gt;

&lt;p&gt;Ok. We started our leadership group, read the first two books and we’re on board with one another with organizational change. Let’s get started with implementing. &lt;/p&gt;

&lt;p&gt;Hold on! Cultural and organizational change requires doing things together, not dictating from above. The next step here is to begin to expand the program. &lt;/p&gt;

&lt;p&gt;We have two options:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Each leader replicates the program in their own domain. Note that each group is free to discuss the topics from the two books that interest them most and they can come to their own conclusions. (You’d be amazed at how often the conclusions are similar, if not the same).&lt;/li&gt;
&lt;li&gt;Begin forming blended, cross-domain cohorts where there’s a person or two from each leader’s domain. This promotes breaking down silos, creating new relationships and forming holistic organizational values.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Either way, start slow…don’t feel like 100% of the org needs to be in day one. You can grow the program over time, starting new cohorts every quarter.&lt;/p&gt;

&lt;h2&gt;
  
  
  What do we do at the end of the two books? Is that it?
&lt;/h2&gt;

&lt;p&gt;Nope, after a cohort completes the first two books, they choose their own adventure, voting on what book should be next. We provide a list of known good books for them to choose from or they can insert their own. &lt;/p&gt;

&lt;p&gt;By each group choosing its own books after the first two, we keep it fresh and continually insert fresh ideas. We also try to keep like roles together, e.g. managers in one cohort and individual contributors in another. The managers might choose a leadership book like Radical Candor while the IC group might choose something like Domain Driven Design for their next book.&lt;/p&gt;

&lt;h2&gt;
  
  
  Our Syllabus
&lt;/h2&gt;

&lt;p&gt;Here's a template for our first two books and the cadence with which we read them:&lt;/p&gt;

&lt;h3&gt;
  
  
  Book 1 - Accelerate
&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%2Fgq2uf02afjlah0gyl05q.jpg" 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%2Fgq2uf02afjlah0gyl05q.jpg" alt="Accelerate Book Cover" width="800" height="400"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations&lt;/p&gt;

&lt;p&gt;by Nicole Forsgren PhD, Jez Humble, Gene Kim&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"We strongly recommend this book to anyone involved in a digital transformation for solid guidance about what works, what doesn't work, and what doesn't matter."&lt;br&gt;
-&lt;em&gt;Tom and Mary Poppendieck, authors of the Lean Software Development Series&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://www.amazon.com/Accelerate-Software-Performing-Technology-Organizations/dp/1942788339" rel="noopener noreferrer"&gt;Paperback&lt;/a&gt; | &lt;a href="https://www.amazon.com/Accelerate-Software-Performing-Technology-Organizations-ebook/dp/B07B9F83WM/" rel="noopener noreferrer"&gt;Kindle&lt;/a&gt; | &lt;a href="https://www.amazon.com/Accelerate-Building-Performing-Technology-Organizations/dp/B07BMBYHXL" rel="noopener noreferrer"&gt;Audible&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Week 1 - Measuring Unit (50 pages)
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Preface&lt;/li&gt;
&lt;li&gt;Ch 1 - Accelerate&lt;/li&gt;
&lt;li&gt;Ch 2 - Measuring Performance&lt;/li&gt;
&lt;li&gt;Ch 3 - Measuring  &amp;amp; Changing Culture&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Week 2 - Technical Unit (32 pages)
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Ch 4 - Technical Practices&lt;/li&gt;
&lt;li&gt;Ch 5 - Architecture&lt;/li&gt;
&lt;li&gt;Ch 6 - Integrating Infosec Into the Delivery Cycle&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Week 3 - Lean Software Process (27 pages)
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Ch 7 - Management Practices for Software&lt;/li&gt;
&lt;li&gt;Ch 8 - Product Development&lt;/li&gt;
&lt;li&gt;Ch 9 - Making Work Sustainable&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Week 4 - Leadership (28 pages)
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Ch 10 - Employee Satisfaction, Identity, and Engagement&lt;/li&gt;
&lt;li&gt;Ch 11 - Leaders and Managers&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Book 2 - Implementing Lean Software Development
&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%2F74yphcj5mwa2l0i2cx6l.jpeg" 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%2F74yphcj5mwa2l0i2cx6l.jpeg" alt="Implementing Lean Software Development Book Cover" width="195" height="258"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Implementing Lean Software Development: From Concept to Cash&lt;/p&gt;

&lt;p&gt;by Mary and Tom Poppendieck&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"This remarkable book combines practical advice, ready-to-use techniques, anda deep understanding of why this is the right way to develop software. I haveseen software teams transformed by the ideas in this book."&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Mike Cohn, author of Agile Estimating and Planning&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://a.co/d/3WiT6S2" rel="noopener noreferrer"&gt;Paperback&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Week 5 - History &amp;amp; Principles (42 pages)
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Ch 1 - History&lt;/li&gt;
&lt;li&gt;Ch 2 - Principles&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Week 6 - Value (22 pages)
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Ch 3 - Value&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Week 7 - Waste (28 pages)
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Ch 4 - Waste&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Week 8 - Speed (22 pages)
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Ch 5 - Speed&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Week 10 - People (32 pages)
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Ch 6 - People&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Week 11 - Knowledge (28 pages)
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Ch 7 - Knowledge&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Week 12 - Quality (30 pages)
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Ch 8 - Quality&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Week 13 - Journey (24 pages)
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;(Skip Ch 9 - Partners - outdated)&lt;/li&gt;
&lt;li&gt;Ch 10 - Journey&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Frequently Asked Questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  How much time will this take?
&lt;/h3&gt;

&lt;p&gt;Most people read about 30 pages / hour for non-fiction so I would recommend budgeting 90 minutes for most weeks to include note-taking, re-reading, etc. + 60 minutes for the meeting.&lt;/p&gt;

&lt;h3&gt;
  
  
  How should I prioritize this?
&lt;/h3&gt;

&lt;p&gt;Simple answer: Unless the house is burning down, you should be there. 😉 &lt;/p&gt;

&lt;p&gt;The participants of your group are a cohort that depend on each other and, therefore, this should be prioritized above most other things. If there is a meeting that needs someone from your team (most often you), it’s a good time to delegate to a team member and follow up after.&lt;/p&gt;

&lt;h3&gt;
  
  
  Does this end after this book?
&lt;/h3&gt;

&lt;p&gt;Nope. This is an ongoing series. After the first few books of the curriculum that we use as foundational, we’ll select books as a group to continue our development together.&lt;/p&gt;

&lt;h3&gt;
  
  
  Am I required to read on my own time?
&lt;/h3&gt;

&lt;p&gt;Nope. This is part of your professional development here so please create an appointment on your calendar for reading time. (Some people do the audiobook or read while at the gym so there’s nothing forbidding you from reading outside of work hours of course). &lt;/p&gt;




&lt;p&gt;🙌 I'd be remiss if I didn't give a shout out to &lt;a href="https://www.linkedin.com/in/braedonmccoy/" rel="noopener noreferrer"&gt;Braedon McCoy&lt;/a&gt; and &lt;a href="https://www.linkedin.com/in/bill-kinnard-98545396/" rel="noopener noreferrer"&gt;Bill Kinnard&lt;/a&gt;. They started a program, Leadership Development Kit, within Asurion upon which this program builds. Using book readings to start discussions is a core part of the program.&lt;/p&gt;

&lt;p&gt;I'd run technical book clubs for years but their approach to targeted learning and discussion was instrumental to LDP.&lt;/p&gt;

&lt;p&gt;Key aspects that I've added include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Prescribing only the first two books and letting the group choose their own adventure for future books&lt;/li&gt;
&lt;li&gt;Running the meeting in a Lean Coffee format so that the group is engaged in discussion more than reviewing text&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Photo by &lt;a href="https://unsplash.com/@mitchel3uo?utm_content=creditCopyText&amp;amp;utm_medium=referral&amp;amp;utm_source=unsplash" rel="noopener noreferrer"&gt;Mitchell Luo&lt;/a&gt; on &lt;a href="https://unsplash.com/photos/men-rowing-boat-H3htK85wwnU?utm_content=creditCopyText&amp;amp;utm_medium=referral&amp;amp;utm_source=unsplash" rel="noopener noreferrer"&gt;Unsplash&lt;/a&gt;&lt;/p&gt;

</description>
      <category>engineering</category>
      <category>leadership</category>
      <category>lean</category>
    </item>
    <item>
      <title>Five tips to become a Pragmatic Programmer</title>
      <dc:creator>Neil Giarratana</dc:creator>
      <pubDate>Wed, 21 Dec 2022 21:10:05 +0000</pubDate>
      <link>https://dev.to/neilsmind/five-tips-to-become-a-pragmatic-programmer-3b80</link>
      <guid>https://dev.to/neilsmind/five-tips-to-become-a-pragmatic-programmer-3b80</guid>
      <description>&lt;p&gt;&lt;a href="https://pragprog.com/titles/tpp20/the-pragmatic-programmer-20th-anniversary-edition/" rel="noopener noreferrer"&gt;The Pragmatic Programmer, 20th Anniversary Edition your journey to mastery&lt;/a&gt; by David Thomas &amp;amp; Andrew Hunt is one of those must-read books for any software engineer's bookshelf. Comprised of eight chapters that each stand on their own, it reads like a mentor with decades of experience is revealing best practices they’ve collected over a career. There are seventy "tips" that detail the characteristics and behaviors of a pragmatic programmer. &lt;/p&gt;

&lt;p&gt;Here are five of my favorite tips:&lt;/p&gt;

&lt;h2&gt;
  
  
  Tip 4: Don’t Live with Broken Windows
&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%2F98duxvpiy33ynynjz01g.jpg" 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%2F98duxvpiy33ynynjz01g.jpg" alt="Broken windows" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;
Photo by &lt;a href="https://unsplash.com/@taradee?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText" rel="noopener noreferrer"&gt;Tara Evans&lt;/a&gt; on &lt;a href="https://unsplash.com/photos/_DAY5kuDvsU?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText" rel="noopener noreferrer"&gt;Unsplash&lt;/a&gt;



&lt;blockquote&gt;
&lt;p&gt;Don't leave "broken windows" (bad designs, wrong decisions, or poor code) unrepaired. Fix each one as soon as it is discovered. If there is insufficient time to fix it properly, then board it up.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Every engineering team should have the opportunity to improve their code, to leave the campground cleaner. This tip is about the personal responsibility of keeping your code clean and also the leadership responsibility of creating an environment where teams can make things better.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tip 11: Don’t Repeat Yourself
&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%2F3om8jg3r78h9v7au5ybz.jpg" 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%2F3om8jg3r78h9v7au5ybz.jpg" alt="Duplicate Doors" width="640" height="445"&gt;&lt;/a&gt;&lt;/p&gt;
Photo by &lt;a href="https://unsplash.com/@possessedphotography?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText" rel="noopener noreferrer"&gt;Possessed Photography&lt;/a&gt; on &lt;a href="https://unsplash.com/photos/ZyFJRzIdZLM?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText" rel="noopener noreferrer"&gt;Unsplash&lt;/a&gt;



&lt;blockquote&gt;
&lt;p&gt;Every piece of knowledge must have a single, unambiguous, authoritative representation within a system&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In today's world of distributed applications spread across an enterprise, it’s easy to fall into the trap of shotgun blasting duplicative (at best) knowledge across the system. Examples can be found in simple implementations of single-page-apps + backend-for-frontend + backend-apis. Three different layers that all have a notion of the domain, e.g. a sales order, but may create individual representations in each. &lt;/p&gt;

&lt;h2&gt;
  
  
  Tip 14: There are No Final Decisions
&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%2Fxjq17t8o02390xhuvelr.jpg" 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%2Fxjq17t8o02390xhuvelr.jpg" alt="Boxing match" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;
Photo by &lt;a href="https://unsplash.com/@1walter2?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText" rel="noopener noreferrer"&gt;Johann Walter Bantz&lt;/a&gt; on &lt;a href="https://unsplash.com/photos/Clv9DfJLwac?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText" rel="noopener noreferrer"&gt;Unsplash&lt;/a&gt;



&lt;blockquote&gt;
&lt;p&gt;The mistake lies in assuming that any decision is cast in stone—and in not preparing for the contingencies that might arise. Instead of carving decisions in stone, think of them more as being written in the sand at the beach. A big wave can come along and wipe them out at any time.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;So many of these tips are related to avoiding apathy of software engineers toward the applications they work on. This one is chief among them. With the assumption that things will always change and that we can continually improve on not just our code but &lt;em&gt;everything&lt;/em&gt; involved in our work, we actively invest ourselves in seeking that improvement. Our software architecture, our underlying systems, even the way we work as a team are all fair game for incremental or even dramatic changes to make them better. &lt;/p&gt;

&lt;p&gt;We design and code differently in that environment. We experiment more freely; we purposely decouple systems and abstract interfaces. We build in more testing because we know we’ll need to ensure stability with future change. In short, we make better software.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tip 20: Keep Knowledge in Plain Text
&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%2Fusu0wn7ur9thjfmtgeox.jpg" 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%2Fusu0wn7ur9thjfmtgeox.jpg" alt="Keyboard with astronaut toy" width="640" height="427"&gt;&lt;/a&gt;&lt;/p&gt;
Photo by &lt;a href="https://unsplash.com/@kensuarez?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText" rel="noopener noreferrer"&gt;Ken Suarez&lt;/a&gt; on &lt;a href="https://unsplash.com/backgrounds/phone/keyboard?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText" rel="noopener noreferrer"&gt;Unsplash&lt;/a&gt;



&lt;blockquote&gt;
&lt;p&gt;As Pragmatic Programmers, our base material isn't wood or iron, it's knowledge. We gather requirements as knowledge, and then express that knowledge in our designs, implementations, tests, and documents. And we believe that the best format for storing knowledge persistently is plain text. With plain text, we give ourselves the ability to manipulate knowledge, both manually and programmatically, using virtually every tool at our disposal.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I’m a bit of a productivity tools geek who likes to play with different apps to write, plan, message, and code. I was bitten many times by tools that became obsolete before I learned my lesson. I kept finding myself in a place where I had to abandon collected knowledge because the binary content was not portable to another tool. Plain text is the key to portability and the output should be, ideally, human readable. Even &lt;a href="http://www.plantuml.com" rel="noopener noreferrer"&gt;things like diagrams can be represented in plain text&lt;/a&gt; and then parsed to produce visual designs.&lt;/p&gt;

&lt;p&gt;It still seems strange that I write most of my posts first in Notion. There are two primary reasons: 1. I find it super convenient to use across all of my devices and 2. I leverage markdown (e.g. using &lt;code&gt;##&lt;/code&gt; to start secondary headings and &lt;code&gt;_word_&lt;/code&gt; to italicize a &lt;em&gt;word&lt;/em&gt;) when writing…and it can all be exported simply in markdown.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tip 55: Don’t Think Outside the Box - &lt;em&gt;Find&lt;/em&gt; the Box
&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%2Frh37d9lyufhzytobd5qh.jpg" 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%2Frh37d9lyufhzytobd5qh.jpg" alt="Dog in box" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;
Photo by &lt;a href="https://unsplash.com/@erdaest?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText" rel="noopener noreferrer"&gt;Erda Estremera&lt;/a&gt; on &lt;a href="https://unsplash.com/s/photos/box-dog?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText" rel="noopener noreferrer"&gt;Unsplash&lt;/a&gt;



&lt;blockquote&gt;
&lt;p&gt;You must challenge any preconceived notions and evaluate whether or not they are real, hard-and-fast constraints. It's not whether you think inside the box or outside the box. The problem lies in &lt;em&gt;finding&lt;/em&gt; the box—identifying the real constraints.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Particularly in large enterprises, hunting down the “real” requirements often combines researching regulations, tribal knowledge, and rumor. &lt;a href="https://blog.oup.com/2015/04/get-down-to-brass-tacks-idiom-origin/" rel="noopener noreferrer"&gt;Getting down to brass tacks&lt;/a&gt; on what’s an actual requirement vs. what’s “the way we’ve always done it” takes effort and requires a willingness (and environment) to question everything. That said, it’s critically important to creating value for the customer.&lt;/p&gt;
Cover photo by &lt;a href="https://unsplash.com/@michalmatlon?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText" rel="noopener noreferrer"&gt;Michal Matlon&lt;/a&gt; on &lt;a href="https://unsplash.com/s/photos/craftsman?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText" rel="noopener noreferrer"&gt;Unsplash&lt;/a&gt;



</description>
      <category>beginners</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
