<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Enginuity]]></title><description><![CDATA[You deserve an impactful, meaningful career. Enginuity helps you develop a product engineering mindset so you can discover deeper satisfaction in work that truly matters.]]></description><link>https://newsletter.enginuity.software</link><image><url>https://substackcdn.com/image/fetch/$s_!UE0g!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec00d977-1863-420c-950d-b023037cdde5_500x500.png</url><title>Enginuity</title><link>https://newsletter.enginuity.software</link></image><generator>Substack</generator><lastBuildDate>Thu, 16 Apr 2026 13:17:26 GMT</lastBuildDate><atom:link href="https://newsletter.enginuity.software/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Samuel Kollát]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[enginuity@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[enginuity@substack.com]]></itunes:email><itunes:name><![CDATA[Samuel Kollát]]></itunes:name></itunes:owner><itunes:author><![CDATA[Samuel Kollát]]></itunes:author><googleplay:owner><![CDATA[enginuity@substack.com]]></googleplay:owner><googleplay:email><![CDATA[enginuity@substack.com]]></googleplay:email><googleplay:author><![CDATA[Samuel Kollát]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Less Is More: How to Cut Features Without Losing Impact]]></title><description><![CDATA[A Practical Guide to Reducing Scope and Maximizing Impact in Product Development.]]></description><link>https://newsletter.enginuity.software/p/less-is-more-how-to-cut-features</link><guid isPermaLink="false">https://newsletter.enginuity.software/p/less-is-more-how-to-cut-features</guid><dc:creator><![CDATA[Samuel Kollát]]></dc:creator><pubDate>Thu, 03 Apr 2025 06:01:57 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!251O!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F233345b0-046b-4941-a62c-b258aeb8589a_894x888.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Let's get straight to the point: cutting features isn't a sign of weakness or compromise.</p><p>It's a sign of <strong>seniority</strong> and clarity.</p><p>Too many engineers and product teams think that more features equals more value. That's a costly mistake. The best product leaders and engineers know that strategic scope reduction is a deliberate, mature <strong>choice driven by a deep understanding</strong> of business objectives and user needs.</p><p>Great products aren't built by stacking features but by eliminating distractions and zeroing in on what truly matters. Scope reduction done right delivers impact <strong>faster without diluting the value</strong>.</p><p>This article will show you how to build this skill and confidently cut scope, delivering better outcomes for your users and business.</p><h2>Scope Reduction as a Strength</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!251O!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F233345b0-046b-4941-a62c-b258aeb8589a_894x888.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!251O!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F233345b0-046b-4941-a62c-b258aeb8589a_894x888.png 424w, https://substackcdn.com/image/fetch/$s_!251O!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F233345b0-046b-4941-a62c-b258aeb8589a_894x888.png 848w, https://substackcdn.com/image/fetch/$s_!251O!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F233345b0-046b-4941-a62c-b258aeb8589a_894x888.png 1272w, https://substackcdn.com/image/fetch/$s_!251O!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F233345b0-046b-4941-a62c-b258aeb8589a_894x888.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!251O!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F233345b0-046b-4941-a62c-b258aeb8589a_894x888.png" width="520" height="516.510067114094" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/233345b0-046b-4941-a62c-b258aeb8589a_894x888.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:888,&quot;width&quot;:894,&quot;resizeWidth&quot;:520,&quot;bytes&quot;:1354982,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://newsletter.enginuity.software/i/160139702?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F233345b0-046b-4941-a62c-b258aeb8589a_894x888.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!251O!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F233345b0-046b-4941-a62c-b258aeb8589a_894x888.png 424w, https://substackcdn.com/image/fetch/$s_!251O!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F233345b0-046b-4941-a62c-b258aeb8589a_894x888.png 848w, https://substackcdn.com/image/fetch/$s_!251O!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F233345b0-046b-4941-a62c-b258aeb8589a_894x888.png 1272w, https://substackcdn.com/image/fetch/$s_!251O!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F233345b0-046b-4941-a62c-b258aeb8589a_894x888.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>There's a strange notion in engineering:</p><blockquote><p>&#10060; Reducing scope signals failure or an inability to deliver.</p></blockquote><p>Let's dismantle that immediately.</p><p>Strategically cutting features doesn't indicate weakness but demonstrates business awareness and clear decision-making. When you're willing to trim features that aren't critical, you're showing that you prioritize real impact over <strong>superficial complexity</strong>. </p><p>Leaders and stakeholders respect engineers who can confidently say:</p><blockquote><p>&#9989; This isn't essential. Let's focus on what is.</p></blockquote><p>In fact, scope reduction is often the best step to creating leaner, more focused, and more effective products.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/p/less-is-more-how-to-cut-features?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.enginuity.software/p/less-is-more-how-to-cut-features?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><h2>Identify Your Core User Journey</h2><p>Before cutting anything, clearly define <strong>what value</strong> you're actually trying to deliver and <strong>for whom</strong>. </p><p>Too often, product teams lose sight of the core user journey, stuffing their products with secondary features that distract from their central purpose&#8212;the features users actually pay for and which they expect to work flawlessly.</p><p>The first step in smart scope reduction is mapping out a minimal <strong>user journey focused purely on outcomes</strong>. </p><p>Forget about fluff and superficial what-ifs. Think instead about the critical steps users must take to reach their primary goal. Every interaction or feature should clearly connect to delivering that value.</p><h3>Actionable Tip</h3><p>Create a simple flowchart or diagram visualizing your product&#8217;s core user journey. Any step or feature outside this essential path is a candidate for removal. </p><p>Consistently return to the question: </p><blockquote><p>&#128161; Does this step directly help the user achieve their core goal?</p></blockquote><p>Aim to keep the journey lean, intuitive, and impactful.</p><h2>Feature Split</h2><p>Once you've identified your core user journey, the next challenge is handling complexity. <strong>Large features are risky.</strong> They slow you down, increase uncertainty, and often lead to feature creep during implementation, diluting the core value you aim to deliver.</p><p>Such monolithic features need to be split into smaller, manageable pieces that still deliver clear, standalone value. The goal isn't to deliver everything at once but to provide meaningful increments that still feel complete.</p><blockquote><p>&#128161; What's the smallest increment that still solves a meaningful problem for our user?</p></blockquote><p>Everything beyond this minimum increment is a candidate for a feature split.</p><h2>Impact vs. Effort Matrix</h2><p>After splitting your features, you need a clear way to prioritize these smaller chunks. The Impact vs. Effort matrix is the perfect tool: simple and fast.</p><p>Plot each feature based on two straightforward dimensions: </p><ul><li><p>X-axis: <strong>Required effort</strong></p><ul><li><p>Consider engineering and product complexity, dependencies, rollout strategy, and risks.</p></li></ul></li><li><p>Y-axis: <strong>Anticipated impact</strong></p><ul><li><p>How much user value, potential revenue, or competitive advantage it brings.</p></li></ul></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!p1rQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F272b4935-1c27-4d0f-888a-2bf6d696a4dd_1191x1038.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!p1rQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F272b4935-1c27-4d0f-888a-2bf6d696a4dd_1191x1038.png 424w, https://substackcdn.com/image/fetch/$s_!p1rQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F272b4935-1c27-4d0f-888a-2bf6d696a4dd_1191x1038.png 848w, https://substackcdn.com/image/fetch/$s_!p1rQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F272b4935-1c27-4d0f-888a-2bf6d696a4dd_1191x1038.png 1272w, https://substackcdn.com/image/fetch/$s_!p1rQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F272b4935-1c27-4d0f-888a-2bf6d696a4dd_1191x1038.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!p1rQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F272b4935-1c27-4d0f-888a-2bf6d696a4dd_1191x1038.png" width="500" height="435.76826196473553" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/272b4935-1c27-4d0f-888a-2bf6d696a4dd_1191x1038.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1038,&quot;width&quot;:1191,&quot;resizeWidth&quot;:500,&quot;bytes&quot;:128550,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://newsletter.enginuity.software/i/160139702?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F272b4935-1c27-4d0f-888a-2bf6d696a4dd_1191x1038.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!p1rQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F272b4935-1c27-4d0f-888a-2bf6d696a4dd_1191x1038.png 424w, https://substackcdn.com/image/fetch/$s_!p1rQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F272b4935-1c27-4d0f-888a-2bf6d696a4dd_1191x1038.png 848w, https://substackcdn.com/image/fetch/$s_!p1rQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F272b4935-1c27-4d0f-888a-2bf6d696a4dd_1191x1038.png 1272w, https://substackcdn.com/image/fetch/$s_!p1rQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F272b4935-1c27-4d0f-888a-2bf6d696a4dd_1191x1038.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>Practical Tip</h3><p>Don&#8217;t get too overexcited when estimating. </p><ul><li><p>Engineers are often great at being overly optimistic when it comes to effort estimates (estimating too low).</p></li><li><p>Product managers are often great at being overly optimistic when it comes to impact estimates (estimating too high).</p></li></ul><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Enginuity! <strong>Subscribe for free</strong> to receive bi-weekly posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>Summary</h2><p>Scope reduction is about clarity and discipline. </p><p>Successful product teams know that strategically cutting unnecessary features by</p><ul><li><p>clearly defining the core user journey</p></li><li><p>breaking complex deliverables into smaller independent chunks</p></li><li><p>prioritizing them objectively</p></li></ul><p>demonstrates maturity and streamlines product delivery.</p><p>I&#8217;d like to hear about your experience. What methods do you use for scope reduction?</p><div><hr></div><h2>&#128214; Read Next</h2><p>Discover more from the <a href="https://newsletter.enginuity.software/t/product-engineer">Product Engineering</a> track:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;bdbeb6d4-4e48-4606-99ab-d47bf896d473&quot;,&quot;caption&quot;:&quot;Shipping software shouldn&#8217;t be a gamble. But for many teams, every release feels like one.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;md&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;How to Ship Faster, Safer, and With Less Drama&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:131539004,&quot;name&quot;:&quot;Samuel Koll&#225;t&quot;,&quot;bio&quot;:&quot;Writing about Tech Leadership &amp; Product Engineering Mindset &#8226; Sharing insights on effective and meaningful software development &#8226; Senior-Staff Engineer @ Outreach&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5711335-39d9-41c3-b106-0740749a1dd9_3024x3024.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-03-06T07:02:17.985Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/36e5aeed-68ab-4040-a033-9d568918aacf_489x368.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://newsletter.enginuity.software/p/trunk-based-development-and-feature-flags&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:157944384,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:9,&quot;comment_count&quot;:7,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Enginuity&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec00d977-1863-420c-950d-b023037cdde5_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EK5l!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EK5l!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 424w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 848w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 1272w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EK5l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png" width="354" height="95.7970401691332" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:256,&quot;width&quot;:946,&quot;resizeWidth&quot;:354,&quot;bytes&quot;:18133,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!EK5l!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 424w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 848w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 1272w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>If you&#8217;re looking for a space where you can learn more about software engineering, leadership, and the creator economy, with <a href="https://open.substack.com/users/156659052-dariusz-sadowski?utm_source=mentions">Dariusz Sadowski</a>, <a href="https://open.substack.com/users/141222242-micha-poczwardowski?utm_source=mentions">Micha&#322; Poczwardowski</a>, and <a href="https://open.substack.com/users/40945395-yordan-ivanov?utm_source=mentions">Yordan Ivanov &#128200;</a>, we&#8217;ve created the <strong>Engineering &amp; Leadership </strong>discord community:</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://discord.gg/CDb5BRukAE&quot;,&quot;text&quot;:&quot;Join&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://discord.gg/CDb5BRukAE"><span>Join</span></a></p><div><hr></div><h3>&#128227; Recommended Reading</h3><ul><li><p><a href="https://newsletter.manager.dev/p/the-13-software-engineering-laws">The 13 software engineering laws</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Anton Zaides&quot;,&quot;id&quot;:121956618,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fa87af7-7089-4977-ab32-dbcae410c190_3847x3564.jpeg&quot;,&quot;uuid&quot;:&quot;f44e81f9-2a7f-4b5a-bc63-a3c7ade8c0b3&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Manager.dev&quot;,&quot;id&quot;:1804629,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/zaidesanton&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/71a0e5da-2403-4275-b993-e57b01e973f1_256x256.png&quot;,&quot;uuid&quot;:&quot;51fe9b38-d4a0-4dee-ab00-e6f63d4ee7bf&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p><a href="https://newsletter.posthog.com/p/what-engineers-get-wrong-about-communication">What engineers get wrong about communication</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Ian Vanagas&quot;,&quot;id&quot;:109694180,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56e6c63d-4e58-4af0-ad19-c3ac15c7d4fc_1026x898.webp&quot;,&quot;uuid&quot;:&quot;22193236-5bc4-4ce8-b46f-6a4de08c42d9&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Product for Engineers&quot;,&quot;id&quot;:1318225,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/productforengineers&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fe72ab71-149a-44a9-8b5a-b91485b0c98f_371x371.png&quot;,&quot;uuid&quot;:&quot;5c8b297b-5d6d-4634-af64-9c97c3161e86&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p><a href="https://thehustlingengineer.substack.com/p/starting-your-career-with-a-remote">Starting Your Career with a Remote Job Can Hurt You</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Hemant Pandey&quot;,&quot;id&quot;:58770480,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5d8aef1-0399-40a0-9537-5615ca0fe8d4_1166x1167.jpeg&quot;,&quot;uuid&quot;:&quot;08326ac1-fd28-44f1-8088-8e7127c252f5&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;The Hustling Engineer&quot;,&quot;id&quot;:2210093,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/thehustlingengineer&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fe3928da-2936-4f40-810a-caa16995c9e1_500x500.png&quot;,&quot;uuid&quot;:&quot;954bcd0f-1d56-4ce6-a33c-3775d4ff08e4&quot;}" data-component-name="MentionToDOM"></span> </p></li></ul>]]></content:encoded></item><item><title><![CDATA[How to Ship Faster, Safer, and With Less Drama]]></title><description><![CDATA[Feature Toggling & Trunk-Based Development for Continuous Delivery]]></description><link>https://newsletter.enginuity.software/p/trunk-based-development-and-feature-flags</link><guid isPermaLink="false">https://newsletter.enginuity.software/p/trunk-based-development-and-feature-flags</guid><dc:creator><![CDATA[Samuel Kollát]]></dc:creator><pubDate>Thu, 06 Mar 2025 07:02:17 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/36e5aeed-68ab-4040-a033-9d568918aacf_489x368.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Shipping software shouldn&#8217;t be a gamble. But for many teams, every release feels like one. </p><p>Long-lived branches pile up, and merge conflicts become a nightmare. Deployments are high-stakes events, and when something goes wrong, rolling back is a mess.</p><p>This isn&#8217;t just an engineering problem. It&#8217;s a business problem. Slow releases mean slow feedback, which means wasted effort and missed opportunities.</p><blockquote><p>Shipping software should be like breathing&#8212;<strong>constant, natural, low-drama</strong>.</p></blockquote><p>With continuous delivery being de facto mainstream, this goal is theoretically within the reach of any team or organization. Smaller changes mean fewer surprises. Frequent releases mean faster feedback.</p><p>However, continuous delivery only works if your team can integrate changes safely. That&#8217;s where <strong>Trunk-Based Development </strong>and<strong> Feature Toggling</strong> come in.</p><p>Trunk-based development keeps teams moving. Feature toggling keeps releases safe. Together, they make continuous delivery a reality. This article breaks down how to make both work in practice.</p><h2>Trunk-Based Development</h2><p>Many teams don&#8217;t struggle with writing code, but getting it into production without breaking everything.</p><p>For years, one approach for this has been <strong>long-lived feature branches</strong>, aka. Feature-Based Development (FBD):</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4YU8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4571899b-96f1-43c5-8a4d-e3c7b86d83fa_1726x917.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4YU8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4571899b-96f1-43c5-8a4d-e3c7b86d83fa_1726x917.png 424w, https://substackcdn.com/image/fetch/$s_!4YU8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4571899b-96f1-43c5-8a4d-e3c7b86d83fa_1726x917.png 848w, https://substackcdn.com/image/fetch/$s_!4YU8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4571899b-96f1-43c5-8a4d-e3c7b86d83fa_1726x917.png 1272w, https://substackcdn.com/image/fetch/$s_!4YU8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4571899b-96f1-43c5-8a4d-e3c7b86d83fa_1726x917.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4YU8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4571899b-96f1-43c5-8a4d-e3c7b86d83fa_1726x917.png" width="640" height="340.2197802197802" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4571899b-96f1-43c5-8a4d-e3c7b86d83fa_1726x917.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:774,&quot;width&quot;:1456,&quot;resizeWidth&quot;:640,&quot;bytes&quot;:60758,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://newsletter.enginuity.software/i/157944384?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4571899b-96f1-43c5-8a4d-e3c7b86d83fa_1726x917.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!4YU8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4571899b-96f1-43c5-8a4d-e3c7b86d83fa_1726x917.png 424w, https://substackcdn.com/image/fetch/$s_!4YU8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4571899b-96f1-43c5-8a4d-e3c7b86d83fa_1726x917.png 848w, https://substackcdn.com/image/fetch/$s_!4YU8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4571899b-96f1-43c5-8a4d-e3c7b86d83fa_1726x917.png 1272w, https://substackcdn.com/image/fetch/$s_!4YU8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4571899b-96f1-43c5-8a4d-e3c7b86d83fa_1726x917.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>Note: In this article I call the default branch in the git repository &#8220;main&#8221;.</em></p><p>A developer starts a feature, branches off <em>main</em>, and works in isolation. Days or weeks later, they try to merge it back. But by then, <em>main</em> has changed, and the branch is out of sync. </p><p>Merge conflicts pile up. The code review is a mess. The release gets delayed. </p><p>A situation known as <strong>merge hell&#8212;</strong>integrating code takes longer than writing it.</p><div><hr></div><p><strong>Trunk-Based Development</strong> (TBD) is the very opposite of FBD. Developers merge small, frequent changes directly into <em>main</em> via short-lived branches that last <strong>hours or days</strong>, not weeks. </p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Iy94!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e25b4e9-5034-45fa-a2c0-57a1800487ee_1717x523.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Iy94!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e25b4e9-5034-45fa-a2c0-57a1800487ee_1717x523.png 424w, https://substackcdn.com/image/fetch/$s_!Iy94!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e25b4e9-5034-45fa-a2c0-57a1800487ee_1717x523.png 848w, https://substackcdn.com/image/fetch/$s_!Iy94!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e25b4e9-5034-45fa-a2c0-57a1800487ee_1717x523.png 1272w, https://substackcdn.com/image/fetch/$s_!Iy94!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e25b4e9-5034-45fa-a2c0-57a1800487ee_1717x523.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Iy94!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e25b4e9-5034-45fa-a2c0-57a1800487ee_1717x523.png" width="640" height="194.72527472527472" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0e25b4e9-5034-45fa-a2c0-57a1800487ee_1717x523.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:443,&quot;width&quot;:1456,&quot;resizeWidth&quot;:640,&quot;bytes&quot;:42112,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://newsletter.enginuity.software/i/157944384?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e25b4e9-5034-45fa-a2c0-57a1800487ee_1717x523.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Iy94!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e25b4e9-5034-45fa-a2c0-57a1800487ee_1717x523.png 424w, https://substackcdn.com/image/fetch/$s_!Iy94!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e25b4e9-5034-45fa-a2c0-57a1800487ee_1717x523.png 848w, https://substackcdn.com/image/fetch/$s_!Iy94!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e25b4e9-5034-45fa-a2c0-57a1800487ee_1717x523.png 1272w, https://substackcdn.com/image/fetch/$s_!Iy94!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e25b4e9-5034-45fa-a2c0-57a1800487ee_1717x523.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>The result?</p><ul><li><p><strong>Fewer merge conflicts</strong> &#8594; Changes are small and integrate continuously.</p></li><li><p><strong>Faster feedback loops</strong> &#8594; Code gets reviewed and deployed quickly.</p></li><li><p><strong>Higher stability</strong> &#8594; <em>main</em> is always ready for release.</p></li></ul><p>&#9888;&#65039; There is a caveat: When you frequently merge to <em>main</em>, you can&#8217;t afford to introduce half-baked features that break production.</p><p><strong>Feature flags</strong> help you integrate work early and hide unfinished functionality behind a toggle. This keeps <em>main</em> stable while allowing continuous integration and early testing in real environments. </p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">If you find this post valuable, you can support my work by subscribing for free to receive bi-weekly posts.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>Feature Toggling</h2><p>Feature toggles (or feature flags) let you <strong>separate deployments from releases</strong>.</p><p>Code can be merged and deployed continuously, but features are only enabled when you&#8217;re ready. Some features need more testing. Others should only be available to a subset of users. Or if you are rolling out experimental change, you want the ability to disable it instantly (a kill-switch) if things go sideways.</p><p>At its core, a feature flag is a simple conditional statement:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1XlA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82798022-99e2-4d16-9260-2a91af394c67_1458x768.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1XlA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82798022-99e2-4d16-9260-2a91af394c67_1458x768.png 424w, https://substackcdn.com/image/fetch/$s_!1XlA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82798022-99e2-4d16-9260-2a91af394c67_1458x768.png 848w, https://substackcdn.com/image/fetch/$s_!1XlA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82798022-99e2-4d16-9260-2a91af394c67_1458x768.png 1272w, https://substackcdn.com/image/fetch/$s_!1XlA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82798022-99e2-4d16-9260-2a91af394c67_1458x768.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1XlA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82798022-99e2-4d16-9260-2a91af394c67_1458x768.png" width="420" height="221.25" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/82798022-99e2-4d16-9260-2a91af394c67_1458x768.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:767,&quot;width&quot;:1456,&quot;resizeWidth&quot;:420,&quot;bytes&quot;:78588,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://newsletter.enginuity.software/i/157944384?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82798022-99e2-4d16-9260-2a91af394c67_1458x768.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!1XlA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82798022-99e2-4d16-9260-2a91af394c67_1458x768.png 424w, https://substackcdn.com/image/fetch/$s_!1XlA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82798022-99e2-4d16-9260-2a91af394c67_1458x768.png 848w, https://substackcdn.com/image/fetch/$s_!1XlA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82798022-99e2-4d16-9260-2a91af394c67_1458x768.png 1272w, https://substackcdn.com/image/fetch/$s_!1XlA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82798022-99e2-4d16-9260-2a91af394c67_1458x768.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Instead of using hardcoded values, feature flag services like LaunchDarkly or Unleash let you dynamically control <strong>which</strong> features are enabled, <strong>for whom</strong>, and <strong>when</strong>.</p><p>Feature flags are not just for enabling new features to users, but they can be categorized into different types:</p><ul><li><p>&#128640; <strong>Release Flags</strong> &#8211; Hide unfinished features until they&#8217;re ready.</p></li><li><p>&#9881;&#65039; <strong>Operational Flags</strong> &#8211; Enable or disable features instantly in case of issues.</p></li><li><p>&#129514; <strong>Experiment Flags</strong> &#8211; A/B test variations and measure impact.</p></li><li><p>&#128274; <strong>Permission Flags</strong> &#8211; Control access based on user roles.</p></li></ul><h3>Example: Using LaunchDarkly in a React App</h3><p>To see feature toggling in action, let&#8217;s integrate LaunchDarkly into a React application using the <em><a href="https://launchdarkly.com/docs/sdk/client-side/react/react-web">launchdarkly-react-client-sdk</a></em>.</p><p>Let&#8217;s start with installing the package into your existing React application (or create one <a href="https://react.dev/learn/creating-a-react-app">using this doc</a>):</p><pre><code>npm install launchdarkly-react-client-sdk</code></pre><p>The next step is to initialize the client SDK with your project&#8217;s ID and any additional information, such as the currently logged-in user. To get the ID, you can register for the free <a href="https://launchdarkly.com/pricing/">Developer plan</a>, which has a limit of 1,000 monthly active users (more than enough for testing it out).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!lzbs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ba2ec6-0772-427a-9309-9a666a524694_2605x1944.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lzbs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ba2ec6-0772-427a-9309-9a666a524694_2605x1944.png 424w, https://substackcdn.com/image/fetch/$s_!lzbs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ba2ec6-0772-427a-9309-9a666a524694_2605x1944.png 848w, https://substackcdn.com/image/fetch/$s_!lzbs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ba2ec6-0772-427a-9309-9a666a524694_2605x1944.png 1272w, https://substackcdn.com/image/fetch/$s_!lzbs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ba2ec6-0772-427a-9309-9a666a524694_2605x1944.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lzbs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ba2ec6-0772-427a-9309-9a666a524694_2605x1944.png" width="1456" height="1087" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/58ba2ec6-0772-427a-9309-9a666a524694_2605x1944.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1087,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:377958,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://newsletter.enginuity.software/i/157944384?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ba2ec6-0772-427a-9309-9a666a524694_2605x1944.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!lzbs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ba2ec6-0772-427a-9309-9a666a524694_2605x1944.png 424w, https://substackcdn.com/image/fetch/$s_!lzbs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ba2ec6-0772-427a-9309-9a666a524694_2605x1944.png 848w, https://substackcdn.com/image/fetch/$s_!lzbs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ba2ec6-0772-427a-9309-9a666a524694_2605x1944.png 1272w, https://substackcdn.com/image/fetch/$s_!lzbs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58ba2ec6-0772-427a-9309-9a666a524694_2605x1944.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>With the initialization out of the way, accessing and using a feature flag (in this case called <em>newFeatureEnabled</em> is as easy as:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4fWw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fce94fc-a80c-438e-907f-477b3a2b9986_2927x1356.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4fWw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fce94fc-a80c-438e-907f-477b3a2b9986_2927x1356.png 424w, https://substackcdn.com/image/fetch/$s_!4fWw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fce94fc-a80c-438e-907f-477b3a2b9986_2927x1356.png 848w, https://substackcdn.com/image/fetch/$s_!4fWw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fce94fc-a80c-438e-907f-477b3a2b9986_2927x1356.png 1272w, https://substackcdn.com/image/fetch/$s_!4fWw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fce94fc-a80c-438e-907f-477b3a2b9986_2927x1356.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4fWw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fce94fc-a80c-438e-907f-477b3a2b9986_2927x1356.png" width="1456" height="675" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9fce94fc-a80c-438e-907f-477b3a2b9986_2927x1356.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:675,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:241735,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://newsletter.enginuity.software/i/157944384?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fce94fc-a80c-438e-907f-477b3a2b9986_2927x1356.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!4fWw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fce94fc-a80c-438e-907f-477b3a2b9986_2927x1356.png 424w, https://substackcdn.com/image/fetch/$s_!4fWw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fce94fc-a80c-438e-907f-477b3a2b9986_2927x1356.png 848w, https://substackcdn.com/image/fetch/$s_!4fWw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fce94fc-a80c-438e-907f-477b3a2b9986_2927x1356.png 1272w, https://substackcdn.com/image/fetch/$s_!4fWw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fce94fc-a80c-438e-907f-477b3a2b9986_2927x1356.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The last piece of the puzzle is creating the flag in the LaunchDarkly UI (or via <a href="https://registry.terraform.io/providers/launchdarkly/launchdarkly/latest/docs/resources/feature_flag">Terraform</a>). </p><p>When the flag is created, it is by default in the disabled (OFF) state. In the example below, you can see our flag enabled and scheduled for Progressive rollout, which in given intervals enables the new feature for more and more users.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Nr5A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ce3f48b-b53e-4bff-958e-9c8ddc175eba_1328x1494.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Nr5A!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ce3f48b-b53e-4bff-958e-9c8ddc175eba_1328x1494.png 424w, https://substackcdn.com/image/fetch/$s_!Nr5A!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ce3f48b-b53e-4bff-958e-9c8ddc175eba_1328x1494.png 848w, https://substackcdn.com/image/fetch/$s_!Nr5A!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ce3f48b-b53e-4bff-958e-9c8ddc175eba_1328x1494.png 1272w, https://substackcdn.com/image/fetch/$s_!Nr5A!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ce3f48b-b53e-4bff-958e-9c8ddc175eba_1328x1494.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Nr5A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ce3f48b-b53e-4bff-958e-9c8ddc175eba_1328x1494.png" width="660" height="742.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1ce3f48b-b53e-4bff-958e-9c8ddc175eba_1328x1494.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1494,&quot;width&quot;:1328,&quot;resizeWidth&quot;:660,&quot;bytes&quot;:186975,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://newsletter.enginuity.software/i/157944384?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ce3f48b-b53e-4bff-958e-9c8ddc175eba_1328x1494.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Nr5A!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ce3f48b-b53e-4bff-958e-9c8ddc175eba_1328x1494.png 424w, https://substackcdn.com/image/fetch/$s_!Nr5A!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ce3f48b-b53e-4bff-958e-9c8ddc175eba_1328x1494.png 848w, https://substackcdn.com/image/fetch/$s_!Nr5A!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ce3f48b-b53e-4bff-958e-9c8ddc175eba_1328x1494.png 1272w, https://substackcdn.com/image/fetch/$s_!Nr5A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ce3f48b-b53e-4bff-958e-9c8ddc175eba_1328x1494.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>You can use many strategies, such as percentage rollouts, region-based rollouts, customer-based rollouts, etc. The main benefit is that you can change who will see new features and when <strong>without deploying</strong> new code.</p><h2>Best Practices for Feature Flags</h2><ul><li><p><strong>Keep flags short-lived</strong>: Don&#8217;t let old flags accumulate as tech debt. Remove them once a feature is fully rolled out.</p></li><li><p><strong>Use a feature flag management tool</strong>: Manually toggling flags via config files is a bad idea. Services like LaunchDarkly provide better control.</p></li><li><p><strong>Combine feature flags with analytics</strong>: Track how feature rollouts affect user behavior, key metrics, and system performance.</p></li><li><p><strong>Test features separately</strong>: Ensure that both the enabled and disabled states work correctly.</p></li><li><p><strong>Plan for quick rollbacks</strong>: Make sure toggles can be switched off instantly if something goes wrong.</p></li></ul><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/p/trunk-based-development-and-feature-flags?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.enginuity.software/p/trunk-based-development-and-feature-flags?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><h2>Common Anti-Patterns</h2><h3>Feature Flag Tech Debt</h3><p>Feature flags are meant to be temporary, but teams often forget to remove old ones. Over time, the codebase becomes cluttered with <strong>dead toggles</strong>, making it harder to maintain and developers waste time navigating code paths that shouldn&#8217;t even exist anymore.</p><ul><li><p>&#9989; <strong>Track your feature flags</strong> - Use a dedicated feature flag management tool (such as LaunchDarkly) to keep a record of all active flags.</p></li><li><p>&#9989; <strong>Set an expiration date</strong> - Every toggle should have a planned removal date. If a flag has been active for weeks with no change, it should raise a notification and the flag should be reviewed (and ideally removed).</p></li></ul><h3>Relying on Feature Flags Instead of Testing</h3><p>Some teams use feature flags as an excuse to skip proper testing. </p><p>The logic is: <em>&#8220;If something goes wrong, we&#8217;ll just turn it off.&#8221;</em> </p><p>But this doesn&#8217;t prevent regressions. It just <strong>hides bad code </strong>until accumulated tech debt cannot be ignored anymore.</p><ul><li><p>&#9989; <strong>Test both ON and OFF</strong> - Ensure that both flag states function correctly.</p></li><li><p>&#9989; <strong>Write automated tests</strong> - Don&#8217;t assume toggled-off code is harmless.</p></li></ul><h3>Poor Observability</h3><p>A new feature is rolled out, but the team has no way to track <strong>how is it used</strong>, who is using it, or how reliable or performant it is. </p><ul><li><p>&#9989; <strong>Use feature flag analytics</strong> &#8211; Track who has the flag enabled and monitor reliability and performance metrics for the new feature (in tools such as DataDog).</p></li><li><p>&#9989; <strong>Log feature flag state</strong> &#8211; Include flag values in your logs, or create separate log entries per flag states, so they are easily filterable in your observability tool.</p></li></ul><h3>Overcomplicating</h3><p>Some teams create deeply nested toggles, making it impossible to understand what code is actually running. Too many interdependent flags make debugging a nightmare.</p><pre><code>if (featureAEnabled) { 
  if (featureBEnabled) { 
    if (!featureCEnabled) { 
      doSomething(); 
    } else { 
      doSomethingElse(); 
    }
  }
}</code></pre><ul><li><p>&#9989; K<strong>eep flags simple</strong> &#8211; Each flag should control a single feature, not multiple behaviors.</p></li><li><p>&#9989; <strong>Avoid deeply nested logic</strong> &#8211; Don&#8217;t mix multiple feature flags together.</p></li></ul><pre><code>if (featureAEnabled) { 
  doFeatureA(); 
}

if (featureBEnabled) { 
  doFeatureB(); 
}</code></pre><h2>Summary</h2><p>I hope this article gave you an actionable overview of benefits of Trunk-based development paired with Feature flags. In short:</p><ul><li><p>Trunk-Based Development eliminates the pain of long-lived feature branches, keeping teams in sync and reducing merge conflicts. </p></li><li><p>Feature Toggling ensures that new features can be integrated early and safely, allowing controlled rollouts and instant rollbacks without risky deployments.</p></li></ul><p>I'd love to hear about your best practices for shipping code with confidence!</p><div><hr></div><h3>&#128214; Read Next</h3><p>Discover more from the <a href="https://newsletter.enginuity.software/t/product-engineer">Product Engineering</a> track:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;2e7e00bd-7424-4b86-a052-b3abc2fca7df&quot;,&quot;caption&quot;:&quot;You can build the most elegant, scalable system in the world, but if nobody uses the product, what&#8217;s the point?&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;md&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Why Engineers Must Care About Product-Market Fit (And How To Do It)&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:131539004,&quot;name&quot;:&quot;Samuel Koll&#225;t&quot;,&quot;bio&quot;:&quot;Writing about Tech Leadership &amp; Product Engineering Mindset &#8226; Sharing insights on effective and meaningful software development &#8226; Senior-Staff Engineer @ Outreach&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5711335-39d9-41c3-b106-0740749a1dd9_3024x3024.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-02-20T07:01:53.358Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/43559992-3d36-4f25-b195-41b70f9db22f_485x663.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://newsletter.enginuity.software/p/how-to-measure-product-market-fit&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:157148915,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:11,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Enginuity&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec00d977-1863-420c-950d-b023037cdde5_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EK5l!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EK5l!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 424w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 848w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 1272w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EK5l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png" width="354" height="95.7970401691332" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:256,&quot;width&quot;:946,&quot;resizeWidth&quot;:354,&quot;bytes&quot;:18133,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!EK5l!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 424w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 848w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 1272w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>If you&#8217;re looking for a space where you can learn more about software engineering, leadership, and the creator economy, with <a href="https://open.substack.com/users/156659052-dariusz-sadowski?utm_source=mentions">Dariusz Sadowski</a>, <a href="https://open.substack.com/users/141222242-micha-poczwardowski?utm_source=mentions">Micha&#322; Poczwardowski</a>, and <a href="https://open.substack.com/users/40945395-yordan-ivanov?utm_source=mentions">Yordan Ivanov &#128200;</a>, we&#8217;ve created the <strong>Engineering &amp; Leadership </strong>discord community:</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://discord.gg/CDb5BRukAE&quot;,&quot;text&quot;:&quot;Join&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://discord.gg/CDb5BRukAE"><span>Join</span></a></p><div><hr></div><h3>&#128227; Recommended Reading</h3><ul><li><p><a href="https://newsletter.eng-leadership.com/p/5-lessons-learned-setting-up-a-global">5 lessons learned setting up a global engineering org at Google</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Gregor Ojstersek&quot;,&quot;id&quot;:106098672,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b7fdc30-d8c4-45f2-b0df-0b60baf9d4f4_1000x1000.jpeg&quot;,&quot;uuid&quot;:&quot;2791a4df-667b-4ba2-a8a1-836319e2b9ad&quot;}" data-component-name="MentionToDOM"></span> and <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Chaitali Narla&quot;,&quot;id&quot;:262519377,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8edca41-bd13-4b8e-9a4c-cfef63f316a8_600x600.jpeg&quot;,&quot;uuid&quot;:&quot;4d973776-0f64-435e-a130-b215a15d838d&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p><a href="https://zaidesanton.substack.com/p/businesss-terms-for-engineering-managers">20 Business terms every Engineering Manager should know</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Anton Zaides&quot;,&quot;id&quot;:121956618,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fa87af7-7089-4977-ab32-dbcae410c190_3847x3564.jpeg&quot;,&quot;uuid&quot;:&quot;bb91cb98-8637-4aba-9eef-3b7335423f9f&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Leading Developers&quot;,&quot;id&quot;:1804629,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/zaidesanton&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/64dbcf3a-d0db-4718-8758-a6521ac5b8bd_1250x1250.png&quot;,&quot;uuid&quot;:&quot;8501f426-1fd6-4aba-904a-8b521dbe6641&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p><a href="https://read.perspectiveship.com/p/meditate">I Became a Monk for 10 Days so You Don't Have To</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Micha&#322; Poczwardowski&quot;,&quot;id&quot;:141222242,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F475838ea-8fbf-473b-9678-ea792c061ede_764x784.jpeg&quot;,&quot;uuid&quot;:&quot;9c171e4f-7e73-409b-b4ca-3ded80bd3c23&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Perspectiveship&quot;,&quot;id&quot;:2072708,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/poczwardowski&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fbae1b9e-ea9b-4925-9296-13051314b405_256x256.png&quot;,&quot;uuid&quot;:&quot;b376679e-3212-49f1-96c6-e91105659297&quot;}" data-component-name="MentionToDOM"></span> </p></li></ul><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Enginuity! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Why Engineers Must Care About Product-Market Fit (And How To Do It)]]></title><description><![CDATA[Engineering Is About Building Products That People Love]]></description><link>https://newsletter.enginuity.software/p/how-to-measure-product-market-fit</link><guid isPermaLink="false">https://newsletter.enginuity.software/p/how-to-measure-product-market-fit</guid><dc:creator><![CDATA[Samuel Kollát]]></dc:creator><pubDate>Thu, 20 Feb 2025 07:01:53 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/43559992-3d36-4f25-b195-41b70f9db22f_485x663.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>You can build the most elegant, scalable system in the world, but if nobody uses the product, what&#8217;s the point?</p><p>While you can say this is a business or product management concern, it&#8217;s also an <strong>engineering challenge</strong>.</p><p>Our work is wasted if users don&#8217;t find value in what we build. If we fail to measure and iterate on user adoption, we risk shipping features that never gain traction.</p><p>Considering Product-Market Fit (PMF) means considering <strong>the bigger picture</strong>. It means asking questions like:</p><blockquote><p>Does what we&#8217;re building <strong>actually matter</strong> to users? Are we solving a real problem in a way that keeps them coming back?</p></blockquote><p>Let&#8217;s look at how to connect your engineering work to real product outcomes by <strong>understanding</strong> Product-Market Fit and using <strong>tools and techniques</strong> to measure key metrics.</p><h2>Is What We&#8217;re Building Actually Resonating with Users?</h2><p>Product-market fit is the moment when a product clicks with the market. This happens when users adopt it and love it enough to keep using it, pay for it, and recommend it to others.</p><p>It means to have:</p><ul><li><p>&#9989; <strong>High engagement</strong> &#8211; Users actively interact with key features.</p></li><li><p>&#9989; <strong>Strong retention</strong> &#8211; They keep coming back over time.</p></li><li><p>&#9989; <strong>Organic growth</strong> &#8211; People share it with others.</p></li><li><p>&#9989; <strong>Low churn</strong> &#8211; Users don&#8217;t abandon it after a few tries.</p></li><li><p>&#9989; <strong>Feature adoption</strong> &#8211; New capabilities are actually used, not just shipped.</p></li></ul><p>The engineering challenge in PMF is going beyond tracking traditional engineering metrics by holistically assessing the end-to-end user experience:</p><ul><li><p>&#9881;&#65039; Every <strong>technical decision</strong>&#8212;architecture, performance optimizations, feature prioritization&#8212;affects how easily users can adopt and engage with the product.</p></li><li><p>&#128201; If we don&#8217;t <strong>measure</strong> how users interact with what we build, we risk shipping features that get ignored or frustrate users. Without data, we&#8217;re just guessing what&#8217;s working.</p></li></ul><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/p/how-to-measure-product-market-fit?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.enginuity.software/p/how-to-measure-product-market-fit?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><h2>3 Techniques for Collecting and Analyzing PMF Data</h2><p>Luckily, PMF is reasonably easy to measure and validate with data. However, not all data is useful. Too often, teams track <strong>vanity metrics</strong> (like how many times a sign-up page was displayed) instead of real indicators of product adoption, retention, and engagement.</p><h3>1. User Behavior Tracking: Are People Using What We Build?</h3><h4>&#127919; Why This Matters</h4><p>Building a project just for the sake of building it happens very rarely. Most of the time, we want other people, aka users, to use it. While as engineers, we are excellent at shipping features, we, at the same time, need to make the next step and measure if users engage with them.</p><p>The engagement consists of users discovering the feature, actively using (or abandoning) it, and converting in ways we expect them to.</p><h4>&#128200; How to Measure It</h4><p>The first step in any analytics is telemetry instrumentation. For PMF, this can be any event-based analytics tool, such as <a href="https://amplitude.com/">Amplitude</a>, which allows tracking of how users interact with our product.</p><p>Then, we need to define key user actions to track, such as <em>"User completed onboarding"</em>, <em>"User enabled notifications"</em>, or <em>"User saved first document"</em>.</p><p>In Amplitude, tracking these events from code is as simple as (for JavaScript version):</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!W22f!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafb1005e-2ad7-4415-a036-8205091e6304_2211x852.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!W22f!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafb1005e-2ad7-4415-a036-8205091e6304_2211x852.png 424w, https://substackcdn.com/image/fetch/$s_!W22f!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafb1005e-2ad7-4415-a036-8205091e6304_2211x852.png 848w, https://substackcdn.com/image/fetch/$s_!W22f!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafb1005e-2ad7-4415-a036-8205091e6304_2211x852.png 1272w, https://substackcdn.com/image/fetch/$s_!W22f!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafb1005e-2ad7-4415-a036-8205091e6304_2211x852.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!W22f!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafb1005e-2ad7-4415-a036-8205091e6304_2211x852.png" width="551" height="212.30151098901098" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/afb1005e-2ad7-4415-a036-8205091e6304_2211x852.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:561,&quot;width&quot;:1456,&quot;resizeWidth&quot;:551,&quot;bytes&quot;:127697,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!W22f!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafb1005e-2ad7-4415-a036-8205091e6304_2211x852.png 424w, https://substackcdn.com/image/fetch/$s_!W22f!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafb1005e-2ad7-4415-a036-8205091e6304_2211x852.png 848w, https://substackcdn.com/image/fetch/$s_!W22f!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafb1005e-2ad7-4415-a036-8205091e6304_2211x852.png 1272w, https://substackcdn.com/image/fetch/$s_!W22f!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafb1005e-2ad7-4415-a036-8205091e6304_2211x852.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Note: Don&#8217;t forget to <a href="https://amplitude.com/docs/sdks/analytics/browser/browser-sdk-2#initialize-the-sdk">initialize</a> the SDK before</figcaption></figure></div><p>With event data being sent to the analytics tool, we can build and track <strong>conversion funnels</strong> to see where users drop off. For the event above, it can be: Signup &#8594; Onboarding started &#8594; Onboarding finished.</p><p>Here is an example of how a ticket purchasing funnel might end up looking:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FnJ_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8b39c48-9f81-407e-85ef-18afe08d1330_1638x716.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FnJ_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8b39c48-9f81-407e-85ef-18afe08d1330_1638x716.png 424w, https://substackcdn.com/image/fetch/$s_!FnJ_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8b39c48-9f81-407e-85ef-18afe08d1330_1638x716.png 848w, https://substackcdn.com/image/fetch/$s_!FnJ_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8b39c48-9f81-407e-85ef-18afe08d1330_1638x716.png 1272w, https://substackcdn.com/image/fetch/$s_!FnJ_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8b39c48-9f81-407e-85ef-18afe08d1330_1638x716.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FnJ_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8b39c48-9f81-407e-85ef-18afe08d1330_1638x716.png" width="1456" height="636" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a8b39c48-9f81-407e-85ef-18afe08d1330_1638x716.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:636,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:66517,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!FnJ_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8b39c48-9f81-407e-85ef-18afe08d1330_1638x716.png 424w, https://substackcdn.com/image/fetch/$s_!FnJ_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8b39c48-9f81-407e-85ef-18afe08d1330_1638x716.png 848w, https://substackcdn.com/image/fetch/$s_!FnJ_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8b39c48-9f81-407e-85ef-18afe08d1330_1638x716.png 1272w, https://substackcdn.com/image/fetch/$s_!FnJ_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8b39c48-9f81-407e-85ef-18afe08d1330_1638x716.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Example of Funnel Analysis chart <a href="https://amplitude.com/docs/analytics/charts/funnel-analysis/funnel-analysis-interpret">from Amplitude</a>.</figcaption></figure></div><p>With such funnels in place, we can ask questions like:</p><ul><li><p> Which step has the biggest drop-off in the funnel?</p></li><li><p>How can we improve the UX in that step so users can continue the flow?</p></li><li><p>Give the current conversion, is the feature viable?</p></li></ul><p>An effective strategy while developing a feature is to <strong>A/B test</strong> several variants of its user experience. For this, I recommend <a href="https://launchdarkly.com/features/feature-flags/">LaunchDarkly</a>, which I&#8217;ve been using for several years now (they also offer a free <a href="https://launchdarkly.com/pricing/">Developer</a> tier).</p><p>Combining feature flags and funnel analysis helps find the optimal experience that allows users to navigate through desired flows effectively.</p><h4>&#128161; Actionable Tip</h4><p>Before shipping any major feature, apart from defining events and funnels, <strong>define one key metric</strong> that will measure its success. For example:</p><ul><li><p>If you are launching a new onboarding flow, track the <strong>Time to First Action</strong> to see if users learn the product more easily and engage more quickly.</p></li><li><p>If you are rolling out an AI-powered search, measure the <strong>Search Completion Rate</strong> to see if results are relevant.</p></li></ul><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">If you find this post valuable, please support my work by subscribing for free to receive bi-weekly posts.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h3>2. Retention &amp; Engagement: Do Users Keep Coming Back?</h3><h4>&#127919; Why This Matters</h4><p>A one-time user is a failed experiment. Many products attract an initial wave of users through marketing, getting viral, or curiosity about a new feature. But it means nothing if they don&#8217;t stick around.</p><p>Retention is the ultimate validation of Product-Market Fit (PMF) because it signals that users see <strong>sustained value over time</strong>, not just a one-time novelty.</p><h4>&#128200; How to Measure It</h4><p>Retention is often visualized as a curve over time tracking the percentage of users who return after their first visit.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pnEi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F096846dc-32f2-47c4-abc3-56fbff752523_1697x1137.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pnEi!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F096846dc-32f2-47c4-abc3-56fbff752523_1697x1137.png 424w, https://substackcdn.com/image/fetch/$s_!pnEi!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F096846dc-32f2-47c4-abc3-56fbff752523_1697x1137.png 848w, https://substackcdn.com/image/fetch/$s_!pnEi!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F096846dc-32f2-47c4-abc3-56fbff752523_1697x1137.png 1272w, https://substackcdn.com/image/fetch/$s_!pnEi!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F096846dc-32f2-47c4-abc3-56fbff752523_1697x1137.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pnEi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F096846dc-32f2-47c4-abc3-56fbff752523_1697x1137.png" width="1456" height="976" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/096846dc-32f2-47c4-abc3-56fbff752523_1697x1137.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:976,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:109570,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!pnEi!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F096846dc-32f2-47c4-abc3-56fbff752523_1697x1137.png 424w, https://substackcdn.com/image/fetch/$s_!pnEi!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F096846dc-32f2-47c4-abc3-56fbff752523_1697x1137.png 848w, https://substackcdn.com/image/fetch/$s_!pnEi!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F096846dc-32f2-47c4-abc3-56fbff752523_1697x1137.png 1272w, https://substackcdn.com/image/fetch/$s_!pnEi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F096846dc-32f2-47c4-abc3-56fbff752523_1697x1137.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>A product with strong PMF has a retention curve that flattens at a healthy level (in the example above it is 30%), while a product without PMF shows a steep drop-off.</p><p>For example, for applications that aspire to be daily tools (e.g., task tracking) or habits (e.g., Instagram) for users, there are three important retention indicators: </p><ul><li><p><strong>Day 1 retention</strong>: Did users come back after their first visit?</p><ul><li><p>If not: Users don&#8217;t see value fast enough during the onboarding.</p></li></ul></li><li><p><strong>Day 7 retention</strong>: Are users integrating the product into their daily flow?</p><ul><li><p>If not: The product might be too complicated to use.</p></li></ul></li><li><p><strong>Day 30 retention</strong>: Are users still engaged after a month?</p><ul><li><p>If not: Maybe the product doesn&#8217;t deliver ongoing value.</p></li></ul></li></ul><p>To measure retention, find an event or events that indicate the real usage of your applications and track them using the same methods I described in the previous section (Amplitude, GA, Tableau, etc.). </p><p>If we take a task-tracking app as an example, it can be <em>&#8220;Tack created&#8221;</em>, or <em>&#8220;Task status changed&#8221;</em>. Tracking events as sign-in or loading the home page isn&#8217;t enough because they do not indicate in any way that the product brings value to users.</p><h4>&#128161; Actionable Tip</h4><p>Find <strong>the main action</strong> that drives retention. Example for a task-tracking app: <em>&#8220;Users who successfully create and finish a task within 3 days of sign-up are 5x more likely to retain&#8221;.</em></p><p>If you identify this pattern, <strong>optimize</strong> the product to drive more users toward that action. Make that user flow easier to find and execute. </p><p>For example, include a non-obtrusive in-product guide (e.g., via <a href="https://www.pendo.io/product/in-app-guides/">Pendo.io</a>) to point users to this action.</p><h3>3. Performance &amp; Usability: Are Technical Issues Blocking Adoption?</h3><h4>&#127919; Why This Matters</h4><p>Even a product with perfect PMF will fail if performance issues, bugs, or bad UX frustrate and drive users away. </p><p>As engineers, we have direct control over removing technical blockers.</p><h4>&#128200; How to Measure It</h4><p>If high-value user actions have high error rates, PMF is at risk. For example if 5% of users experience an error when trying to checkout, fixing that bug could boost revenue instantly. </p><p>DataDog is de-facto an industry SaaS standard for observability. Monitoring <strong>error rates</strong> through <a href="https://docs.datadoghq.com/metrics/custom_metrics/">custom metrics</a> or crashes through <a href="https://www.datadoghq.com/product/error-tracking/">error tracking</a> is easy to set up either by hand in their app, or via Terraform using <a href="https://registry.terraform.io/providers/DataDog/datadog/latest/docs">their provider</a>.</p><p>As en example, formula for measuring success rate can be done as:</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;\\left(\\frac{number\\ of\\ succesful\\ flows}{number\\ of\\ successul\\ flows + number\\ of\\ failed\\ flows} \\right)*100&quot;,&quot;id&quot;:&quot;MQKFFINNAA&quot;}" data-component-name="LatexBlockToDOM"></div><p>The second area to focus on is <strong>performance and latency</strong>. Even as simple as 0.85 second reduction in page load time can bump conversion by 7% [<a href="https://www.cloudflare.com/learning/performance/more/website-performance-conversion-rates/">source</a>].</p><p><a href="https://docs.datadoghq.com/metrics/distributions/">Percentile metrics</a> are a great way how to assess user experience and measure time users spent waiting on the system to respond:</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;percentile_{time\\ period}\\left( end\\ time - start\\ time - time\\ spent\\ waiting\\ for\\ user\\ input \\right)&quot;,&quot;id&quot;:&quot;CKRKFZYOUO&quot;}" data-component-name="LatexBlockToDOM"></div><h4>&#128161; Actionable Tip</h4><p>Identify 2-5 main high-value user flows and set up alerts for their <strong>reliability and performance</strong> spikes.</p><p>At the same time, set up also monitoring for percentage of <strong>unfinished flows</strong> indicating drop-off rate, which can be caused not only by the product offering, but also by technical errors:</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;\\left(1 -  \\frac{number\\ of\\ finished\\ flows}{number\\ of\\ started\\ flows} \\right)*100&quot;,&quot;id&quot;:&quot;KWKRBBUWCN&quot;}" data-component-name="LatexBlockToDOM"></div><h2>Summary</h2><p>Most engineers focus on shipping features and optimizing code<strong>, </strong>but it&#8217;s not enough. The best engineers ensure what they build actually matters<strong>.</strong></p><p>If people aren&#8217;t adopting a feature, it&#8217;s either unnecessary, confusing, or has friction.</p><p>To measure PMF effectively here&#8217;s a 3-step approach you can use:</p><ul><li><p>1&#65039;&#8419; <strong>Before launching a feature</strong>: Define what success looks like, e.g., 30% of new users should be still active users after 7 days.</p></li><li><p>2&#65039;&#8419; <strong>After launching</strong>: Use event tracking, funnel analysis, and A/B testing to measure impact.</p></li><li><p>3&#65039;&#8419; <strong>Iterate</strong>: If results are low identify why or create a hypothesis, then iterate and experiment.</p></li></ul><div><hr></div><h3>&#128214; Read Next</h3><p>Discover more from the <a href="https://newsletter.enginuity.software/t/product-engineer">Product Engineering</a> track:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;aea9b3b7-af58-4777-90a6-6eeef7e67dc9&quot;,&quot;caption&quot;:&quot;You&#8217;re racing against a deadline, juggling several urgent tasks. Your manager asks for status twice a day, and the pressure to deliver as soon as possible is mounting.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;md&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;From Liability to Leverage: Turning Technical Debt Into Investment&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:131539004,&quot;name&quot;:&quot;Samuel Koll&#225;t&quot;,&quot;bio&quot;:&quot;Writing about Tech Leadership &amp; Product Engineering Mindset &#8226; Sharing insights on effective and meaningful software development &#8226; Senior-Staff Engineer @ Outreach&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5711335-39d9-41c3-b106-0740749a1dd9_3024x3024.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-02-06T07:01:27.893Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/781c2890-8455-44e3-9f2d-c89f73f60174_488x489.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://newsletter.enginuity.software/p/turning-technical-debt-into-investment&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:156292008,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:8,&quot;comment_count&quot;:2,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Enginuity&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec00d977-1863-420c-950d-b023037cdde5_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EK5l!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EK5l!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 424w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 848w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 1272w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EK5l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png" width="354" height="95.7970401691332" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:256,&quot;width&quot;:946,&quot;resizeWidth&quot;:354,&quot;bytes&quot;:18133,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!EK5l!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 424w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 848w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 1272w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>If you&#8217;re looking for a space where you can learn more about software engineering, leadership, and the creator economy, with <a href="https://open.substack.com/users/156659052-dariusz-sadowski?utm_source=mentions">Dariusz Sadowski</a>, <a href="https://open.substack.com/users/141222242-micha-poczwardowski?utm_source=mentions">Micha&#322; Poczwardowski</a>, and <a href="https://open.substack.com/users/40945395-yordan-ivanov?utm_source=mentions">Yordan Ivanov &#128200;</a>, we&#8217;ve created the <strong>Engineering &amp; Leadership </strong>discord community:</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://discord.gg/CDb5BRukAE&quot;,&quot;text&quot;:&quot;Join&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://discord.gg/CDb5BRukAE"><span>Join</span></a></p><div><hr></div><h3>&#128227; Recommended Reading</h3><ul><li><p><a href="https://zaidesanton.substack.com/p/managing-people-you-dont-like">Managing people you don't like</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Anton Zaides&quot;,&quot;id&quot;:121956618,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fa87af7-7089-4977-ab32-dbcae410c190_3847x3564.jpeg&quot;,&quot;uuid&quot;:&quot;a5e8ef85-4769-4d70-85b3-4607b3818858&quot;}" data-component-name="MentionToDOM"></span> and <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Rafa P&#225;ez&quot;,&quot;id&quot;:12296261,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4d66e45-9f60-42c0-a039-faa7da4c791e_800x800.jpeg&quot;,&quot;uuid&quot;:&quot;add9d311-5565-4e52-8f6e-bf7b35434be3&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Leading Developers&quot;,&quot;id&quot;:1804629,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/zaidesanton&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/64dbcf3a-d0db-4718-8758-a6521ac5b8bd_1250x1250.png&quot;,&quot;uuid&quot;:&quot;d23cba52-b4bd-49b0-b7b5-028926436932&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p><a href="https://newsletter.eng-leadership.com/p/15-lessons-from-15-years-in-tech">15 lessons from 15 years in tech</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Gregor Ojstersek&quot;,&quot;id&quot;:106098672,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b7fdc30-d8c4-45f2-b0df-0b60baf9d4f4_1000x1000.jpeg&quot;,&quot;uuid&quot;:&quot;eef08a7c-3453-4ab7-9888-6f72e053767d&quot;}" data-component-name="MentionToDOM"></span> and <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Owain Lewis&quot;,&quot;id&quot;:9174734,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd66cb363-0655-4d7b-a3fe-60a78a0fd368_600x600.jpeg&quot;,&quot;uuid&quot;:&quot;b6515313-2a10-46c2-8d2a-7e903a219e82&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Engineering Leadership&quot;,&quot;id&quot;:1115815,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/gregorojstersek&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0845c094-23e3-40d0-86f3-d1ff19631211_317x317.png&quot;,&quot;uuid&quot;:&quot;5c662a10-0399-4010-9c0e-584ad0f35ece&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p><a href="https://strategizeyourcareer.com/p/mentoring-doesnt-solve-all-problems">Mentoring doesn't solve all problems. The 4 people every software engineer needs to grow fast without burnout</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Fran Soto&quot;,&quot;id&quot;:170998285,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/10f90fdb-11ac-48b4-8f51-6a59e07763d2_1149x1149.png&quot;,&quot;uuid&quot;:&quot;1343f3ff-6f34-4c94-bb43-45e96a1866fa&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Strategize Your Career&quot;,&quot;id&quot;:1974191,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/strategizeyourcareer&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cd86ff71-f95f-4e8d-95b6-dfd2e9bfd237_1055x1055.png&quot;,&quot;uuid&quot;:&quot;5300f2d8-c9fb-4144-967d-8ca1a1125f84&quot;}" data-component-name="MentionToDOM"></span> </p></li></ul><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Enginuity! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[From Liability to Leverage: Turning Technical Debt Into Investment]]></title><description><![CDATA[A Practical Guide to Knowing When to Pay It Down and When to Let It Ride]]></description><link>https://newsletter.enginuity.software/p/turning-technical-debt-into-investment</link><guid isPermaLink="false">https://newsletter.enginuity.software/p/turning-technical-debt-into-investment</guid><dc:creator><![CDATA[Samuel Kollát]]></dc:creator><pubDate>Thu, 06 Feb 2025 07:01:27 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/781c2890-8455-44e3-9f2d-c89f73f60174_488x489.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>You&#8217;re racing against a deadline, juggling several urgent tasks. Your manager asks for status twice a day, and the pressure to deliver as soon as possible is mounting. </p><p>There&#8217;s a worrying piece of code that isn&#8217;t entirely up to par, but you tell yourself, &#8220;I&#8217;ll clean it up later.&#8221;, even though you know it&#8217;s not going to happen.</p><p>You ship the feature and score positive feedback from users. However, in the back of your mind, you know there&#8217;s a price tag on that corner you just cut. But have you ever asked yourself:</p><blockquote><p><em>What is the price tag of that technical debt?</em></p></blockquote><p>Traditionally, we think of technical debt as a ticking time bomb, a messy leftover. But what if we began viewing it more like a strategic investment? </p><p>When managed well, temporary shortcuts can deliver quick wins&#8212;faster market entry, early validation, or resource savings&#8212;that might <strong>outweigh the cost of refactoring</strong> later. </p><p>This article explores how to approach technical debt as a calculated risk rather than a looming liability and how to be a product-minded strategist.</p><h2>Every Debt Has an Interest Rate</h2><p>Technical debt refers to the <strong>design or implementation choices</strong> that speed up delivery in the short term but potentially incur higher maintenance costs later. </p><p><a href="https://en.wikipedia.org/wiki/Ward_Cunningham">Ward Cunningham</a>, who created the term, compared these compromises to financial debt:</p><blockquote><p>When you borrow &#8220;quick fixes&#8221; now, you must eventually repay the &#8220;principal&#8221; (e.g., refactoring effort) with &#8220;interest&#8221; (increased complexity, defects, and slower feature delivery).</p></blockquote><p>Unlike in finance, the time required to pay interest is not fixed in software development. Some codes can have large tech debt for years without incurring large interest payments. On the other hand, for some code, the interest rate can grow exponentially.</p><p>That means we can make deliberate choices to meet pressing deadlines or market opportunities while controlling how and where tech debt is created.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.enginuity.software/subscribe?"><span>Subscribe now</span></a></p><p>To start, let&#8217;s divide technical debt into <strong>Strategic (Positive)</strong> and <strong>Accidental (Negative)</strong> debt:</p><ul><li><p><strong>Strategic Technical Debt:</strong></p><ul><li><p>Debt that is created intentionally.</p></li><li><p>Its goal is to maintain speed or quickly validate a product concept. </p></li><li><p>It&#8217;s strategic because you are <strong>accepting a known cost</strong> to capture a bigger opportunity in the near term.</p></li><li><p><em>Example</em>:  You take shortcuts when prototyping a new feature to test market interest. If the prototype flops, you&#8217;ve saved lots of time and resources. If it succeeds, you can refactor or completely redesign it later. </p></li></ul></li><li><p><strong>Accidental Technical Debt</strong></p><ul><li><p>Unplanned debt.</p></li><li><p>Created by poorly managed processes&#8212;rushed sprints, inadequate testing or code review, lack of documentation&#8212;or poor architecture choices.</p></li><li><p>Leads to code that&#8217;s fragile and hard to maintain. </p></li><li><p>Often accumulates unnoticed, accumulating interest until it causes major slowdowns.</p></li></ul></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!6nOz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf32a700-32fd-48bd-8980-ff314eb4946e_813x568.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6nOz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf32a700-32fd-48bd-8980-ff314eb4946e_813x568.png 424w, https://substackcdn.com/image/fetch/$s_!6nOz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf32a700-32fd-48bd-8980-ff314eb4946e_813x568.png 848w, https://substackcdn.com/image/fetch/$s_!6nOz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf32a700-32fd-48bd-8980-ff314eb4946e_813x568.png 1272w, https://substackcdn.com/image/fetch/$s_!6nOz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf32a700-32fd-48bd-8980-ff314eb4946e_813x568.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6nOz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf32a700-32fd-48bd-8980-ff314eb4946e_813x568.png" width="813" height="568" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/df32a700-32fd-48bd-8980-ff314eb4946e_813x568.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:568,&quot;width&quot;:813,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:37834,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!6nOz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf32a700-32fd-48bd-8980-ff314eb4946e_813x568.png 424w, https://substackcdn.com/image/fetch/$s_!6nOz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf32a700-32fd-48bd-8980-ff314eb4946e_813x568.png 848w, https://substackcdn.com/image/fetch/$s_!6nOz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf32a700-32fd-48bd-8980-ff314eb4946e_813x568.png 1272w, https://substackcdn.com/image/fetch/$s_!6nOz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf32a700-32fd-48bd-8980-ff314eb4946e_813x568.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Recognizing Debt That Hurts</h2><p>Not all debt impacts your codebase in the same way. Before deciding whether to refactor it, first identify whether the debt is actually hurting your ability to deliver quickly and reliably.</p><p>As stated above, <strong>Accidental</strong> tech debt is an unplanned or poorly managed debt that emerges from <strong>existing code</strong>. Therefore, deciding whether to pay it down must focus on its <strong>present impact</strong>:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Pk9n!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedb6e741-ab25-4319-bd0f-e2afcd3851ac_1583x1316.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Pk9n!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedb6e741-ab25-4319-bd0f-e2afcd3851ac_1583x1316.png 424w, https://substackcdn.com/image/fetch/$s_!Pk9n!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedb6e741-ab25-4319-bd0f-e2afcd3851ac_1583x1316.png 848w, https://substackcdn.com/image/fetch/$s_!Pk9n!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedb6e741-ab25-4319-bd0f-e2afcd3851ac_1583x1316.png 1272w, https://substackcdn.com/image/fetch/$s_!Pk9n!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedb6e741-ab25-4319-bd0f-e2afcd3851ac_1583x1316.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Pk9n!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedb6e741-ab25-4319-bd0f-e2afcd3851ac_1583x1316.png" width="728" height="605" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/edb6e741-ab25-4319-bd0f-e2afcd3851ac_1583x1316.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1210,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:310916,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Pk9n!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedb6e741-ab25-4319-bd0f-e2afcd3851ac_1583x1316.png 424w, https://substackcdn.com/image/fetch/$s_!Pk9n!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedb6e741-ab25-4319-bd0f-e2afcd3851ac_1583x1316.png 848w, https://substackcdn.com/image/fetch/$s_!Pk9n!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedb6e741-ab25-4319-bd0f-e2afcd3851ac_1583x1316.png 1272w, https://substackcdn.com/image/fetch/$s_!Pk9n!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedb6e741-ab25-4319-bd0f-e2afcd3851ac_1583x1316.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>On the other hand, for tech debt to be <strong>Strategic,</strong> it has to be a <strong>decision</strong> to skip certain best practices based on balancing its <strong>future impact and benefits</strong>:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!04yA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ebd3640-5099-4ff0-b988-6bc9a5e7ae43_1570x1172.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!04yA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ebd3640-5099-4ff0-b988-6bc9a5e7ae43_1570x1172.png 424w, https://substackcdn.com/image/fetch/$s_!04yA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ebd3640-5099-4ff0-b988-6bc9a5e7ae43_1570x1172.png 848w, https://substackcdn.com/image/fetch/$s_!04yA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ebd3640-5099-4ff0-b988-6bc9a5e7ae43_1570x1172.png 1272w, https://substackcdn.com/image/fetch/$s_!04yA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ebd3640-5099-4ff0-b988-6bc9a5e7ae43_1570x1172.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!04yA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ebd3640-5099-4ff0-b988-6bc9a5e7ae43_1570x1172.png" width="1456" height="1087" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9ebd3640-5099-4ff0-b988-6bc9a5e7ae43_1570x1172.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1087,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:263487,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!04yA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ebd3640-5099-4ff0-b988-6bc9a5e7ae43_1570x1172.png 424w, https://substackcdn.com/image/fetch/$s_!04yA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ebd3640-5099-4ff0-b988-6bc9a5e7ae43_1570x1172.png 848w, https://substackcdn.com/image/fetch/$s_!04yA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ebd3640-5099-4ff0-b988-6bc9a5e7ae43_1570x1172.png 1272w, https://substackcdn.com/image/fetch/$s_!04yA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ebd3640-5099-4ff0-b988-6bc9a5e7ae43_1570x1172.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The questions above should help you identify trouble spots in your existing or planned code. At the same time, from my experience, every dev team has an extensive &#8220;To Do&#8221; list of tech debt tasks they&#8217;d like to address. This list usually hangs at the very bottom of their backlog.</p><p>Since time is limited, which debt should be prioritized and addressed first?</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/p/turning-technical-debt-into-investment?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.enginuity.software/p/turning-technical-debt-into-investment?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><h2>When to Pay It Down</h2><p>The key to deciding which tech debt to pay first is to identify the debt that is causing the most damage to your product and your team.</p><p>Three major factors often guide this decision: the Frequency of change, the Criticality of the area, and the Opportunity cost.</p><h3>Frequency of Change</h3><p>The more often you touch or modify code with already existing debt, the more debt you accumulate. Frequent changes increase the complexity and risk of introducing regressions.</p><p>&#10067;<strong>Questions to Consider</strong></p><ul><li><p>How often does the team update or extend the functionality in this part of the codebase?</p></li><li><p>Have minor modifications caused production incidents, bugs, or required patching?</p></li><li><p>Does the current design adhere to the Open-Closed principle, or would extending the current functionality require a rewrite?</p></li></ul><p>&#128176; <strong>When to Pay It Down</strong></p><ul><li><p>If the area sees constant churn and every update is painful or risky.</p></li><li><p>If upcoming roadmap items depend heavily on this code.</p></li><li><p>If the debt is likely to block or slow development.</p></li></ul><p>&#128757; <strong>When to Let It Ride</strong></p><ul><li><p>If the code is stable or rarely touched.</p></li><li><p>If you plan to deprecate or replace this section soon, making a full refactor unnecessary.</p></li></ul><h3>Critical Area </h3><p>Certain parts of your product or system are inherently more critical. This could be the <strong>core architecture</strong> on which every feature is built, a <strong>must-have product experience</strong> your users rely on, or key <strong>non-functional requirements</strong> such as security or performance.</p><p>&#10067;<strong>Questions to Consider</strong></p><ul><li><p>Is this code integral to the product&#8217;s core value proposition?</p></li><li><p>Would a failure here cause significant business or reputational damage?</p></li><li><p>Is the current design flexible enough to accommodate future planned features and growth?</p></li></ul><p>&#128176; <strong>When to Pay It Down</strong></p><ul><li><p>If the debt exists in high-risk areas&#8212;e.g., security modules, payment processing, or core user flows&#8212;it&#8217;s often safer to resolve issues sooner rather than later.</p></li><li><p>If a breach or major outage in this area would significantly harm customer trust or violate regulations.</p></li></ul><p>&#128757; <strong>When to Let It Ride</strong></p><ul><li><p>If short-term pressure to validate a market assumption outweighs the cost of addressing a less critical part of the code.</p></li><li><p>If the area isn&#8217;t mission-critical and the frequency of change is low.</p></li></ul><h3>Opportunity Cost</h3><p>Every hour you spend refactoring is an hour not spent on feature development, experimentation, or other business drivers. </p><p>However, the reverse is also true. Ignoring crippling debt can <strong>block new initiatives</strong> or slow down the entire product roadmap.</p><p>&#10067;<strong>Questions to Consider</strong></p><ul><li><p>What features or improvements are you postponing because you&#8217;re stuck managing debt elsewhere?</p></li><li><p>How does the debt impact your team&#8217;s overall velocity and creativity?</p></li><li><p>Are there pressing business opportunities, like an upcoming launch, requiring a stable, robust product?</p></li></ul><p>&#128176; <strong>When to Pay It Down</strong></p><ul><li><p>If the technical debt is causing incidents over and over again, e.g., constant memory leaks crashing servers</p></li><li><p>If the debt slows down development, leading to missed market opportunities.</p></li><li><p>If cleaning up the debt now unlocks a more scalable architecture, making future feature-work simpler and faster.</p></li></ul><p>&#128757; <strong>When to Let It Ride</strong></p><ul><li><p>If you&#8217;re in a critical go-to-market push and the debt is unlikely to impact the short-term milestone.</p></li><li><p>If the product is still in an experimentation phase and the cost of continuous refactoring doesn&#8217;t justify the uncertain ROI.</p></li></ul><h2>Summary</h2><p>As a product engineer, you must take a pragmatic approach to tech debt. It&#8217;s not just about how great or lousy a piece of code is but about the value it brings to both customers and the business.</p><p>Being strategic about where and how you create tech debt can result in debt that is well isolated, outside of the critical path, and not slowing down future expansion.</p><p>And that&#8217;s the yin-yang of the development, the balance in the force.</p><div><hr></div><h3>&#128214; Read Next</h3><p>Discover more from the <a href="https://newsletter.enginuity.software/t/product-engineer">Product Engineering</a> track:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;7a8eadff-0c6b-40ab-a03e-33bc72b0d46a&quot;,&quot;caption&quot;:&quot;You just finished giving your best presentation performance. You explained everything - from the intricacies of cloud resources optimization to a deep dive into globally distributed databases.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;md&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Engineering Influence: How to Communicate for Real Product Impact&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:131539004,&quot;name&quot;:&quot;Samuel Koll&#225;t&quot;,&quot;bio&quot;:&quot;Writing about Tech Leadership &amp; Product Engineering Mindset &#8226; Sharing insights on effective and meaningful software development &#8226; Senior-Staff Engineer @ Outreach&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5711335-39d9-41c3-b106-0740749a1dd9_3024x3024.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-01-23T07:01:53.954Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2953721-6467-47b0-93a2-298b6ae71592_976x1064.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://newsletter.enginuity.software/p/engineering-influence-how-to-communicate&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:155158789,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:16,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Enginuity&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec00d977-1863-420c-950d-b023037cdde5_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EK5l!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EK5l!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 424w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 848w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 1272w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EK5l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png" width="354" height="95.7970401691332" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:256,&quot;width&quot;:946,&quot;resizeWidth&quot;:354,&quot;bytes&quot;:18133,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!EK5l!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 424w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 848w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 1272w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>If you&#8217;re looking for a space where you can learn more about software engineering, leadership, and the creator economy, with <a href="https://open.substack.com/users/156659052-dariusz-sadowski?utm_source=mentions">Dariusz Sadowski</a>, <a href="https://open.substack.com/users/141222242-micha-poczwardowski?utm_source=mentions">Micha&#322; Poczwardowski</a>, and <a href="https://open.substack.com/users/40945395-yordan-ivanov?utm_source=mentions">Yordan Ivanov &#128200;</a>, we&#8217;ve created the <strong>Engineering &amp; Leadership </strong>discord community:</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://discord.gg/CDb5BRukAE&quot;,&quot;text&quot;:&quot;Join&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://discord.gg/CDb5BRukAE"><span>Join</span></a></p><div><hr></div><h3>&#128227; Recommended Reading</h3><ul><li><p><a href="https://zaidesanton.substack.com/p/mental-models-for-engineering-managers">7 proven mental models for engineering managers</a> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Leading Developers&quot;,&quot;id&quot;:1804629,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/zaidesanton&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/64dbcf3a-d0db-4718-8758-a6521ac5b8bd_1250x1250.png&quot;,&quot;uuid&quot;:&quot;4a9fd534-09a0-475c-87e3-d3a26986c9f1&quot;}" data-component-name="MentionToDOM"></span> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Anton Zaides&quot;,&quot;id&quot;:121956618,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fa87af7-7089-4977-ab32-dbcae410c190_3847x3564.jpeg&quot;,&quot;uuid&quot;:&quot;e1a32cf4-1daf-4f8b-a9e5-40030d0b5a56&quot;}" data-component-name="MentionToDOM"></span> and <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Micha&#322; Poczwardowski&quot;,&quot;id&quot;:141222242,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F475838ea-8fbf-473b-9678-ea792c061ede_764x784.jpeg&quot;,&quot;uuid&quot;:&quot;afc05592-6546-46eb-ad4f-d928d405fc19&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p><a href="https://newsletter.eng-leadership.com/p/how-to-develop-eq-as-an-engineer">How to develop EQ as an engineer or a manager</a> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Engineering Leadership&quot;,&quot;id&quot;:1115815,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/gregorojstersek&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0845c094-23e3-40d0-86f3-d1ff19631211_317x317.png&quot;,&quot;uuid&quot;:&quot;e3924638-cc0b-46b3-b649-b77612dc5337&quot;}" data-component-name="MentionToDOM"></span> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Gregor Ojstersek&quot;,&quot;id&quot;:106098672,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b7fdc30-d8c4-45f2-b0df-0b60baf9d4f4_1000x1000.jpeg&quot;,&quot;uuid&quot;:&quot;9462e568-7c6b-45d2-a40b-e78d566e5725&quot;}" data-component-name="MentionToDOM"></span> and <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Patricia Juarez Mu&#241;oz&quot;,&quot;id&quot;:41304534,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c814ebe6-1c3e-4107-9ad6-ed691b4ea9d2_400x398.jpeg&quot;,&quot;uuid&quot;:&quot;22368076-3576-444a-b770-193c2c7393df&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p><a href="https://datagibberish.com/p/what-are-data-lakes-and-why-you-need-them">Data Lakes For Complete Noobs: What They Are and Why The Hell You Need Them</a> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Data Gibberish&quot;,&quot;id&quot;:828483,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/datagibberish&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c7990f52-6d5e-41f3-8089-580ce2167837_500x500.png&quot;,&quot;uuid&quot;:&quot;31b9e125-8cba-45ab-b67e-554a0e484c6d&quot;}" data-component-name="MentionToDOM"></span> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Yordan Ivanov&quot;,&quot;id&quot;:40945395,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/76f52904-5428-4d97-82a5-3faa722b8d46_2234x1253.jpeg&quot;,&quot;uuid&quot;:&quot;aba41300-5264-479c-9083-383ba6ed0b5c&quot;}" data-component-name="MentionToDOM"></span> </p></li></ul><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Enginuity! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Engineering Influence: How to Communicate for Real Product Impact]]></title><description><![CDATA[A Practical Guide to Building Trust Beyond the Code]]></description><link>https://newsletter.enginuity.software/p/engineering-influence-how-to-communicate</link><guid isPermaLink="false">https://newsletter.enginuity.software/p/engineering-influence-how-to-communicate</guid><dc:creator><![CDATA[Samuel Kollát]]></dc:creator><pubDate>Thu, 23 Jan 2025 07:01:53 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2953721-6467-47b0-93a2-298b6ae71592_976x1064.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>You just finished giving your best presentation performance. You explained everything - from the intricacies of cloud resources optimization to a deep dive into globally distributed databases.</p><p>There is a moment of silence. Then, the VP of Product Management shifts his gaze from you to your manager. &#8220;I thought we wanted to improve load time for a smoother user experience. Why are we burning time with this work?&#8221;</p><p>At that precise moment, it doesn&#8217;t matter that you&#8217;ve actually improved the load time by all those optimizations. What matters is that you failed to bridge your engineering efforts and product outcomes.</p><p>Engineering is often framed as a purely technical discipline&#8212;master the code, build the product, and ship the features. But that&#8217;s an incomplete story. Communication is not a &#8220;soft skill.&#8221; It&#8217;s a <strong>core product driver</strong>.</p><p>No matter your technical brilliance, when communication is ineffective, it remains hidden or misunderstood.</p><p>However, when communication is successful, teams align quickly, product decisions are more informed, and stakeholders have confidence in the roadmap.</p><p>In this article, you&#8217;ll explore communication not as a box to check on a &#8220;soft skills&#8221; checklist but as a <strong>fundamental component</strong> of your engineering toolkit.</p><h2>Know Your Audience Before You Speak</h2><p>Effective communication starts with understanding who you&#8217;re talking to and <strong>what they care about</strong>. </p><p>Whether it&#8217;s an executive, a customer, or a colleague from another department, you&#8217;ll need to choose the level of detail, vocabulary, and emphasis that resonates most with them. </p><p>Think of it as applying <strong>product thinking</strong> to your communications: you&#8217;re building a &#8220;message product,&#8221; and your stakeholders are your users.</p><p>The first step is to understand who the &#8220;customer&#8221;, aka. the listener, is and how much technical depth they can handle. You might ask simple questions like:</p><ul><li><p><em>&#8220;Have you dealt with similar systems before?&#8221;</em></p></li><li><p><em>&#8220;Are you familiar with microservices, or should I briefly explain?&#8221;</em> </p></li></ul><p>Their answers&#8212;or puzzled expressions&#8212;will help you decide how detailed your explanation should be.</p><p>The table below captures several core stakeholder groups, their primary focus, and an ideal communication style for effectively engaging them.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!k6mV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe72f12af-9908-4b39-8a7f-540e19ba149f_1555x1162.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!k6mV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe72f12af-9908-4b39-8a7f-540e19ba149f_1555x1162.png 424w, https://substackcdn.com/image/fetch/$s_!k6mV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe72f12af-9908-4b39-8a7f-540e19ba149f_1555x1162.png 848w, https://substackcdn.com/image/fetch/$s_!k6mV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe72f12af-9908-4b39-8a7f-540e19ba149f_1555x1162.png 1272w, https://substackcdn.com/image/fetch/$s_!k6mV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe72f12af-9908-4b39-8a7f-540e19ba149f_1555x1162.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!k6mV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe72f12af-9908-4b39-8a7f-540e19ba149f_1555x1162.png" width="1456" height="1088" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e72f12af-9908-4b39-8a7f-540e19ba149f_1555x1162.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1088,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:272069,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!k6mV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe72f12af-9908-4b39-8a7f-540e19ba149f_1555x1162.png 424w, https://substackcdn.com/image/fetch/$s_!k6mV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe72f12af-9908-4b39-8a7f-540e19ba149f_1555x1162.png 848w, https://substackcdn.com/image/fetch/$s_!k6mV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe72f12af-9908-4b39-8a7f-540e19ba149f_1555x1162.png 1272w, https://substackcdn.com/image/fetch/$s_!k6mV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe72f12af-9908-4b39-8a7f-540e19ba149f_1555x1162.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.enginuity.software/subscribe?"><span>Subscribe now</span></a></p><h2>Make Your Message Stick</h2><p>Once you know whom you&#8217;re speaking to, the next challenge is communicating technical information in a way that resonates.</p><p>The goal is to create common ground and understanding as soon as possible. If you delay this step or overwhelm your listeners with technical details before it, you will either lose their interest or make them irritated that you are wasting their time.</p><p>In my experience, two simple yet effective approaches, depending on the context, are <strong>Analogies</strong> and <strong>Tiers</strong>. </p><p>I use analogies to create common ground in shorter interactions or ad hoc discussions.</p><blockquote><p><strong>Analogy</strong>: </p><ul><li><p>a comparison of two otherwise unlike things based on resemblance of a particular aspect. <em><a href="https://www.merriam-webster.com/dictionary/analogy">[Merriam-Webster]</a></em></p></li></ul></blockquote><p>Analogies or metaphors are great tools to use when you want to translate a complex concept into a more familiar realm. For example, I often use analogies with the car industry:</p><ul><li><p><em>&#8220;In the initial phases of the project, there will be fewer visual features to demo for stakeholders, as we need to bootstrap the overall architecture for it. Think of it as building a strong engine for a car so that later on, we can add features such as autonomous driving, self-parking, or heated seating.&#8221;</em></p></li></ul><p>This way, listeners can create a mental image of something they are familiar with (a car) and project that image onto the product&#8217;s development process. </p><p>Will it be 100% accurate? Of course not. But if you start by explaining to your Go-to-Market manager how you are going to write Terraform scripts to run your Go service on demand in Docker containers on AWS Lambdas while having a cross-regional NoSQL Mongo database cluster, they will probably find someone else to talk to.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cdBz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2953721-6467-47b0-93a2-298b6ae71592_976x1064.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cdBz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2953721-6467-47b0-93a2-298b6ae71592_976x1064.png 424w, https://substackcdn.com/image/fetch/$s_!cdBz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2953721-6467-47b0-93a2-298b6ae71592_976x1064.png 848w, https://substackcdn.com/image/fetch/$s_!cdBz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2953721-6467-47b0-93a2-298b6ae71592_976x1064.png 1272w, https://substackcdn.com/image/fetch/$s_!cdBz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2953721-6467-47b0-93a2-298b6ae71592_976x1064.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cdBz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2953721-6467-47b0-93a2-298b6ae71592_976x1064.png" width="384" height="418.62295081967216" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b2953721-6467-47b0-93a2-298b6ae71592_976x1064.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1064,&quot;width&quot;:976,&quot;resizeWidth&quot;:384,&quot;bytes&quot;:1188863,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!cdBz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2953721-6467-47b0-93a2-298b6ae71592_976x1064.png 424w, https://substackcdn.com/image/fetch/$s_!cdBz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2953721-6467-47b0-93a2-298b6ae71592_976x1064.png 848w, https://substackcdn.com/image/fetch/$s_!cdBz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2953721-6467-47b0-93a2-298b6ae71592_976x1064.png 1272w, https://substackcdn.com/image/fetch/$s_!cdBz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2953721-6467-47b0-93a2-298b6ae71592_976x1064.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>Leading with the &#8220;Why&#8221;</h3><p>This is an essential tactic for almost any communication. As posts on social media try to engage user attention with &#8220;hooks&#8221; within their first few sentences, you can do the same with your communication.</p><p>Explain how your technical work <strong>addresses a real problem</strong>&#8212;like reducing page load time by 30%, improving reliability during high-traffic events, or streamlining checkout processes to boost conversion.</p><p>Remember, writing code is never the end goal. Framing the conversation around outcomes keeps non-technical listeners engaged. Your goal is to help them see the direct line between an engineering work and its impact on users or the business.</p><h3>Tiered Levels of Explanation</h3><p>You often need to present your work or ideas to a diverse audience. An example is a sprint review or a planning meeting, where people from engineering, product, customer support, or marketing are present.</p><p>Using Tiers in this context means starting from high-level benefits or impact and moving to deeper and deeper details tier-by-tier.</p><p>Let&#8217;s look at an example of how to lead with &#8220;why&#8221; and offer a multi-tier level of technical details:</p><p><strong>Why:</strong> <em>&#8220;Based on our forecasts, we expect a significant increase in user traffic next quarter. If we don&#8217;t prepare, our users could face slow load times or errors, which risks revenue and customer satisfaction because our current system is already at its limits.&#8221;</em></p><p><strong>Tier 1 (High-Level):</strong> <em>&#8220;We&#8217;re shifting from a single, monolithic database to a distributed architecture to handle this growth seamlessly. We&#8217;ll no longer rely on just one database instance for all reads and writes. Instead, we&#8217;ll adopt a cluster of smaller, independent databases that can operate in parallel.&#8221;</em></p><p><strong>Tier 2 (Mid-Level): </strong><em><strong>&#8220;</strong>We&#8217;re moving from our traditional relational database to a NoSQL solution that scales horizontally. This move fits our use case and will help us handle large volumes of concurrent requests more efficiently.&#8221;</em></p><p><strong>Tier 3 (Detailed): </strong><em><strong>&#8220;</strong>Under the hood, we&#8217;ll implement Apache Cassandra, known for distributing data across multiple nodes. This setup minimizes bottlenecks and improves fault tolerance, so the system keeps running if a node goes down.&#8221;</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/p/engineering-influence-how-to-communicate?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.enginuity.software/p/engineering-influence-how-to-communicate?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p>At this point, everyone in the meeting should have enough information to be on the same page and broadly understand what will happen and why. A follow-up discussion will be much more effective.</p><h2>Quick-Reference Checklist</h2><p>With the previous sections in mind, the next step is to embed these ideas into your day-to-day workflow. Keep this checklist on hand for a quick reminder before jumping into a meeting or creating a presentation.</p><blockquote><p>1&#65039;&#8419; <strong>Clarify Your Purpose</strong></p></blockquote><ul><li><p>What are my goals? Why am I communicating this information? </p></li><li><p>What do I need from my audience? Is it a decision, an approval, or is my purpose to share knowledge?</p></li><li><p>What is my &#8220;success metric&#8221; for this communication?</p></li></ul><blockquote><p>2&#65039;&#8419; <strong>Know Your Audience</strong></p></blockquote><ul><li><p>What is their familiarity with the topic?</p></li><li><p>What do they care about? </p></li><li><p>Do they need to know technical details, business impact, user experience, ROI, or something else?</p><ul><li><p><em>Use the table from the section &#8220;Know Your Audience Before You Speak&#8221;</em> </p></li></ul></li></ul><blockquote><p><strong>3&#65039;&#8419; Create a Tiered Message</strong></p></blockquote><ul><li><p>Start with high-level benefits or impact first.</p></li><li><p>Dive deeper into technical or business details based on your audience.</p></li></ul><blockquote><p><strong>4&#65039;&#8419; Anticipate Roadblocks</strong></p></blockquote><ul><li><p>What concerns might be raised (budget, timeline, priorities)?</p></li><li><p>How will I address them?</p></li><li><p>Can I address them proactively?</p></li></ul><blockquote><p><strong>5&#65039;&#8419; Include The Audience</strong></p></blockquote><ul><li><p>Include sections to pause for clarifications or go deeper if there&#8217;s interest.</p></li><li><p>Reiterate the core points to make sure everyone understands.</p></li><li><p>Summarize key points after the discussion, especially if decisions were made, and share them.</p></li></ul><h2>Summary</h2><p>Effective communication is as integral as writing clean code. It bridges the gap between technical details and strategic objectives. </p><p>Use the checklist above to gauge if your communication aligns with that goal.</p><p>It&#8217;s your responsibility to help stakeholders understand how your technical work solves real problems.</p><div><hr></div><h3>&#128214; Read Next</h3><p>Discover more from the <a href="https://newsletter.enginuity.software/t/product-engineer">Product Engineering</a> track:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;be10bab3-07ed-4117-85b9-451042525d6e&quot;,&quot;caption&quot;:&quot;Imagine you&#8217;ve just wrapped up a major sprint. Your team crushed it: thousands of lines of code written, two major features shipped, and zero critical bugs in production. Everything looks fantastic.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;md&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;The Shift in Metrics: How Product Engineers Measure Success&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:131539004,&quot;name&quot;:&quot;Samuel Koll&#225;t&quot;,&quot;bio&quot;:&quot;Writing about Tech Leadership &amp; Product Engineering Mindset &#8226; Sharing insights on effective and meaningful software development &#8226; Senior-Staff Engineer @ Outreach&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5711335-39d9-41c3-b106-0740749a1dd9_3024x3024.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-01-09T07:00:40.367Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bb5bc28-b89b-4fa9-bb65-d0a165cf2072_958x956.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://newsletter.enginuity.software/p/how-product-engineers-measure-success&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:154201792,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:22,&quot;comment_count&quot;:3,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Enginuity&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec00d977-1863-420c-950d-b023037cdde5_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EK5l!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EK5l!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 424w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 848w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 1272w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EK5l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png" width="354" height="95.7970401691332" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:256,&quot;width&quot;:946,&quot;resizeWidth&quot;:354,&quot;bytes&quot;:18133,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!EK5l!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 424w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 848w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 1272w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>If you&#8217;re looking for a space where you can learn more about software engineering, leadership, and the creator economy, with <a href="https://open.substack.com/users/156659052-dariusz-sadowski?utm_source=mentions">Dariusz Sadowski</a>, <a href="https://open.substack.com/users/141222242-micha-poczwardowski?utm_source=mentions">Micha&#322; Poczwardowski</a>, and <a href="https://open.substack.com/users/40945395-yordan-ivanov?utm_source=mentions">Yordan Ivanov &#128200;</a>, we&#8217;ve created the <strong>Engineering &amp; Leadership </strong>discord community:</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://discord.gg/CDb5BRukAE&quot;,&quot;text&quot;:&quot;Join&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://discord.gg/CDb5BRukAE"><span>Join</span></a></p><div><hr></div><h3>&#128227; Recommended Reading</h3><ul><li><p><a href="https://zaidesanton.substack.com/p/6-secrets-for-never-being-blocked">6 secrets for never being blocked again</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Anton Zaides&quot;,&quot;id&quot;:121956618,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fa87af7-7089-4977-ab32-dbcae410c190_3847x3564.jpeg&quot;,&quot;uuid&quot;:&quot;4b3ddf99-72ff-4c40-9f05-7c75c26c9677&quot;}" data-component-name="MentionToDOM"></span> and <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Michael Zion&quot;,&quot;id&quot;:112813821,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/679360dd-5810-4335-9a27-116170bf703f_716x716.jpeg&quot;,&quot;uuid&quot;:&quot;2dd80833-bee3-4274-b8f1-6b9197604c72&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Leading Developers&quot;,&quot;id&quot;:1804629,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/zaidesanton&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/64dbcf3a-d0db-4718-8758-a6521ac5b8bd_1250x1250.png&quot;,&quot;uuid&quot;:&quot;ce0ef0d9-671b-4624-9883-4841d50f0f8b&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p><a href="https://newsletter.eng-leadership.com/p/5-learnings-when-building-and-scaling">5 learnings when building and scaling a service-based tech company</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Gregor Ojstersek&quot;,&quot;id&quot;:106098672,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b7fdc30-d8c4-45f2-b0df-0b60baf9d4f4_1000x1000.jpeg&quot;,&quot;uuid&quot;:&quot;67a74504-e12f-4d56-8a55-30d6d6b32fc7&quot;}" data-component-name="MentionToDOM"></span> and <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Ales Cadez&quot;,&quot;id&quot;:108563941,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/820ca457-f03a-4398-88b4-65e94ae5c90b_400x400.jpeg&quot;,&quot;uuid&quot;:&quot;4969cb0e-98be-486c-afda-5e15704d15b9&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Engineering Leadership&quot;,&quot;id&quot;:1115815,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/gregorojstersek&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0845c094-23e3-40d0-86f3-d1ff19631211_317x317.png&quot;,&quot;uuid&quot;:&quot;07c5ea1a-44d5-4d9d-822e-10bf56db246f&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p><a href="https://newsletter.posthog.com/p/the-deadline-doom-loop">The deadline doom loop</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;James Hawkins&quot;,&quot;id&quot;:12011551,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3917e6ab-7874-4b89-987b-4b0ced8cbe14_1400x1400.png&quot;,&quot;uuid&quot;:&quot;72f057f4-44b9-4f12-8cd3-adcbadd922a0&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Product for Engineers&quot;,&quot;id&quot;:1318225,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/productforengineers&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fe72ab71-149a-44a9-8b5a-b91485b0c98f_371x371.png&quot;,&quot;uuid&quot;:&quot;54a2832a-67ac-41cb-883f-fa4573decddd&quot;}" data-component-name="MentionToDOM"></span> </p></li></ul><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Enginuity! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[The Shift in Metrics: How Product Engineers Measure Success]]></title><description><![CDATA[Why Metrics Matter More Than Ever]]></description><link>https://newsletter.enginuity.software/p/how-product-engineers-measure-success</link><guid isPermaLink="false">https://newsletter.enginuity.software/p/how-product-engineers-measure-success</guid><dc:creator><![CDATA[Samuel Kollát]]></dc:creator><pubDate>Thu, 09 Jan 2025 07:00:40 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!l22M!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bb5bc28-b89b-4fa9-bb65-d0a165cf2072_958x956.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Imagine you&#8217;ve just wrapped up a major sprint. Your team crushed it: thousands of lines of code written, two major features shipped, and zero critical bugs in production. Everything looks fantastic.</p><p>But when the quarter ends, the mood shifts. Adoption of those new features is flat, and customer churn remains the same and the leadership is asking a simple yet frightful question: </p><blockquote><p><em>&#8220;What&#8217;s the return on all this engineering effort?&#8221;</em></p></blockquote><p>Many engineers must yet learn to accept that writing more code or completing more sprints will not improve revenue or save their product.</p><p>For years, engineering success was measured by outputs: the number of features shipped, tasks completed, or lines of code written. While these metrics quantify effort, they fail to capture what truly matters&#8212;<strong>the impact of that effort</strong>.</p><p>This disconnect between traditional engineering metrics and business outcomes is why many engineers struggle to demonstrate their value in their companies.</p><p>This article explores why traditional metrics fall short, what outcome-oriented metrics look like, and how they can transform how you communicate your impact. Ready to rethink how you measure success?</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.enginuity.software/subscribe?"><span>Subscribe now</span></a></p><h2><strong>From Outputs to Outcomes</strong></h2><p>Story points completed, number of features released&#8212;these metrics are easy to track and provide a sense of progress. But they also create a dangerous illusion. </p><p><strong>Just because you&#8217;ve delivered something doesn&#8217;t mean you&#8217;ve delivered something valuable.</strong></p><p>The problem with output-based metrics is that they focus on activity (output) rather than impact (outcome). A feature might ship on time and within scope, but the effort has little value if users don&#8217;t adopt it. </p><blockquote><p><strong>Outputs:</strong> Deliverables that quantify effort.</p></blockquote><p>Output metrics often fail to answer the critical questions:</p><ul><li><p>Did it solve the right problem? </p></li><li><p>Did it make users happier? </p></li><li><p>Did it help the business grow? </p></li><li><p>Did this work make the product better? </p></li><li><p>Did it help users achieve their goals?</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!l22M!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bb5bc28-b89b-4fa9-bb65-d0a165cf2072_958x956.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!l22M!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bb5bc28-b89b-4fa9-bb65-d0a165cf2072_958x956.png 424w, https://substackcdn.com/image/fetch/$s_!l22M!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bb5bc28-b89b-4fa9-bb65-d0a165cf2072_958x956.png 848w, https://substackcdn.com/image/fetch/$s_!l22M!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bb5bc28-b89b-4fa9-bb65-d0a165cf2072_958x956.png 1272w, https://substackcdn.com/image/fetch/$s_!l22M!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bb5bc28-b89b-4fa9-bb65-d0a165cf2072_958x956.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!l22M!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bb5bc28-b89b-4fa9-bb65-d0a165cf2072_958x956.png" width="421" height="420.12108559498955" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0bb5bc28-b89b-4fa9-bb65-d0a165cf2072_958x956.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:956,&quot;width&quot;:958,&quot;resizeWidth&quot;:421,&quot;bytes&quot;:1357605,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!l22M!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bb5bc28-b89b-4fa9-bb65-d0a165cf2072_958x956.png 424w, https://substackcdn.com/image/fetch/$s_!l22M!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bb5bc28-b89b-4fa9-bb65-d0a165cf2072_958x956.png 848w, https://substackcdn.com/image/fetch/$s_!l22M!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bb5bc28-b89b-4fa9-bb65-d0a165cf2072_958x956.png 1272w, https://substackcdn.com/image/fetch/$s_!l22M!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0bb5bc28-b89b-4fa9-bb65-d0a165cf2072_958x956.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This is why outcome-oriented metrics are so powerful. Instead of measuring what you did, they measure what you achieved. </p><blockquote><p><strong>Outcomes:</strong> Results that demonstrate impact. </p></blockquote><p>Examples: </p><ul><li><p>increased customer retention</p></li><li><p>increased feature adoption</p></li><li><p>reduced churn</p></li><li><p>increased revenue</p></li><li><p>faster time-to-market</p></li></ul><p>Outcomes reflect the value created by engineering work. These are the metrics that matter in a product-driven organization. It shifts the narrative from &#8220;What did we deliver?&#8221; and starts answering <strong>&#8220;What did we achieve?&#8221;</strong>.</p><h4>Why the Shift is Critical</h4><p>You might wonder why this change is more critical now than ever. Modern engineering operates in a context where business needs, user needs, tech advancements, such as LLMs, and the economy itself change rapidly.</p><p>To stay relevant, teams must demonstrate <strong>how their work directly contributes</strong> to these needs and goals. If it doesn&#8217;t, there might soon come a time when the company&#8217;s investment might be worth more somewhere else.</p><p>Outcome-oriented metrics provide that clarity. They ensure alignment between engineering efforts and the broader objectives of the organization.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/p/how-product-engineers-measure-success?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.enginuity.software/p/how-product-engineers-measure-success?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><h2>Metrics That Count</h2><p>Let&#8217;s say your team currently tracks several output-oriented metrics. What outcome-oriented metrics can they transform them into to better align with the business?</p><p>Mapping for your team might look different, but the list below should give you an idea of how to improve the visibility of your team&#8217;s contributions:</p><blockquote><p>&#10060; Output: Features Released</p><p>&#9989; Outcome: <strong>Customer Retention Rate</strong></p></blockquote><p>Has the recently released feature improved the product? If not, does it still need to exist? A feature that does not contribute to a product's growth or stability is only a liability. </p><p>Retention metrics measure how well the product keeps customers engaged over time by providing solutions for their problems.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wH5A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c9950bc-9f9f-4e0f-812b-bf5fbe10ae2e_1280x299.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wH5A!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c9950bc-9f9f-4e0f-812b-bf5fbe10ae2e_1280x299.png 424w, https://substackcdn.com/image/fetch/$s_!wH5A!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c9950bc-9f9f-4e0f-812b-bf5fbe10ae2e_1280x299.png 848w, https://substackcdn.com/image/fetch/$s_!wH5A!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c9950bc-9f9f-4e0f-812b-bf5fbe10ae2e_1280x299.png 1272w, https://substackcdn.com/image/fetch/$s_!wH5A!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c9950bc-9f9f-4e0f-812b-bf5fbe10ae2e_1280x299.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wH5A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c9950bc-9f9f-4e0f-812b-bf5fbe10ae2e_1280x299.png" width="564" height="131.746875" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5c9950bc-9f9f-4e0f-812b-bf5fbe10ae2e_1280x299.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:299,&quot;width&quot;:1280,&quot;resizeWidth&quot;:564,&quot;bytes&quot;:47265,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!wH5A!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c9950bc-9f9f-4e0f-812b-bf5fbe10ae2e_1280x299.png 424w, https://substackcdn.com/image/fetch/$s_!wH5A!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c9950bc-9f9f-4e0f-812b-bf5fbe10ae2e_1280x299.png 848w, https://substackcdn.com/image/fetch/$s_!wH5A!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c9950bc-9f9f-4e0f-812b-bf5fbe10ae2e_1280x299.png 1272w, https://substackcdn.com/image/fetch/$s_!wH5A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c9950bc-9f9f-4e0f-812b-bf5fbe10ae2e_1280x299.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><blockquote><p>&#10060; Output: Lines of code</p><p>&#9989; Outcome: <strong>Feature Adoption Rate</strong></p></blockquote><p>High adoption rates indicate that features address user needs. They also show how effectively the written code impacts user engagement. The adoption rate is calculated as a percentage of active users using a given feature.</p><p>Delivering a feature with a high adoption rate is a great indicator, as it often goes hand in hand with retention rates. Building such a &#8220;sticky&#8221; customer base is one of the main goals of subscription-based services, as it provides a stable prediction for recurring revenue.</p><blockquote><p>&#10060; Output: Sprint Velocity&#9;</p><p>&#9989; Outcome: <strong>Time-to-Market</strong></p></blockquote><p>The goal of calculating sprint velocity is to have predictability for team deliverables. Unfortunately, there is often a disconnect between &#8220;story points&#8221; and the work needed for a feature to be delivered to customers.</p><p>If this disconnect happens, it&#8217;s possible for the team to improve the velocity metric but degrade on time-to-market. People optimize what they measure, and if the measurement is story points &#8220;done&#8221;, then that&#8217;s what will be optimized.</p><p>Instead, track how quickly your team delivers new features to users. You&#8217;ll quickly realize that the main question to answer is what scope you will tackle in MVP and what will be part of further iteration. </p><p>Faster delivery enables faster testing of hypotheses and more effective adaption to customer needs.</p><blockquote><p>&#10060; Output: Resolved Bugs Count</p><p>&#9989; Outcome: <strong>System Reliability</strong></p></blockquote><p>Has fixing bugs led to a more stable, reliable product for your users? Image a backlog of 10 bugs. You know that nine are relatively easy to solve in the code you are familiar with and are maybe even interesting, but their impact is low. The last one will be a pain in the keyboard and take a long time to solve, but it will improve the user experience and reliability the most. Which one will you choose?</p><p>Metrics like uptime, error rates, and response times reflect the stability of technical infrastructure and are directly related to customer satisfaction and retention. It might be more tempting to flex on stand-up with &#8220;I solved nine bugs this sprint.&#8221;, but if it hasn&#8217;t had any user impact, it&#8217;s just wasted effort.</p><blockquote><p>&#10060; Output: Infrastructure Spending</p><p>&#9989; Outcome: <strong>Cost Per Active User</strong></p></blockquote><p>Suppose your company currently spends $2M/month on cloud services. Is it too much or not? Hard to say. What if the cost grew to $2.5M/month in the follow-up quarter?</p><p>Infrastructure spending is an important indicator to track, but it cannot be used alone to make decisions. In the example above, if spending grew by 25%, but the number of monthly active (and paying) users also grew from 1M to 1.5M at the same time, the cost per active user decreased from $2/month to $1.67/month. This might indicate that the platform scales well with the growing customer base.</p><p>Metrics that balance cost, performance, and scalability are highly valuable for engineering teams. Cost-efficient solutions save money and enable reinvestment in other areas, such as retaining engineering talent.</p><blockquote><p>&#10060; Output: Code Coverage Percentage</p><p>&#9989; Outcome: <strong>Error Rate</strong></p></blockquote><p>A high code coverage requirement is a great example of a vanity metric. If developers must cover with tests, e.g., logic-less getters and setters in classes, just to hit the coverage bar, it&#8217;s just a waste of time.</p><p>On the other hand, measuring the overall error rate of a feature or a component is a highly valuable metric to have in place. If an error rate is high, the owning team might introduce or increase a required coverage percentage and observe if this effort impacts the error rate and, therefore, user experience, or they should try some other hypothesis.</p><blockquote><p>&#10060; Output: Pull Requests Merged</p><p>&#9989; Outcome: <strong>Cycle Time</strong></p></blockquote><p>&#8220;I created a pull request for this feature yesterday. Please review.&#8221; is a statement that shouldn&#8217;t be overheard on any team&#8217;s stand-up. There are better methods to let your team know that a PR has been created (automatic chat, email, or push notifications) than waiting 12-24 hours for a meeting.</p><p>The cycle time metric tracks the time from opening a PR to merging it with the main branch or deploying it to a production environment. The goal is to ensure development efficiency. If a review takes multiple days or weeks, with daily ping-pong of &#8220;Here is a comment.&#8221; and &#8220;I pushed an update.&#8221; over and over again, it might mean the team is not prioritizing reviews, which can cause a lot of delays and context-switching.</p><h2>Summary: Reflect on Your Current Metrics</h2><p>Take a moment to evaluate the metrics you or your team currently use. Are they focused on outputs&#8212;like the number of features shipped&#8212;or do they reflect outcomes, such as user satisfaction or revenue growth? </p><p>Focus on whether these metrics measure the value your work brings to the organization.</p><p>Start by listing your team&#8217;s top three metrics and asking these questions:</p><ol><li><p>Do these metrics align with the product&#8217;s goals?</p></li><li><p>Can they demonstrate impact on users or the business?</p></li><li><p>Are they actionable, helping guide future decisions and improvements?</p></li></ol><p>For example, if one of your key metrics is sprint velocity, think about how it connects to company objectives. Does it only track effort? If yes, how could you adjust it to focus on outcomes, such as reduced time-to-market?</p><div><hr></div><h3>&#128214; Read Next</h3><p>Discover more from the <a href="https://newsletter.enginuity.software/t/product-engineer">Product Engineering</a> track:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;9d018c18-77c4-474e-8f4b-148dc887968a&quot;,&quot;caption&quot;:&quot;Even a small change can have unintended ripple effects, breaking functionalities in areas that aren&#8217;t even considered related.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;md&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Build Better Products Through Systems Thinking&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:131539004,&quot;name&quot;:&quot;Samuel Koll&#225;t&quot;,&quot;bio&quot;:&quot;Writing about Tech Leadership &amp; Product Engineering Mindset &#8226; Sharing insights on effective and meaningful software development &#8226; Senior-Staff Engineer @ Outreach&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5711335-39d9-41c3-b106-0740749a1dd9_3024x3024.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2024-11-28T07:02:13.321Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3fb14093-d32f-4887-b3e0-3571673c3265_1000x666.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://newsletter.enginuity.software/p/better-products-through-systems-thinking&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:151515139,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:7,&quot;comment_count&quot;:2,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Enginuity&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec00d977-1863-420c-950d-b023037cdde5_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EK5l!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EK5l!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 424w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 848w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 1272w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EK5l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png" width="354" height="95.7970401691332" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:256,&quot;width&quot;:946,&quot;resizeWidth&quot;:354,&quot;bytes&quot;:18133,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!EK5l!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 424w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 848w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 1272w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>If you&#8217;re looking for a space where you can learn more about software engineering, leadership, and the creator economy, with <a href="https://open.substack.com/users/156659052-dariusz-sadowski?utm_source=mentions">Dariusz Sadowski</a>, <a href="https://open.substack.com/users/141222242-micha-poczwardowski?utm_source=mentions">Micha&#322; Poczwardowski</a>, and <a href="https://open.substack.com/users/40945395-yordan-ivanov?utm_source=mentions">Yordan Ivanov &#128200;</a>, we&#8217;ve created the <strong>Engineering &amp; Leadership </strong>discord community:</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://discord.gg/CDb5BRukAE&quot;,&quot;text&quot;:&quot;Join&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://discord.gg/CDb5BRukAE"><span>Join</span></a></p><div><hr></div><h3>&#128227; Recommended Reading</h3><ul><li><p><a href="https://newsletter.eng-leadership.com/p/5-skills-to-develop-to-grow-from">5 skills to develop to grow from Senior to Staff Engineer</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Gregor Ojstersek&quot;,&quot;id&quot;:106098672,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b7fdc30-d8c4-45f2-b0df-0b60baf9d4f4_1000x1000.jpeg&quot;,&quot;uuid&quot;:&quot;30c368fb-bf07-4942-aab1-06aa27a5ac31&quot;}" data-component-name="MentionToDOM"></span> and <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Arpit Bhayani&quot;,&quot;id&quot;:5901422,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/325ffa04-c40a-4417-b6c3-4f2f01b4a042_1000x1000.png&quot;,&quot;uuid&quot;:&quot;e8c0e7fe-30bc-4207-bfd6-d631aab790b2&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Engineering Leadership&quot;,&quot;id&quot;:1115815,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/gregorojstersek&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0845c094-23e3-40d0-86f3-d1ff19631211_317x317.png&quot;,&quot;uuid&quot;:&quot;75f72ec8-c999-4793-ad20-e210a5b6f4ea&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p><a href="https://zaidesanton.substack.com/p/the-victim-engineering-manager">The victim trap of engineering managers</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Anton Zaides&quot;,&quot;id&quot;:121956618,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fa87af7-7089-4977-ab32-dbcae410c190_3847x3564.jpeg&quot;,&quot;uuid&quot;:&quot;db9c2874-1f65-445e-a05f-d3f8649f4559&quot;}" data-component-name="MentionToDOM"></span> and <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Taha Hussain&quot;,&quot;id&quot;:176811885,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb44589b2-39be-4a71-96e2-e64223ef14fc_800x800.png&quot;,&quot;uuid&quot;:&quot;510c00c7-4ec8-43c1-bff1-db21a88c70d0&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Leading Developers&quot;,&quot;id&quot;:1804629,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/zaidesanton&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/64dbcf3a-d0db-4718-8758-a6521ac5b8bd_1250x1250.png&quot;,&quot;uuid&quot;:&quot;097df007-2601-42be-9046-8e323ae3b14e&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p><a href="https://www.practicalengineering.management/p/balancing-engineering-excellence">Balancing Engineering Excellence with Business</a> Value by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Mirek Stanek&quot;,&quot;id&quot;:6505300,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6ecad53-1e19-4228-9c30-7d2619e0c4ad_800x800.jpeg&quot;,&quot;uuid&quot;:&quot;a376214b-f299-4e6b-b608-fea86d31f655&quot;}" data-component-name="MentionToDOM"></span> and <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Tomasz Zara&#347;&quot;,&quot;id&quot;:155314191,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0c0b40aa-a1f2-456f-baf3-ac779838454b_624x624.png&quot;,&quot;uuid&quot;:&quot;f0e3c09f-f98c-4483-8385-b50958aceae1&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Practical Engineering Management&quot;,&quot;id&quot;:2158401,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/practicalengineeringmanagement&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f22d3851-836e-4bc8-b0f4-0d574c237b5d_1080x1080.png&quot;,&quot;uuid&quot;:&quot;ecf2fa16-3b53-4b1f-a10f-623a456cd640&quot;}" data-component-name="MentionToDOM"></span> </p></li></ul><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Enginuity! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Build Better Products Through Systems Thinking]]></title><description><![CDATA[Three Core Systems Thinking Principles For Product Engineers]]></description><link>https://newsletter.enginuity.software/p/better-products-through-systems-thinking</link><guid isPermaLink="false">https://newsletter.enginuity.software/p/better-products-through-systems-thinking</guid><dc:creator><![CDATA[Samuel Kollát]]></dc:creator><pubDate>Thu, 28 Nov 2024 07:02:13 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/3fb14093-d32f-4887-b3e0-3571673c3265_1000x666.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Even a small change can have unintended ripple effects, breaking functionalities in areas that aren&#8217;t even considered related. </p><p>We are often focused on the immediate task and miss the bigger picture until circumstances remind us again of a valuable lesson: in software development, everything is connected, and ignoring that interconnectedness can lead to a disaster.</p><p>Enter systems thinking&#8212;a way of looking at the whole rather than just the parts. To build robust, reliable software, we must understand how pieces fit together, anticipate the unexpected, and continuously learn from our outcomes.</p><div><hr></div><p><em>Discover how a product engineering mindset can future-proof your career and bring deeper satisfaction to your work. Subscribe to Enginuity for practical guidance delivered straight to your inbox.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.enginuity.software/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2>The Butterfly Effect in Systems</h2><p>We often focus intensely on the immediate problem at hand. We're eager to add that new feature, fix that bug, or push that release. But in this haste, we sometimes overlook how a small change can cascade through the system, leading to <strong>unintended consequences</strong> that can be costly or even catastrophic.</p><p><strong>Anticipating</strong> and being on the lookout for these consequences helps avoid the costly cycle of fixing problems after they've been deployed. The bottom line is that <strong>users expect software to work reliably</strong>. Frequent bugs or downtime can damage a product&#8217;s reputation and lead users to seek alternatives.</p><p>Unintended consequences are often the result of not seeing the forest for the trees. We need to step back and consider the wider impact of our work.</p><p>Let&#8217;s look into two common system-thinking mistakes and then discuss a simple strategy to promote preemptive anticipation of such ripple effects.</p><h3>Mistake 1: Ignoring the Bigger Picture</h3><p>Individual software components rarely function in isolation. They are part of a larger ecosystem where each element influences and is influenced by others. This <strong>interconnectedness</strong> means we must think beyond the immediate scope and consider the broader impact of our work.</p><p>The impact of interconnectedness within the system is often <strong>revealed in later stages</strong> of development or only after the system is released and integrated within the production environment:</p><ul><li><p><strong>Hidden Dependencies</strong>: Modifying an API without realizing other modules rely on it.</p></li><li><p><strong>Integration Problems</strong>: New code might work perfectly in isolation but cause issues when integrated with other components.</p></li><li><p><strong>User Experience Impacts</strong>: A backend change that slows down response times can frustrate users, even if the change was meant to improve functionality.</p></li><li><p><strong>Resource Constraints</strong>: Ignoring how a new feature might consume memory, CPU, or network bandwidth can degrade overall performance.</p></li></ul><h3>Mistake 2: Assuming the Happy Path</h3><p>We often write code assuming everything will go as planned&#8212;the user provides valid input, <a href="https://newsletter.enginuity.software/p/overcoming-the-8-fallacies-of-distributed">the network is reliable</a>, and resources are plentiful. But real-world conditions are messy.</p><p>Engineers often refer to conditions that are not on the assumed &#8220;happy path&#8221; as <strong>edge cases</strong>. The name itself holds the assumption that the probability of the occurrence of such an event is low, which is generally an incorrect assumption. You can only make such a statement after you confirm it via production telemetry over a long period of time. Failing to handle &#8220;edge cases&#8221; can lead to system failures, race conditions, and data corruption.</p><p>A popular scenario of unhandled edge cases is <strong>assumed inputs&#8212;</strong>not validating user or API inputs, leading to security vulnerabilities or system crashes when unexpected data is processed.</p><h3>Scenario Planning with "What If?" questions</h3><p>One of the most powerful tools in anticipating unintended consequences is scenario planning. Start by mapping out how your software is intended to work and what different scenarios a user can encounter. Then, deliberately consider how it might fail. Sometimes, this practice is called pre-mortem (as opposed to post-mortem). For example:</p><ul><li><p><strong>User Behavior:</strong> What if users input unexpected data? What if they click buttons in an unforeseen order?</p></li><li><p><strong>System Failures:</strong> What if the database goes down? What if the network is slow or unreliable?</p></li><li><p><strong>External Dependencies:</strong> What if a third-party API changes or becomes unavailable?</p></li><li><p><strong>Security Threats:</strong> What if someone tries to hack into the system?</p></li></ul><p>&#8220;What if&#8221; questions help you see the bigger picture, analyze the potential impact, and develop mitigation strategies for the highest-priority scenarios.</p><h2>The Case Against Oversimplification</h2><p>In the rush to deliver, it's tempting to boil down complex problems into simple solutions. We tell ourselves that by simplifying and overlooking nuances, we'll move faster and more efficiently.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!RLc1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d590367-517d-4e1e-9b49-8cdc3fbed68d_964x964.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RLc1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d590367-517d-4e1e-9b49-8cdc3fbed68d_964x964.png 424w, https://substackcdn.com/image/fetch/$s_!RLc1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d590367-517d-4e1e-9b49-8cdc3fbed68d_964x964.png 848w, https://substackcdn.com/image/fetch/$s_!RLc1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d590367-517d-4e1e-9b49-8cdc3fbed68d_964x964.png 1272w, https://substackcdn.com/image/fetch/$s_!RLc1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d590367-517d-4e1e-9b49-8cdc3fbed68d_964x964.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RLc1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d590367-517d-4e1e-9b49-8cdc3fbed68d_964x964.png" width="446" height="446" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7d590367-517d-4e1e-9b49-8cdc3fbed68d_964x964.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:964,&quot;width&quot;:964,&quot;resizeWidth&quot;:446,&quot;bytes&quot;:855282,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!RLc1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d590367-517d-4e1e-9b49-8cdc3fbed68d_964x964.png 424w, https://substackcdn.com/image/fetch/$s_!RLc1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d590367-517d-4e1e-9b49-8cdc3fbed68d_964x964.png 848w, https://substackcdn.com/image/fetch/$s_!RLc1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d590367-517d-4e1e-9b49-8cdc3fbed68d_964x964.png 1272w, https://substackcdn.com/image/fetch/$s_!RLc1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d590367-517d-4e1e-9b49-8cdc3fbed68d_964x964.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>But oversimplification often comes at a steep price. When we cut corners to make a problem seem easier, we <strong>lose critical information</strong>. As the saying goes: &#8220;The devil is in the details.&#8221; Ignoring them can lead to solutions undermining all sides of the Value - Quality - Time triangle:</p><ul><li><p><strong>Value</strong>: Oversimplification can lead to a flawed product design. If we don't understand user needs, we risk building something that doesn't solve the right problem.</p></li><li><p><strong>Quality: </strong>Avoiding the inherent system complexity results in architectural tech debt. As the system grows, the ignored debt resurfaces, making the codebase harder to maintain and evolve. This debt is often paid with high interest. Future changes become more costly and time-consuming, slowing down progress and innovation.</p></li><li><p><strong>Time: </strong>Underestimating the complexity of a task leads to unrealistic timelines and resource allocation. Projects overrun their deadlines, budgets grow, and teams burn out. As a result, such projects often move much slower than well-estimated ones and lose the trust of stakeholders.</p></li></ul><h3>How To Use Complexity Effectively</h3><ol><li><p><strong>Ask the Right Questions</strong>: Probing into the difficult aspects of a problem can save you a lot of future efforts for overhauling your overall solution. Try asking:</p><ol><li><p><em>What dependencies exist? </em></p></li><li><p><em>What are the edge cases? </em></p></li><li><p><em>How might the system evolve?</em></p></li><li><p><em>How can risks of possible future issues be minimized?</em></p></li></ol></li><li><p><strong>Iterate Thoughtfully</strong>. The goal is to break down the complexity into smaller, manageable pieces. This is different from oversimplifying, which avoids addressing many of those pieces from the very beginning. Tackle each piece methodically, ensuring it fits into the larger picture.</p></li><li><p><strong>Invest in Good Design</strong>: Take architectural decisions that favor flexibility and scalability. I cannot stress this enough! If your system is extendable and maintainable, you are on a great path. This investment pays off by reducing future work and technical debt.</p></li><li><p><strong>Be Honest in Estimates</strong>: When planning, factor in the complexities. It's easy to be a &#8220;yes-man&#8221; and underestimate the work ahead, but in the end, stakeholders prefer realistic timelines over unreachable ones.</p></li></ol><h2>Applying Feedback Loops</h2><p>Feedback loops are the mechanisms for learning and adaptation. Because of them, we know whether what we're doing is working or not, and without them, we're just guessing. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!msyC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e6d2205-c7e8-4d05-ad05-b6cf88d79bbf_1424x618.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!msyC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e6d2205-c7e8-4d05-ad05-b6cf88d79bbf_1424x618.png 424w, https://substackcdn.com/image/fetch/$s_!msyC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e6d2205-c7e8-4d05-ad05-b6cf88d79bbf_1424x618.png 848w, https://substackcdn.com/image/fetch/$s_!msyC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e6d2205-c7e8-4d05-ad05-b6cf88d79bbf_1424x618.png 1272w, https://substackcdn.com/image/fetch/$s_!msyC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e6d2205-c7e8-4d05-ad05-b6cf88d79bbf_1424x618.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!msyC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e6d2205-c7e8-4d05-ad05-b6cf88d79bbf_1424x618.png" width="608" height="263.86516853932585" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9e6d2205-c7e8-4d05-ad05-b6cf88d79bbf_1424x618.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:618,&quot;width&quot;:1424,&quot;resizeWidth&quot;:608,&quot;bytes&quot;:94268,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!msyC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e6d2205-c7e8-4d05-ad05-b6cf88d79bbf_1424x618.png 424w, https://substackcdn.com/image/fetch/$s_!msyC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e6d2205-c7e8-4d05-ad05-b6cf88d79bbf_1424x618.png 848w, https://substackcdn.com/image/fetch/$s_!msyC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e6d2205-c7e8-4d05-ad05-b6cf88d79bbf_1424x618.png 1272w, https://substackcdn.com/image/fetch/$s_!msyC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e6d2205-c7e8-4d05-ad05-b6cf88d79bbf_1424x618.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Positive feedback loops</strong> reinforce a particular behavior and lead to its amplification, for example:</p><ul><li><p><strong>Feature Adoption</strong>: A new feature that gives users a lot of value leads to increased usage, encouraging further investment in that area.</p></li><li><p><strong>Code Quality Improvements</strong>: Refactoring code makes it easier to add new features, which leads to more refactoring also in other areas because the benefits are clear.</p></li></ul><p><strong>Negative feedback loops</strong> counteract changes and promote stability and balance. Examples:</p><ul><li><p><strong>Automated Testing</strong>: Failing tests signal issues that need fixing before code is merged, preventing bugs from reaching production.</p></li><li><p><strong>Continuous Integration (CI)</strong>: Build and integration failures alert the team to problems and incompatibilities early, avoiding bigger production problems later.</p></li></ul><h3>Mistake 1: Delayed Feedback</h3><p>Delaying feedback usually means ignoring negative feedback loops. </p><p>One example is the use of <strong>long-running feature branches</strong>. They often accumulate and batch many changes before testing or deploying, which delays feedback and makes it harder to pinpoint issues. Another variant is infrequent <strong>batched releases</strong>, where teams merge their changes to the main branch, but the production release itself happens only a few times a year.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-ghg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2093aeed-08e8-4d01-9e60-87f76ac9e1eb_890x627.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-ghg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2093aeed-08e8-4d01-9e60-87f76ac9e1eb_890x627.png 424w, https://substackcdn.com/image/fetch/$s_!-ghg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2093aeed-08e8-4d01-9e60-87f76ac9e1eb_890x627.png 848w, https://substackcdn.com/image/fetch/$s_!-ghg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2093aeed-08e8-4d01-9e60-87f76ac9e1eb_890x627.png 1272w, https://substackcdn.com/image/fetch/$s_!-ghg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2093aeed-08e8-4d01-9e60-87f76ac9e1eb_890x627.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-ghg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2093aeed-08e8-4d01-9e60-87f76ac9e1eb_890x627.png" width="350" height="246.57303370786516" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2093aeed-08e8-4d01-9e60-87f76ac9e1eb_890x627.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:627,&quot;width&quot;:890,&quot;resizeWidth&quot;:350,&quot;bytes&quot;:51667,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!-ghg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2093aeed-08e8-4d01-9e60-87f76ac9e1eb_890x627.png 424w, https://substackcdn.com/image/fetch/$s_!-ghg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2093aeed-08e8-4d01-9e60-87f76ac9e1eb_890x627.png 848w, https://substackcdn.com/image/fetch/$s_!-ghg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2093aeed-08e8-4d01-9e60-87f76ac9e1eb_890x627.png 1272w, https://substackcdn.com/image/fetch/$s_!-ghg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2093aeed-08e8-4d01-9e60-87f76ac9e1eb_890x627.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Another common mistake is <strong>ignoring test failures</strong>. As we move up the testing pyramid, the probability of tests being flaky increases because more systems are included in the tests. Proceeding despite failing tests undermines the purpose of testing. Of course, the worst scenario is <strong>not writing</strong> or running tests at all.</p><h4>Prevention:</h4><ul><li><p><strong>Automated CI/CD</strong>: Automating testing and deployment ensures that test suites are run consistently and deployments to all environments are repeatable and reliable.</p></li><li><p><strong>Fail Fast</strong>: Early detection mechanisms, such as unit tests, type checks, linting, and code coverage, prevent issues from snowballing into bigger problems. </p><ul><li><p>At the same time, knowing that tests have your back makes it safer to improve the codebase and refactor with confidence.</p></li></ul></li><li><p><strong>Code Reviews</strong>: Reviewing the code before it&#8217;s committed to the main releasable branch is one of the most effective ways to prevent architectural tech debt and avoid changes that decrease the system's maintainability. </p></li></ul><h3>Mistake 2: Low-Value Feedback</h3><p>First, let&#8217;s address the "no feedback&#8221; scenario. Without monitoring or observability in your production system, you won&#8217;t know when and why things break. Long outages <strong>damage product reputations</strong> and cause user dissatisfaction and churn.</p><p>Low-value feedback is feedback collected without a proper <strong>strategy, prioritization, and categorization</strong> of its sources. For example, tracking too many metrics can obscure what's important. It can desensitize the team to the data arriving from the system, causing important signals to be missed.</p><p>One of the worst-case scenarios is when these low-value or limited feedback loops drive drastic product <strong>course corrections</strong>. Such knee-jerk reactions result in long-term instability and loss of product&#8217;s identity.</p><h4>Prevention</h4><p>Prevention strategies, in this case, are focused on identifying <strong>high-value</strong> positive feedback loops:</p><ul><li><p><strong>Feature Prioritization</strong>: Instead of having dozens of different metrics and statistics, focus on having a few high-value composite metrics coming from validated sources. You can create valuable insights only when you trust the data coming from the system.</p></li><li><p><strong>User Behavior Tracking</strong>: Understand how users interact with your software to make informed decisions. Just because two things happen together doesn't mean one caused the other. Be cautious when drawing conclusions. Check out <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Micha&#322; Poczwardowski&quot;,&quot;id&quot;:141222242,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F475838ea-8fbf-473b-9678-ea792c061ede_764x784.jpeg&quot;,&quot;uuid&quot;:&quot;a4327c06-6823-4686-9b43-c9dfc697e3ff&quot;}" data-component-name="MentionToDOM"></span>&#8217;s article <a href="https://read.perspectiveship.com/p/correlation-vs-causation">Correlation Does Not Imply Causation</a>.</p></li></ul><h2>Summary</h2><p>Let&#8217;s sum up the three principles:</p><ol><li><p>Consider the <strong>interconnectedness</strong> of components to avoid the butterfly effect, in which small changes ripple through the system and cause damage.</p><ol><li><p>Employ scenario planning with "What If?" questions to discover the real radius and impact of the change.</p></li></ol></li><li><p>Avoid oversimplification, which leads to loss of critical information, and instead <strong>use complexity effectively</strong> through exploration, good architectural design, and iteration.</p></li><li><p>Leverage <strong>positive feedback loops</strong> to achieve amplification of valuable outcomes and <strong>negative feedback loops</strong> to prevent harmful changes from destabilizing your system.</p></li></ol><div><hr></div><h3>&#128214; Read Next</h3><p>Discover more from the <a href="https://newsletter.enginuity.software/t/product-engineer">Product Engineering</a> track:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;2a98254a-bcf9-4fc3-8a5b-61609e19f126&quot;,&quot;caption&quot;:&quot;If you&#8217;re like me, your engineering career started in the spirit of strong motivation, high expectations, and endless energy for delivering new projects.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;md&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Overcoming Career Plateaus&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:131539004,&quot;name&quot;:&quot;Samuel Koll&#225;t&quot;,&quot;bio&quot;:&quot;Writing about Tech Leadership &amp; Product Engineering Mindset &#8226; Sharing insights on effective and meaningful software development &#8226; Senior-Staff Engineer @ Outreach&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5711335-39d9-41c3-b106-0740749a1dd9_3024x3024.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2024-11-07T07:01:43.643Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6a813382-f973-44c5-a06c-69d98c264fe7_1000x666.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://newsletter.enginuity.software/p/overcoming-career-plateaus&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:151028373,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:6,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Enginuity&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec00d977-1863-420c-950d-b023037cdde5_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EK5l!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EK5l!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 424w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 848w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 1272w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EK5l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png" width="354" height="95.7970401691332" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:256,&quot;width&quot;:946,&quot;resizeWidth&quot;:354,&quot;bytes&quot;:18133,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!EK5l!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 424w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 848w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 1272w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>If you&#8217;re looking for a space where you can learn more about software engineering, leadership, and the creator economy, with <a href="https://open.substack.com/users/156659052-dariusz-sadowski?utm_source=mentions">Dariusz Sadowski</a>, <a href="https://open.substack.com/users/141222242-micha-poczwardowski?utm_source=mentions">Micha&#322; Poczwardowski</a>, and <a href="https://open.substack.com/users/40945395-yordan-ivanov?utm_source=mentions">Yordan Ivanov &#128200;</a>, we&#8217;ve created the <strong>Engineering &amp; Leadership </strong>discord community:</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://discord.gg/CDb5BRukAE&quot;,&quot;text&quot;:&quot;Join&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://discord.gg/CDb5BRukAE"><span>Join</span></a></p><div><hr></div><h3>&#128227; Top Picks</h3><ul><li><p><a href="https://read.highgrowthengineer.com/p/the-one-framework-every-engineer-must-know">The one framework every engineer should know</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Jordan Cutler&quot;,&quot;id&quot;:58854493,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fe86d99-af64-4285-b982-9466a4c58d63_1311x1312.jpeg&quot;,&quot;uuid&quot;:&quot;bd76a66d-4933-4190-82a0-caa18c48549a&quot;}" data-component-name="MentionToDOM"></span> and <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Torsten Walbaum&quot;,&quot;id&quot;:19883177,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F07ae8499-8df7-4d09-bab1-171ac6264151_1080x1080.png&quot;,&quot;uuid&quot;:&quot;31c26aac-c1a9-431a-971e-8b3aca8871d1&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;High Growth Engineer&quot;,&quot;id&quot;:1504485,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/highgrowthengineer&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d4028d22-8549-42cb-831c-e75539af15f9_1280x1280.png&quot;,&quot;uuid&quot;:&quot;5f5c1eef-808a-48f9-83db-150678bbcd4a&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p><a href="https://zaidesanton.substack.com/p/safe-vs-all-in-engineering-management">Safe vs ALL-IN Engineering Management</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Anton Zaides&quot;,&quot;id&quot;:121956618,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fa87af7-7089-4977-ab32-dbcae410c190_3847x3564.jpeg&quot;,&quot;uuid&quot;:&quot;be4fef11-6dee-402e-bb2f-0b5b8a11fd45&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Leading Developers&quot;,&quot;id&quot;:1804629,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/zaidesanton&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/64dbcf3a-d0db-4718-8758-a6521ac5b8bd_1250x1250.png&quot;,&quot;uuid&quot;:&quot;47bbf856-43df-4846-970d-5dcf15b9957e&quot;}" data-component-name="MentionToDOM"></span></p></li><li><p><a href="https://refactoring.fm/p/code-quality-in-the-age-of-ai">Code Quality in the Age of AI</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Luca Rossi&quot;,&quot;id&quot;:6835984,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6107486-b701-4109-8f21-f450fed6e277_652x690.png&quot;,&quot;uuid&quot;:&quot;81b5e878-18ca-4efd-94d9-6910d8e42c92&quot;}" data-component-name="MentionToDOM"></span> and <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;C&#233;dric Teyton&quot;,&quot;id&quot;:213446530,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/98ce2c7a-0496-4bb0-b23e-483fe1852123_200x200.jpeg&quot;,&quot;uuid&quot;:&quot;eafbedec-4f2c-4284-89f7-898213f700e9&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Refactoring&quot;,&quot;id&quot;:64099,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/refactoring&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/59b1454d-62df-4c78-b76e-9e994b8f50c4_820x820.png&quot;,&quot;uuid&quot;:&quot;defe0cb0-153e-4847-b661-493b1835da92&quot;}" data-component-name="MentionToDOM"></span> </p></li></ul><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Enginuity! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Overcoming Career Plateaus]]></title><description><![CDATA[Uncommon and Practical Strategies to Reignite Growth and Motivation]]></description><link>https://newsletter.enginuity.software/p/overcoming-career-plateaus</link><guid isPermaLink="false">https://newsletter.enginuity.software/p/overcoming-career-plateaus</guid><dc:creator><![CDATA[Samuel Kollát]]></dc:creator><pubDate>Thu, 07 Nov 2024 07:01:43 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/6a813382-f973-44c5-a06c-69d98c264fe7_1000x666.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>If you&#8217;re like me, your engineering career started in the spirit of strong motivation, high expectations, and endless energy for delivering new projects.</p><p>However, as the years pass and tangible impact becomes increasingly difficult to see and measure, this drive for excellence and endless career opportunities starts to diminish.</p><p>You might change your project, your team, or perhaps your job, but at the end of the day, no external change really changes how you feel.</p><p>You&#8217;ve hit a career plateau.</p><p>Career plateaus don&#8217;t happen due to a lack of talent or effort. They are a natural phase that arises from repetitive tasks, diminished challenges, or a misalignment between personal values and professional roles.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mo_w!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc15c1670-da43-41ce-bf1e-e0060368a0a3_1675x1064.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mo_w!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc15c1670-da43-41ce-bf1e-e0060368a0a3_1675x1064.png 424w, https://substackcdn.com/image/fetch/$s_!mo_w!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc15c1670-da43-41ce-bf1e-e0060368a0a3_1675x1064.png 848w, https://substackcdn.com/image/fetch/$s_!mo_w!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc15c1670-da43-41ce-bf1e-e0060368a0a3_1675x1064.png 1272w, https://substackcdn.com/image/fetch/$s_!mo_w!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc15c1670-da43-41ce-bf1e-e0060368a0a3_1675x1064.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mo_w!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc15c1670-da43-41ce-bf1e-e0060368a0a3_1675x1064.png" width="498" height="316.3804945054945" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c15c1670-da43-41ce-bf1e-e0060368a0a3_1675x1064.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:925,&quot;width&quot;:1456,&quot;resizeWidth&quot;:498,&quot;bytes&quot;:108568,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!mo_w!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc15c1670-da43-41ce-bf1e-e0060368a0a3_1675x1064.png 424w, https://substackcdn.com/image/fetch/$s_!mo_w!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc15c1670-da43-41ce-bf1e-e0060368a0a3_1675x1064.png 848w, https://substackcdn.com/image/fetch/$s_!mo_w!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc15c1670-da43-41ce-bf1e-e0060368a0a3_1675x1064.png 1272w, https://substackcdn.com/image/fetch/$s_!mo_w!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc15c1670-da43-41ce-bf1e-e0060368a0a3_1675x1064.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>If this resonates with you, know that you're not alone. And more importantly, there are strategies to reignite your growth and motivation.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.enginuity.software/subscribe?"><span>Subscribe now</span></a></p><h2>Active Boredom</h2><p>It's possible to be knee-deep in tasks, meetings, and deadlines and still feel bored. I call this state "active boredom&#8221;&#8212;your hands are busy, and your calendar is full, but your brain is on autopilot, and you don&#8217;t feel fulfilled. </p><p>Active boredom often creeps in unnoticed during a prolonged period of time when your work doesn&#8217;t resonate with your values and goals. You are walking a path that leads, at best, nowhere and, at worst, in the opposite direction to where you&#8217;d like to be heading. You find yourself:</p><ul><li><p><strong>Going through the motions</strong>: Completing tasks out of obligation rather than interest.</p></li><li><p><strong>Lacking passion</strong>: Feeling indifferent about successes or milestones that once excited you. Sometimes, you might even feel indifferent about the failures of projects your team or the company itself works on.</p></li><li><p><strong>Avoiding reflection</strong>: Sidestepping questions about your career satisfaction or possibilities for improvement.</p></li></ul><p>Ignoring these signs can lead to prolonged dissatisfaction. While a job change might seem like the solution, without understanding the root cause, you risk repeating the same pattern elsewhere.</p><h3>Actionable Takeaway</h3><p>You&#8217;d be surprised how many people know what they don&#8217;t want in their careers but at the same time <strong>don&#8217;t know what they want</strong>. I was one of them for a long time. And no, &#8220;more money&#8221; is not enough if you are looking for a fulfilling career.</p><p>Set aside a few hours this week (I find weekends to be better for long-term planning) and clearly outline what you&#8217;d want to achieve in your career. I wrote an article <a href="https://newsletter.enginuity.software/p/career-progression-for-software-engineers-part-1">Career Progression For Software Engineers: How To Own Your Success</a>, which contains steps and questions to help you with this assignment.</p><p>There is one more benefit of having a defined career plan: By focusing on the steps you should take to achieve your goals, you can make your 1:1s with your manager much more effective and targeted.</p><h2>The Power of Diverse Perspectives</h2><p>Engineering is, by nature, rich in specializations. Whether we&#8217;re talking about frontend, backend, data, infrastructure, or ML, these specializations are required because those fields are huge and growing even more every year.</p><p>However, staying within the confines of your technical specialty can become <strong>comfortable and stale</strong>. You write code, debug, repeat. But engineering isn't just about lines of code. It's about creating products that make a difference. </p><blockquote><p>Therefore, to reignite your passion and see the true impact of your work, consider stepping beyond your usual role.</p></blockquote><p>Cross-functional collaboration breaks down the walls that keep you in your comfort zone. When you start interacting with other teams, design, marketing, or customer support, you see how your work fits into the larger puzzle. </p><p>By seeing multiple perspectives, you begin to understand the real-world impact of what you build.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!C5qa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9439c33-d05e-4fb4-8183-390f84ff9877_1112x782.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!C5qa!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9439c33-d05e-4fb4-8183-390f84ff9877_1112x782.png 424w, https://substackcdn.com/image/fetch/$s_!C5qa!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9439c33-d05e-4fb4-8183-390f84ff9877_1112x782.png 848w, https://substackcdn.com/image/fetch/$s_!C5qa!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9439c33-d05e-4fb4-8183-390f84ff9877_1112x782.png 1272w, https://substackcdn.com/image/fetch/$s_!C5qa!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9439c33-d05e-4fb4-8183-390f84ff9877_1112x782.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!C5qa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9439c33-d05e-4fb4-8183-390f84ff9877_1112x782.png" width="536" height="376.9352517985611" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f9439c33-d05e-4fb4-8183-390f84ff9877_1112x782.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:782,&quot;width&quot;:1112,&quot;resizeWidth&quot;:536,&quot;bytes&quot;:56265,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!C5qa!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9439c33-d05e-4fb4-8183-390f84ff9877_1112x782.png 424w, https://substackcdn.com/image/fetch/$s_!C5qa!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9439c33-d05e-4fb4-8183-390f84ff9877_1112x782.png 848w, https://substackcdn.com/image/fetch/$s_!C5qa!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9439c33-d05e-4fb4-8183-390f84ff9877_1112x782.png 1272w, https://substackcdn.com/image/fetch/$s_!C5qa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9439c33-d05e-4fb4-8183-390f84ff9877_1112x782.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">There is more than one way to look at any situation.</figcaption></figure></div><p>Asking <em><strong>"Why does this feature matter?"</strong></em> means you're considering user needs, business goals, and market context. This transforms you from a narrow specialist into someone with deep expertise in one area and a broad understanding across multiple domains.</p><p>This transformation doesn't dilute your skills. It amplifies them. You bring valuable insights from different perspectives, making you more adaptable and effective. </p><p>You're not just coding. You're contributing to the product's success.</p><h3>Actionable Takeaways</h3><ol><li><p>This week, schedule a time to <strong>engage</strong> with someone outside your team. Ask them about their work, challenges, and how it intersects with yours. You can join a demo session of another team, an architecture review, or sit in on meetings with product or customer service. Understand their challenges and how they relate to your work.</p></li><li><p>Learn about the <strong>underlying problem</strong> your product solves. How does your work influence revenue, user retention, or growth? What are the areas that cause the most customer pain? Are there some 80/20 tasks (aka. low-hanging fruits) that would greatly benefit users?</p></li></ol><h2>The Hidden Assets</h2><p>In engineering, technical knowledge (hard skills) is often prioritized over soft skills. However, skills like emotional intelligence, storytelling, negotiation, persuasion, and leadership are very much needed for career advancement and work satisfaction.</p><p>Improving my soft skills in the areas mentioned above has been a highly motivating activity for me over the last year and has brought me a considerable amount of fulfillment.</p><p>The opportunities for learning in the soft skills space are infinite. I want to discuss one concept I&#8217;ve been focusing on for some time now. This area is often overlooked, but it&#8217;s one of the best ways to influence your work and align it with your values and goals.</p><h3>Communicating and "Selling" Ideas</h3><p>You might have the most innovative solution to a problem, but if you can't communicate it effectively, it will be as good as nonexistent. </p><blockquote><p>Effective communication, persuasion, and idea-selling isn't about manipulating others. It's about <strong>clearly articulating your vision</strong> so that others understand its value.</p></blockquote><p>Why does this matter? Because every project lives or dies by the buy-in it receives from stakeholders. Whether you pitch to management for resources, collaborate with other teams, or convince clients, your ability to convey the importance and benefits of your ideas determines their fate.</p><p>There are three main aspects you should pay attention to when presenting and pitching your ideas:</p><ol><li><p><strong>Understand The Problem</strong>: We are returning to the idea of perspectives. Problems are rarely single-faceted, and you can bet that if you consider only one perspective (which in software engineering is usually a technical complexity), you&#8217;ll find it very hard to create a compelling argument.</p></li><li><p><strong>Understand Your Audience</strong>: Tailor your message to goals and level of technical understanding of your target audience. Not adjusting the message to the audience is the biggest mistake I have seen SWEs on all levels of seniority make.<br>Ask yourself: </p><ol><li><p><em>What problems do they face? </em></p></li><li><p><em>What do they hope to achieve? </em></p></li><li><p><em>Is my idea aligned with their goals or going against it?  Or even worse, are they completely indifferent to it?</em></p></li><li><p><em>Should you communicate more details or strategy?</em></p></li></ol></li><li><p><strong>Craft a Clear Message</strong>: Based on the two points above, create the message you want to present. It should be clear what the problem is, why it has occurred, how you propose to solve it, and what the outcomes and benefits will be.</p></li></ol><p>Of course, your idea can still be declined. However, improving your ability to articulate your vision clearly and make others listen with attention is something you will benefit from in the long run. It&#8217;s a skill that will help you when you search for your next job, apply for promotion, or decide to start a company and build your own product.</p><h2>Summary</h2><p>You might have noticed that most of the advice in this article can be summed up to:</p><blockquote><p>Understand what you truly want and then take action in that direction.</p></blockquote><p>In my case, and I strongly believe it applies to many of you, both the understanding and the action are rooted in looking at work and career more holistically. Career plateaus are not so much about the external elements as they are about discovering who we are, where we want to go, and what the best ways to get there are.</p><p>So what are you waiting for?</p><div><hr></div><h3>&#128214; Read Next</h3><p>Discover more from the <a href="https://newsletter.enginuity.software/t/product-engineer">Product Engineering</a> track:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;b500d1b8-449e-41b9-bb63-7c58510ee1b5&quot;,&quot;caption&quot;:&quot;The pressure to solve problems quickly can lead to rushed solutions.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;How to take your problem-solving skills to the next level&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:131539004,&quot;name&quot;:&quot;Samuel Koll&#225;t&quot;,&quot;bio&quot;:&quot;Writing about Tech Leadership &amp; Product Engineering Mindset &#8226; Sharing insights on effective and meaningful software development &#8226; Senior-Staff Engineer @ Outreach&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5711335-39d9-41c3-b106-0740749a1dd9_3024x3024.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2024-10-08T14:02:52.506Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3b90df4e-442c-4959-88c9-bc462a49f72b_1000x666.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://newsletter.enginuity.software/p/double-diamond-design-process&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:149797766,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:14,&quot;comment_count&quot;:1,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Enginuity&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec00d977-1863-420c-950d-b023037cdde5_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EK5l!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EK5l!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 424w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 848w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 1272w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EK5l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png" width="354" height="95.7970401691332" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:256,&quot;width&quot;:946,&quot;resizeWidth&quot;:354,&quot;bytes&quot;:18133,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!EK5l!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 424w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 848w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 1272w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>If you&#8217;re looking for a space where you can learn more about software engineering, leadership, and the creator economy, with <a href="https://open.substack.com/users/156659052-dariusz-sadowski?utm_source=mentions">Dariusz Sadowski</a>, <a href="https://open.substack.com/users/141222242-micha-poczwardowski?utm_source=mentions">Micha&#322; Poczwardowski</a>, and <a href="https://open.substack.com/users/40945395-yordan-ivanov?utm_source=mentions">Yordan Ivanov &#128200;</a>, we&#8217;ve created the <strong>Engineering &amp; Leadership </strong>discord community:</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://discord.gg/CDb5BRukAE&quot;,&quot;text&quot;:&quot;Join&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://discord.gg/CDb5BRukAE"><span>Join</span></a></p><div><hr></div><h3>&#128227; Top Picks</h3><ul><li><p><a href="https://read.perspectiveship.com/p/first-year">You May Need To Start Creating - One Year and 50,000 Words Later</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Micha&#322; Poczwardowski&quot;,&quot;id&quot;:141222242,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F475838ea-8fbf-473b-9678-ea792c061ede_764x784.jpeg&quot;,&quot;uuid&quot;:&quot;4b639466-bacb-4327-8b33-8a773b32e56c&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Perspectiveship&quot;,&quot;id&quot;:2072708,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/poczwardowski&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fbae1b9e-ea9b-4925-9296-13051314b405_256x256.png&quot;,&quot;uuid&quot;:&quot;c2abc1e2-8132-4d97-b7b2-b58a6d35c949&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p><a href="https://zaidesanton.substack.com/p/engineering-management-in-the-next">Engineering management in the next unicorn app</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Anton Zaides&quot;,&quot;id&quot;:121956618,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fa87af7-7089-4977-ab32-dbcae410c190_3847x3564.jpeg&quot;,&quot;uuid&quot;:&quot;f72329df-b5d5-49d9-b611-fc00c18cc312&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Leading Developers&quot;,&quot;id&quot;:1804629,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/zaidesanton&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/64dbcf3a-d0db-4718-8758-a6521ac5b8bd_1250x1250.png&quot;,&quot;uuid&quot;:&quot;28c9df4e-b023-4d48-8c80-aaa8379504fe&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p><a href="https://read.highgrowthengineer.com/p/5-lessons-i-learned-the-hard-way-from-10-years">5 Lessons I learned the hard way from 10+ years as a software engineer</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Jordan Cutler&quot;,&quot;id&quot;:58854493,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fe86d99-af64-4285-b982-9466a4c58d63_1311x1312.jpeg&quot;,&quot;uuid&quot;:&quot;8a2efcfe-92a0-44ad-8bc2-89458da61298&quot;}" data-component-name="MentionToDOM"></span> and <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Gourav Khanijoe&quot;,&quot;id&quot;:169529562,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb283af6c-1848-41d3-b5b7-79ff821264e3_800x800.jpeg&quot;,&quot;uuid&quot;:&quot;f3099b94-9843-41f2-be7e-fd5b1326fe36&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;High Growth Engineer&quot;,&quot;id&quot;:1504485,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/highgrowthengineer&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d4028d22-8549-42cb-831c-e75539af15f9_1280x1280.png&quot;,&quot;uuid&quot;:&quot;6f830bbf-b000-43ee-a6b8-a2be3aa3d297&quot;}" data-component-name="MentionToDOM"></span> </p></li></ul><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Enginuity! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[How to take your problem-solving skills to the next level]]></title><description><![CDATA[The Power of Divergent and Convergent Thinking]]></description><link>https://newsletter.enginuity.software/p/double-diamond-design-process</link><guid isPermaLink="false">https://newsletter.enginuity.software/p/double-diamond-design-process</guid><dc:creator><![CDATA[Samuel Kollát]]></dc:creator><pubDate>Tue, 08 Oct 2024 14:02:52 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/3b90df4e-442c-4959-88c9-bc462a49f72b_1000x666.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The pressure to solve problems quickly can lead to rushed solutions.</p><p>But how to guide your team through both <strong>creativity and precision</strong>? </p><p>From a product engineering perspective, we must ensure that we build something <strong>meaningful</strong> rather than just build something fast.</p><p>We need an approach that helps us explore a wide range of possibilities and then zero in on the right solution with laser focus.</p><h1>Divergent and Convergent Thinking</h1><p>Exploration is the first step in a problem-solving process (or at least it should be if you care about the result). It is a broad, unconstrained search for any potential solutions. </p><p>This is where <strong>divergent thinking</strong> comes into play. It&#8217;s your team&#8217;s chance to be creative, to think outside of the box, and to generate as many ideas and perspectives as possible.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8Ll0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff642cda2-8db7-4cb2-b13c-a799247c7e00_1918x1194.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8Ll0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff642cda2-8db7-4cb2-b13c-a799247c7e00_1918x1194.png 424w, https://substackcdn.com/image/fetch/$s_!8Ll0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff642cda2-8db7-4cb2-b13c-a799247c7e00_1918x1194.png 848w, https://substackcdn.com/image/fetch/$s_!8Ll0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff642cda2-8db7-4cb2-b13c-a799247c7e00_1918x1194.png 1272w, https://substackcdn.com/image/fetch/$s_!8Ll0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff642cda2-8db7-4cb2-b13c-a799247c7e00_1918x1194.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8Ll0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff642cda2-8db7-4cb2-b13c-a799247c7e00_1918x1194.png" width="518" height="322.3269230769231" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f642cda2-8db7-4cb2-b13c-a799247c7e00_1918x1194.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:906,&quot;width&quot;:1456,&quot;resizeWidth&quot;:518,&quot;bytes&quot;:144851,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!8Ll0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff642cda2-8db7-4cb2-b13c-a799247c7e00_1918x1194.png 424w, https://substackcdn.com/image/fetch/$s_!8Ll0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff642cda2-8db7-4cb2-b13c-a799247c7e00_1918x1194.png 848w, https://substackcdn.com/image/fetch/$s_!8Ll0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff642cda2-8db7-4cb2-b13c-a799247c7e00_1918x1194.png 1272w, https://substackcdn.com/image/fetch/$s_!8Ll0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff642cda2-8db7-4cb2-b13c-a799247c7e00_1918x1194.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Divergent thinking prevents you from jumping straight into a solution before fully understanding the problem. This is the foundation of product engineering.</p><p>Once you've explored all the possibilities, it&#8217;s time for <strong>convergent thinking</strong>. This is where you start narrowing down options. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!h5Kq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4049bf55-3481-4a74-b43f-384a24070b92_1421x1198.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!h5Kq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4049bf55-3481-4a74-b43f-384a24070b92_1421x1198.png 424w, https://substackcdn.com/image/fetch/$s_!h5Kq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4049bf55-3481-4a74-b43f-384a24070b92_1421x1198.png 848w, https://substackcdn.com/image/fetch/$s_!h5Kq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4049bf55-3481-4a74-b43f-384a24070b92_1421x1198.png 1272w, https://substackcdn.com/image/fetch/$s_!h5Kq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4049bf55-3481-4a74-b43f-384a24070b92_1421x1198.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!h5Kq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4049bf55-3481-4a74-b43f-384a24070b92_1421x1198.png" width="382" height="322.05207600281494" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4049bf55-3481-4a74-b43f-384a24070b92_1421x1198.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1198,&quot;width&quot;:1421,&quot;resizeWidth&quot;:382,&quot;bytes&quot;:106377,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!h5Kq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4049bf55-3481-4a74-b43f-384a24070b92_1421x1198.png 424w, https://substackcdn.com/image/fetch/$s_!h5Kq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4049bf55-3481-4a74-b43f-384a24070b92_1421x1198.png 848w, https://substackcdn.com/image/fetch/$s_!h5Kq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4049bf55-3481-4a74-b43f-384a24070b92_1421x1198.png 1272w, https://substackcdn.com/image/fetch/$s_!h5Kq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4049bf55-3481-4a74-b43f-384a24070b92_1421x1198.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><ol><li><p>Review the ideas generated in the divergent phase</p></li><li><p>Eliminate the ones that don't align with the core problem</p></li><li><p>Focus on refining the most viable solutions</p></li></ol><p>This process ensures the solution you will build is rooted in real user needs, feasible from an engineering point of view, and aligned with business goals.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.enginuity.software/subscribe?"><span>Subscribe now</span></a></p><h1>The Double Diamond Design Process</h1><p>The Double Diamond (developed by <a href="https://www.designcouncil.org.uk/our-resources/the-double-diamond/">The Design Council</a>) is a framework for solving complex problems. It&#8217;s built around two key phases, each containing divergent and convergent thinking stages. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!aKlp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F934043af-1ae1-4059-8f17-e22b51360624_3531x1648.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aKlp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F934043af-1ae1-4059-8f17-e22b51360624_3531x1648.png 424w, https://substackcdn.com/image/fetch/$s_!aKlp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F934043af-1ae1-4059-8f17-e22b51360624_3531x1648.png 848w, https://substackcdn.com/image/fetch/$s_!aKlp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F934043af-1ae1-4059-8f17-e22b51360624_3531x1648.png 1272w, https://substackcdn.com/image/fetch/$s_!aKlp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F934043af-1ae1-4059-8f17-e22b51360624_3531x1648.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aKlp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F934043af-1ae1-4059-8f17-e22b51360624_3531x1648.png" width="1456" height="680" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/934043af-1ae1-4059-8f17-e22b51360624_3531x1648.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:680,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:273213,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!aKlp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F934043af-1ae1-4059-8f17-e22b51360624_3531x1648.png 424w, https://substackcdn.com/image/fetch/$s_!aKlp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F934043af-1ae1-4059-8f17-e22b51360624_3531x1648.png 848w, https://substackcdn.com/image/fetch/$s_!aKlp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F934043af-1ae1-4059-8f17-e22b51360624_3531x1648.png 1272w, https://substackcdn.com/image/fetch/$s_!aKlp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F934043af-1ae1-4059-8f17-e22b51360624_3531x1648.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The goal is to first thoroughly explore the problem space and then focus on delivering the right solution with feedback loops in the process.</p><h2>Discover (Explore)</h2><p>This stage is a divergent process. You're not limiting your scope or making assumptions. Your goal is to:</p><blockquote><p>Explore the full problem space and ensure the team is focused on solving the right problem, not just what seems like the obvious one.</p></blockquote><h3>How to Implement</h3><p>The discovery phase is your chance to challenge assumptions, investigate real user pain points, and bring valuable insights to the team.</p><ul><li><p><strong>User Interviews</strong>: Talking directly to users or customers is one of the best methods to understand their pain points and expectations.</p></li><li><p><strong>Competitive Analysis</strong>: Look at direct competitors and products that offer similar feature sets to see how they solve this problem.</p></li><li><p><strong>Journey Mapping:</strong> Visualize a user's experience with your product or service to identify gaps and pain points that need to be addressed.</p></li><li><p><strong>Data Analysis</strong>: There is a high chance you already have a ton of existing product data (telemetry, session recordings, analytics, data lakes) you can dig into. Whether you discover success stories or failures, you can use the <a href="https://newsletter.enginuity.software/i/148101037/whys-framework">5 Whys Framework</a> to analyze the root causes for those outcomes.</p></li></ul><p>At this stage, product and tech leaders must ensure that all relevant voices&#8212;designers, engineers, marketers, and users&#8212;are heard.</p><h2>Define (Reframe)</h2><p>Next is a convergent thinking stage, which narrows down the wide range of insights gathered to a clear, specific problem statement. The goal is to:</p><blockquote><p>Extract key insights from the discovered data to reframe the problem so you can focus on the most pressing issue that needs to be addressed.</p></blockquote><p>This is where the user-centric mindset of product engineers shines. By the end of this stage, every team member should know what problem they&#8217;re solving and why it matters.</p><h3>How to Implement</h3><ul><li><p><strong>Affinity Mapping:</strong> Use affinity diagrams to group and categorize your research findings. You might have used Affinity mapping without realizing it before&#8212;it&#8217;s often used to group similar topics during Scrum&#8217;s Retrospective sessions. The goal is to identify common patterns and themes.</p></li><li><p><strong>Problem Statement Template:</strong> To frame the problem clearly, use a well-defined template. You might have already encountered a template for user stories&#8212;<em>&#8220;As a [persona], I [want to], [so that].&#8221;</em>. A problem statement template may look like this:</p><ul><li><p><em>&#8220;[User] needs [need] because [insight].&#8221;</em></p></li><li><p>For example: <em>"New users need a simple onboarding process because they feel overwhelmed by too many features at once."</em></p></li></ul></li><li><p><strong>How Might We Questions:</strong> These questions help reframe the problem so that it encourages solution-focused thinking. For example:</p><ul><li><p><em>"How might we simplify the onboarding process to prevent users from feeling overwhelmed?"</em></p></li></ul></li><li><p><strong>Prioritization Frameworks:</strong> Use tools like the <a href="https://newsletter.enginuity.software/i/147576101/eisenhower-matrix">Eisenhower Matrix</a> or RICE to prioritize problems based on their impact and effort. Tech leaders should guide the team in making tough decisions about prioritizing issues based on business goals and user needs.</p></li></ul><h2>Develop (Create)</h2><p>The second diamond (phase) starts again with divergent thinking. This stage is all about experimentation:</p><blockquote><p>Thinking creatively to generate a range of possible solutions to the defined problem and explore them in detail.</p></blockquote><h3>How to Implement</h3><ul><li><p><strong>Brainstorming</strong>: It doesn&#8217;t have to be specifically structured. Even free-from brainstorming works in many situations. If you want to add more structure to it, you can use methods like SCAMPER to promote creative thinking and generate new ideas. Experiment with approaches that might initially seem out-of-the-box.</p></li><li><p><strong>Wireframing</strong>: Wireframing is an easy and effective way to sketch out multiple solutions. Keep things low-fidelity and focus on functionality rather than aesthetics. The goal is to explore multiple possibilities before narrowing down.</p></li><li><p><strong>Rapid Prototyping</strong>: These prototypes should be fast to build and easy to iterate on. Creating the first version of prototypes using tools like Figma, low-code approaches, or code gen is a quick way how to get something out of the door that can be validated with users.</p></li></ul><h2>Deliver (Catalyse)</h2><p>The last stage is again a convergent thinking stage. You test identified solutions with real users, gather feedback, and implement the most effective one:</p><blockquote><p>Deliver a solution that works, solves the core problem, and meets user needs and expectations.</p></blockquote><p>This is the part that is most familiar to us, software engineers. It&#8217;s about incrementally delivering value in the highest possible quality based on the results from the previous stage. Let&#8217;s look at some techniques to make the delivery more effective:</p><h3>How to Implement</h3><ul><li><p><strong>A/B Testing</strong>: Testing multiple versions of your solution in real-time is the best way to get immediate and measurable feedback from users. With tools such as LaunchDarkly, you can leverage feature flags to switch between multiple versions, and analytics tools like Google Analytics or Amplitude provide means to measure the usage, conversion, and effectiveness of your solutions.</p></li><li><p><strong>Feedback Loops</strong>: Whether it is alpha/beta testing with selected users or in-app surveys, direct feedback from customers can uncover &#8220;unknown unknowns&#8221; you would otherwise miss just by analyzing your product telemetry.</p></li><li><p><strong>Continuous Integration &amp; Deployment</strong>: Now standard across the industry, CI/CD pipelines are a great tool for rapidly and frequently releasing improvements. It not only helps with quickly reacting to users&#8217; feedback, but another fortunate benefit is that you can quickly fix or revert any mistakes you make along the way.</p></li></ul><h1>Summary</h1><p>Even though the double diamond design process is over 20 years old (check <a href="https://www.designcouncil.org.uk/our-resources/systemic-design-framework/">Design for Planet</a> for an updated advanced version), it&#8217;s still very relevant in the effective development of new products or features. </p><p>The relevancy is in combining divergent and convergent thinking while analyzing and solving challenges. The next time you are presented with a complex challenge, try using this method to explore and think outside the box before converging on the actual solution you will deliver.</p><div><hr></div><h3>&#128214; Read Next</h3><p>Discover more from the <a href="https://newsletter.enginuity.software/t/product-engineer">Product Engineering</a> track:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;9643cffc-aab0-44dd-bafe-ab2dbe9341d1&quot;,&quot;caption&quot;:&quot;Hi, this is Samuel from Enginuity &#128075; This post is part of the Product Engineer track and looks at Apple's product innovation through the lens of the Kano model.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;How Apple Consistently Exceeds Customer Expectations (And How You Can Do The Same)&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:131539004,&quot;name&quot;:&quot;Samuel Koll&#225;t&quot;,&quot;bio&quot;:&quot;Writing about Tech Leadership &amp; Product Engineering Mindset &#8226; Sharing insights on effective and meaningful software development &#8226; Senior-Staff Engineer @ Outreach&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f5711335-39d9-41c3-b106-0740749a1dd9_3024x3024.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2024-09-25T06:21:03.459Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0fd54cfe-4424-4c89-bac6-47dacd300abc_1000x666.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://newsletter.enginuity.software/p/how-apple-exceeds-customer-expectations&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:149205543,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:7,&quot;comment_count&quot;:3,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Enginuity&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec00d977-1863-420c-950d-b023037cdde5_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EK5l!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EK5l!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 424w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 848w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 1272w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EK5l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png" width="354" height="95.7970401691332" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:256,&quot;width&quot;:946,&quot;resizeWidth&quot;:354,&quot;bytes&quot;:18133,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!EK5l!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 424w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 848w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 1272w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Are you looking for a space where you can learn more about software engineering, leadership, and the creator economy and network with other like-minded professionals?</p><p>With <a href="https://open.substack.com/users/156659052-dariusz-sadowski?utm_source=mentions">Dariusz Sadowski</a>, <a href="https://open.substack.com/users/141222242-micha-poczwardowski?utm_source=mentions">Micha&#322; Poczwardowski</a>, and <a href="https://open.substack.com/users/40945395-yordan-ivanov?utm_source=mentions">Yordan Ivanov &#128200;</a>, we&#8217;ve just opened the gates to a new Discord community: <strong>Engineering &amp; Leadership</strong></p><p>Be among the first members and join us for virtual meetups, Q&amp;A sessions, and events:</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://discord.gg/CDb5BRukAE&quot;,&quot;text&quot;:&quot;Join&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://discord.gg/CDb5BRukAE"><span>Join</span></a></p><div><hr></div><h3>&#128227; Top Picks</h3><ul><li><p><a href="https://read.highgrowthengineer.com/p/5-keys-to-the-hiring-manager-interview">5 Keys to the Hiring Manager Interview from a Meta Senior Manager</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Jordan Cutler&quot;,&quot;id&quot;:58854493,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fe86d99-af64-4285-b982-9466a4c58d63_1311x1312.jpeg&quot;,&quot;uuid&quot;:&quot;b7814b85-5d89-4158-a27f-8f643aad16c1&quot;}" data-component-name="MentionToDOM"></span> and <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Stefan Mai&quot;,&quot;id&quot;:177837112,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F53b6f4bb-4840-4c8e-b89f-b330b39433ad_800x800.jpeg&quot;,&quot;uuid&quot;:&quot;6b88599f-5005-4576-be62-7b01d18c2246&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;High Growth Engineer&quot;,&quot;id&quot;:1504485,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/highgrowthengineer&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d4028d22-8549-42cb-831c-e75539af15f9_1280x1280.png&quot;,&quot;uuid&quot;:&quot;53c56651-7d34-4f0b-a185-e335a5b78ecd&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p><a href="https://read.perspectiveship.com/p/regression-towards-the-mean">Regression Towards the Mean - Mental Model</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Micha&#322; Poczwardowski&quot;,&quot;id&quot;:141222242,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F475838ea-8fbf-473b-9678-ea792c061ede_764x784.jpeg&quot;,&quot;uuid&quot;:&quot;ff30ba1c-5539-4129-961f-d3b67923f285&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Perspectiveship&quot;,&quot;id&quot;:2072708,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/poczwardowski&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fbae1b9e-ea9b-4925-9296-13051314b405_256x256.png&quot;,&quot;uuid&quot;:&quot;b5d4289d-4c10-4686-b632-28465ff4bc85&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p><a href="https://newsletter.eng-leadership.com/p/the-importance-of-data-when-making">The importance of data when making decisions in the engineering industry</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Gregor Ojstersek&quot;,&quot;id&quot;:106098672,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1b7fdc30-d8c4-45f2-b0df-0b60baf9d4f4_1000x1000.jpeg&quot;,&quot;uuid&quot;:&quot;a03da70d-29f1-4743-9e30-c83e9b72468b&quot;}" data-component-name="MentionToDOM"></span> and <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Alberto Gonzalez Rosales&quot;,&quot;id&quot;:121975303,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1e19be7e-768c-43ef-ac5f-cf6e74998078_640x640.jpeg&quot;,&quot;uuid&quot;:&quot;ff1deb25-eafe-4d6d-955f-c7cf4bf9f1cb&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Engineering Leadership&quot;,&quot;id&quot;:1115815,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/gregorojstersek&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0845c094-23e3-40d0-86f3-d1ff19631211_317x317.png&quot;,&quot;uuid&quot;:&quot;63e476aa-cf7a-4cee-89ec-18b2ed0a5f7c&quot;}" data-component-name="MentionToDOM"></span> </p></li></ul><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Enginuity! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p><p></p><p></p><p></p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[How Apple Consistently Exceeds Customer Expectations (And How You Can Do The Same)]]></title><description><![CDATA[How to Apply the Kano Model to Build Products That Delight]]></description><link>https://newsletter.enginuity.software/p/how-apple-exceeds-customer-expectations</link><guid isPermaLink="false">https://newsletter.enginuity.software/p/how-apple-exceeds-customer-expectations</guid><dc:creator><![CDATA[Samuel Kollát]]></dc:creator><pubDate>Wed, 25 Sep 2024 06:21:03 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/0fd54cfe-4424-4c89-bac6-47dacd300abc_1000x666.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hi, this is Samuel from Enginuity &#128075; This post is part of the <a href="https://newsletter.enginuity.software/t/product-engineer">Product Engineer track</a> and looks at Apple's product innovation through the lens of the Kano model.</em></p><p><em>You can find all three tracks in the <a href="https://newsletter.enginuity.software/">main menu</a> of the Enginuity Newsletter.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.enginuity.software/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><p>Customer satisfaction isn&#8217;t just a nice-to-have. It&#8217;s a necessity and a survival tactic.</p><p>Build something that doesn&#8217;t address your users&#8217; needs and expectations, and they&#8217;ll move on to the next option faster than you can roll out an update. But there&#8217;s more:</p><blockquote><p>Great companies don&#8217;t just meet expectations&#8212;they exceed them, and they <strong>exceed them consistently</strong>.</p></blockquote><p>No one does this better in the long term than Apple. They know how to nail the essentials while pushing boundaries.</p><p>Let&#8217;s explore why <strong>delivering great products isn&#8217;t about luck</strong> but about adopting the product engineering mindset and how Apple does it with every product launch.</p><h2>The Kano Model</h2><p>The Kano Model is a straightforward but powerful framework for prioritizing features that matter. Features that not only satisfy customers but also delight them.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nt37!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d498797-aec3-4438-b274-b77eeccd4f2a_2482x2212.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nt37!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d498797-aec3-4438-b274-b77eeccd4f2a_2482x2212.png 424w, https://substackcdn.com/image/fetch/$s_!nt37!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d498797-aec3-4438-b274-b77eeccd4f2a_2482x2212.png 848w, https://substackcdn.com/image/fetch/$s_!nt37!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d498797-aec3-4438-b274-b77eeccd4f2a_2482x2212.png 1272w, https://substackcdn.com/image/fetch/$s_!nt37!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d498797-aec3-4438-b274-b77eeccd4f2a_2482x2212.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nt37!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d498797-aec3-4438-b274-b77eeccd4f2a_2482x2212.png" width="1456" height="1298" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3d498797-aec3-4438-b274-b77eeccd4f2a_2482x2212.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1298,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:253575,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!nt37!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d498797-aec3-4438-b274-b77eeccd4f2a_2482x2212.png 424w, https://substackcdn.com/image/fetch/$s_!nt37!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d498797-aec3-4438-b274-b77eeccd4f2a_2482x2212.png 848w, https://substackcdn.com/image/fetch/$s_!nt37!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d498797-aec3-4438-b274-b77eeccd4f2a_2482x2212.png 1272w, https://substackcdn.com/image/fetch/$s_!nt37!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d498797-aec3-4438-b274-b77eeccd4f2a_2482x2212.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The model breaks down customer satisfaction into five categories:</p><ol><li><p><strong>Basic Needs (Must-Haves)</strong> </p><ul><li><p>These are the features that users expect as a baseline. For example, in smartphones nowadays, users expect basic functionalities like making calls, sending texts, and decent battery life. And they better be flawless.</p></li><li><p>If your product lacks these, it&#8217;s game over. It won&#8217;t matter what else you offer. </p></li><li><p>But there&#8217;s a catch: Meeting these needs <strong>won&#8217;t satisfy</strong> your users. Your product must have them to be even considered as a viable alternative.</p></li></ul></li><li><p><strong>Performance Needs (Satisfiers</strong>) </p><ul><li><p>These features directly impact satisfaction. The better you deliver on these, the more satisfied your customers become. </p></li><li><p>Returning to our smartphone example: faster processing speeds, better camera quality, and longer battery life. These are the things people will notice and appreciate. If you focus on delivering and improving performance features, you&#8217;ll consistently improve your user experience.</p></li></ul></li><li><p><strong>Delighters</strong> </p><ul><li><p>Delighters are features that can really separate you from the competition. These are the innovations no one saw coming, but now they can&#8217;t live without. </p></li><li><p>They go beyond what users ask for&#8212;they surprise and delight, creating a lasting emotional connection. They make customers think: <em>&#8220;This company really understands and cares.&#8221;</em></p></li></ul></li><li><p><strong>Indifferent</strong></p><ul><li><p>Not everything you add to a product will have an impact. Indifferent features don&#8217;t affect user satisfaction one way or the other.</p></li><li><p>Examples may be flashy UI elements that users don&#8217;t care about, improving features with extremely low usage, or adding new features that do not complement your product&#8217;s purpose.</p></li></ul></li><li><p><strong>Reverse</strong></p><ul><li><p>More isn&#8217;t always better. Some users might actually dislike certain features, like too many configuration options, too complex setup, or information overload on main screens.</p></li><li><p>Understanding what not to prioritize is just as crucial as knowing what will delight your users.</p></li></ul></li></ol><h2>Apple's Application of the Kano Model</h2><p>The Kano Model is baked into Apple&#8217;s DNA. Apple&#8217;s product engineering consistently strikes a balance between meeting expectations and delivering features that wow their customers.</p><ol><li><p><strong>Must-Haves</strong></p><ul><li><p>There are three main basic needs Apple is not willing to compromise on: reliable hardware, security, and seamless integration.</p></li><li><p>Whether we are talking about design and materials, Secure Enclave, FaceID, Handoff, or AirDrop, these features are present in almost every new product, and at this point, removing any of these features would highly dissatisfy their customers.</p></li></ul></li><li><p><strong>Satisfiers</strong></p><ul><li><p>These are the features that make people feel they&#8217;re getting real value for their money (and let&#8217;s be honest, Apple products don&#8217;t come at low price tags).</p></li><li><p>Improved camera quality, higher processing speed, or longer battery life&#8212;all these performance improvements show an understanding of customer needs, and they raise the bar where it matters most.</p></li></ul></li><li><p><strong>Delighters</strong></p><ol><li><p>What sets Apple apart is the ability to introduce features that no one asked for, but now users can&#8217;t imagine living without.</p></li><li><p>Introduction of M1 chips (Apple silicon) is the perfect example of this strategy. Moving away from Intel processors gave users unprecedented power in tasks like video editing or 3D rendering and, at the same time, changed what users thought was possible in a laptop or tablet.</p></li></ol></li></ol><h2>The Arrow of Time</h2><blockquote><p>Today&#8217;s innovations eventually become tomorrow&#8217;s basic expectations. </p></blockquote><p>This concept describes how <strong>Delighters</strong> can, over time, <strong>transform into Basic Needs</strong> that customers can&#8217;t live without.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!NyjC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F936d1b36-dcd8-496e-83c8-fff0b36b78db_2480x2212.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NyjC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F936d1b36-dcd8-496e-83c8-fff0b36b78db_2480x2212.png 424w, https://substackcdn.com/image/fetch/$s_!NyjC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F936d1b36-dcd8-496e-83c8-fff0b36b78db_2480x2212.png 848w, https://substackcdn.com/image/fetch/$s_!NyjC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F936d1b36-dcd8-496e-83c8-fff0b36b78db_2480x2212.png 1272w, https://substackcdn.com/image/fetch/$s_!NyjC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F936d1b36-dcd8-496e-83c8-fff0b36b78db_2480x2212.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NyjC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F936d1b36-dcd8-496e-83c8-fff0b36b78db_2480x2212.png" width="524" height="467.49725274725273" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/936d1b36-dcd8-496e-83c8-fff0b36b78db_2480x2212.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1299,&quot;width&quot;:1456,&quot;resizeWidth&quot;:524,&quot;bytes&quot;:200737,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!NyjC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F936d1b36-dcd8-496e-83c8-fff0b36b78db_2480x2212.png 424w, https://substackcdn.com/image/fetch/$s_!NyjC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F936d1b36-dcd8-496e-83c8-fff0b36b78db_2480x2212.png 848w, https://substackcdn.com/image/fetch/$s_!NyjC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F936d1b36-dcd8-496e-83c8-fff0b36b78db_2480x2212.png 1272w, https://substackcdn.com/image/fetch/$s_!NyjC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F936d1b36-dcd8-496e-83c8-fff0b36b78db_2480x2212.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>When Face ID was first introduced with the iPhone X in 2017, it was a bold leap. Apple replaced the Touch ID fingerprint sensor with a facial recognition system that worked simply by looking at your phone.</p><p>At the time, Face ID was a Delighter&#8212;a feature no one had specifically asked for. Fast-forward a few years, and what was once an innovation is now an expectation.</p><p>This is the arrow of time in action. Users now take Face ID for granted. It&#8217;s a feature every iPhone must have to meet their baseline expectations.</p><h4>Application to Carrer Progression</h4><p>While writing this section, I remembered reading the article by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Jordan Cutler&quot;,&quot;id&quot;:58854493,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fe86d99-af64-4285-b982-9466a4c58d63_1311x1312.jpeg&quot;,&quot;uuid&quot;:&quot;3d92dfb7-7bbd-45d1-b06f-09d80be7f404&quot;}" data-component-name="MentionToDOM"></span> and <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Steve Huynh&quot;,&quot;id&quot;:171006919,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a1e274e7-73dd-4dd3-995f-5174c713ffb0_800x800.png&quot;,&quot;uuid&quot;:&quot;41ec1156-2b5f-4406-9e7a-35b07128ae39&quot;}" data-component-name="MentionToDOM"></span>: <a href="https://read.highgrowthengineer.com/p/3-mistakes-almost-cost-me-my-promotion">The 3 Big Mistakes That Almost Cost Me My Promotion (And How You Can Avoid Them)</a>. </p><p>In the article, they describe the concept of the &#8220;Promotion Donut&#8221;&#8212; Forgetting to fulfill your current responsibilities while aiming for promotion to the next level.</p><p>Forgetting about the arrow of time is exactly the same principle. If you focus only on Delighters (responsibilities of the next level) and forget to pay attention to Must-Haves (responsibilities of the current level), you are setting yourself up for failure in the long run.</p><h2>Lessons for Product Engineers</h2><p>Applying the Kano Model is about transforming your understanding of customers&#8217; needs into actionable strategies.</p><h3>&#128161; The "Why" Behind Development</h3><blockquote><p>Invest in features that contribute to and follow your vision for your product.</p></blockquote><p>One of the biggest lessons Apple offers is its commitment to product development driven by purpose. Every feature has a strong &#8220;why&#8221; behind its existence.</p><p>Let&#8217;s take their M chips as an example&#8212;the motivation wasn&#8217;t only about performance. Apple wanted better control over the user experience, which is the centerpiece of their vision, by creating a much more seamless hardware-software integration.</p><p>Therefore, identify what users expect, what will improve their experience, and what will positively surprise them:</p><ol><li><p><strong>Start with the essentials</strong>&#8212;are there features that are missing or features that frustrate users? In many cases, you already have that data, but it&#8217;s hidden in customer support tickets, product telemetry, or past surveys.</p></li><li><p>Ask yourself and your team: <em><strong>&#8220;What could make our product&#8217;s experience faster, smoother, or more intuitive?&#8221;</strong> </em>Look at the features that are heavily used. Even small improvements in those areas will increase customer satisfaction.</p></li><li><p>Dedicate (and fight for) <strong>time for experimentation and innovation</strong>. Creativity cannot be forced, and it definitely cannot expected in stressful environments and teams with low psychological safety.</p></li></ol><h3>&#127919; User-Centric Approach</h3><ul><li><p><strong>Solving Real Problems</strong>: Many companies nowadays create features for the sake of innovation. They don&#8217;t solve real issues, just create artificial hype. Just look at all the AI-powered nonsense we are bombarded with daily. There is a place for AI and its power, but it doesn&#8217;t have to be in <em>every</em> product.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!eqZ1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06ed6638-bbc8-4275-92be-5729670d2302_972x1092.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!eqZ1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06ed6638-bbc8-4275-92be-5729670d2302_972x1092.png 424w, https://substackcdn.com/image/fetch/$s_!eqZ1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06ed6638-bbc8-4275-92be-5729670d2302_972x1092.png 848w, https://substackcdn.com/image/fetch/$s_!eqZ1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06ed6638-bbc8-4275-92be-5729670d2302_972x1092.png 1272w, https://substackcdn.com/image/fetch/$s_!eqZ1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06ed6638-bbc8-4275-92be-5729670d2302_972x1092.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!eqZ1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06ed6638-bbc8-4275-92be-5729670d2302_972x1092.png" width="342" height="384.22222222222223" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/06ed6638-bbc8-4275-92be-5729670d2302_972x1092.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1092,&quot;width&quot;:972,&quot;resizeWidth&quot;:342,&quot;bytes&quot;:1088568,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!eqZ1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06ed6638-bbc8-4275-92be-5729670d2302_972x1092.png 424w, https://substackcdn.com/image/fetch/$s_!eqZ1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06ed6638-bbc8-4275-92be-5729670d2302_972x1092.png 848w, https://substackcdn.com/image/fetch/$s_!eqZ1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06ed6638-bbc8-4275-92be-5729670d2302_972x1092.png 1272w, https://substackcdn.com/image/fetch/$s_!eqZ1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06ed6638-bbc8-4275-92be-5729670d2302_972x1092.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><ul><li><p><strong>User Research and Feedback Loops</strong>: Run usability testing and surveys and keep a constant feedback loop with your target audience. Don't wait for the product to be finished before collecting input. Apple is known for keeping their innovations secret, but they still listen to feedback. For example, after the criticism of the butterfly keyboard, they redesigned and re-introduced the scissor-switch keyboard in their newer models. Ideally, in your case, it won&#8217;t take as long as it took Apple.</p></li></ul><h3>&#129517; Building Leadership Qualities</h3><p>Shipping code is not everything. Great product engineers help shape the culture around them. I&#8217;ve already written about empathy in <a href="https://newsletter.enginuity.software/p/3-lessons-for-product-requirement-documents">3 Lessons for Engineers from Well-Written Product Requirement Documents</a>, but it&#8217;s something worth re-iterating:</p><p><strong>Leading with empathy means understanding your users and your team.</strong> Creating an environment where team members feel empowered to share their insights is key to building products that actually solve problems.</p><h4>Vision-Driven Innovation </h4><p>Strong leaders can articulate a vision and purpose that go beyond the immediate sprint or release cycle. They focus on the long-term impact of what they&#8217;re building.</p><p>Don&#8217;t forget that true leadership is not a formal role granted by your work title. It&#8217;s a mindset and commitment that you have towards your profession.</p><p>It&#8217;s up to each of us to create an environment in which failure is perceived as a learning opportunity that pushes toward innovation.</p><p>We must value bold ideas and customer satisfaction over bureaucracy or rigid hierarchies. We must encourage experimentation and be willing to take risks when they&#8217;re grounded in real user needs.</p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EK5l!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EK5l!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 424w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 848w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 1272w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EK5l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png" width="354" height="95.7970401691332" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:256,&quot;width&quot;:946,&quot;resizeWidth&quot;:354,&quot;bytes&quot;:18133,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!EK5l!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 424w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 848w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 1272w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Are you looking for a space where you can learn more about software engineering, leadership, and the creator economy and network with other like-minded professionals?</p><p>With <a href="https://open.substack.com/users/156659052-dariusz-sadowski?utm_source=mentions">Dariusz Sadowski</a>, <a href="https://open.substack.com/users/141222242-micha-poczwardowski?utm_source=mentions">Micha&#322; Poczwardowski</a>, and <a href="https://open.substack.com/users/40945395-yordan-ivanov?utm_source=mentions">Yordan Ivanov &#128200;</a>, we&#8217;ve just opened the gates to a new Discord community: <strong>Engineering &amp; Leadership</strong></p><p>Be among the first members and join us for virtual meetups, Q&amp;A sessions, and events:</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://discord.gg/CDb5BRukAE&quot;,&quot;text&quot;:&quot;Join&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://discord.gg/CDb5BRukAE"><span>Join</span></a></p><div><hr></div><h3>&#128227; Top Picks</h3><ul><li><p><a href="https://read.perspectiveship.com/p/bottlenecks">Bottlenecks - Mental Model</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Micha&#322; Poczwardowski&quot;,&quot;id&quot;:141222242,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F475838ea-8fbf-473b-9678-ea792c061ede_764x784.jpeg&quot;,&quot;uuid&quot;:&quot;a4cd0552-4315-4a61-a991-97b96aaea43e&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Perspectiveship&quot;,&quot;id&quot;:2072708,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/poczwardowski&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fbae1b9e-ea9b-4925-9296-13051314b405_256x256.png&quot;,&quot;uuid&quot;:&quot;8d5642d0-c58b-4420-8999-bb05d2773b7d&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p><a href="https://newsletter.eng-leadership.com/p/growing-from-engineer-to-staff-engineer">Growing from engineer to Staff engineer and thriving</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Gregor Ojstersek&quot;,&quot;id&quot;:106098672,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1b7fdc30-d8c4-45f2-b0df-0b60baf9d4f4_1000x1000.jpeg&quot;,&quot;uuid&quot;:&quot;713935d2-7545-4811-8f13-e36bea2722b3&quot;}" data-component-name="MentionToDOM"></span> and <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Sidwyn Koh&quot;,&quot;id&quot;:321369,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7bc8b98-4c12-42ce-8720-5bb3cc6f6647_2100x2100.jpeg&quot;,&quot;uuid&quot;:&quot;6688aee6-30b3-474b-bc41-9f43cd7cd43b&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Engineering Leadership&quot;,&quot;id&quot;:1115815,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/gregorojstersek&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0845c094-23e3-40d0-86f3-d1ff19631211_317x317.png&quot;,&quot;uuid&quot;:&quot;c44a5bab-d23d-4807-9321-930d22f1fd1a&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p><a href="https://www.practicalengineering.management/p/managing-growth-and-expectations">Managing Growth and Expectations in Engineering Teams</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Mirek Stanek&quot;,&quot;id&quot;:6505300,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6ecad53-1e19-4228-9c30-7d2619e0c4ad_800x800.jpeg&quot;,&quot;uuid&quot;:&quot;e4e28b72-7e53-4df6-8f20-cc22eeb5f52c&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Practical Engineering Management&quot;,&quot;id&quot;:2158401,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/practicalengineeringmanagement&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f22d3851-836e-4bc8-b0f4-0d574c237b5d_1080x1080.png&quot;,&quot;uuid&quot;:&quot;afebec18-4702-4ce6-a681-4e525a1f4fc7&quot;}" data-component-name="MentionToDOM"></span> </p></li></ul><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Enginuity! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Are Knowledge Silos Sabotaging Your Productivity?]]></title><description><![CDATA[Practical Tips to Connect Teams and Share Knowledge]]></description><link>https://newsletter.enginuity.software/p/are-knowledge-silos-sabotaging-your</link><guid isPermaLink="false">https://newsletter.enginuity.software/p/are-knowledge-silos-sabotaging-your</guid><dc:creator><![CDATA[Samuel Kollát]]></dc:creator><pubDate>Thu, 12 Sep 2024 06:01:38 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/64480c3c-5e9e-4158-9c5a-9c206ca56552_1000x666.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hi, this is Samuel from Enginuity &#128075; This post is part of the <a href="https://newsletter.enginuity.software/t/ic-leadership">Tech Leadership track</a> and focuses on boosting engineering productivity by identifying and breaking down knowledge silos.</em></p><p><em>You can find all three tracks in the <a href="https://newsletter.enginuity.software/">main menu</a> of the Enginuity Newsletter.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.enginuity.software/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><blockquote><p>&#8220;30% of developers say knowledge silos impact their productivity ten or more times per week.&#8221; &#8212; <a href="https://survey.stackoverflow.co/2024/professional-developers#1-frequency-of-productivity-frictions">StackOverflow</a></p></blockquote><p>If your team suffers from a lack of cross-organization knowledge sharing, you are not alone. Knowledge silos are a productivity killer, frustrating developers and slowing down innovation.</p><p>But why do they happen? And more importantly, how can you prevent them from forming? </p><p>Let&#8217;s examine their root causes and practical, no-nonsense advice on preventing them and eliminating them if they&#8217;re already causing chaos.</p><h2>Why Knowledge Silos Matter?</h2><p>Knowledge silos happen when information, skills, or expertise are confined to specific individuals or teams rather than being shared across the organization. </p><p>They are often created unintentionally by incorrect processes, lack of communication, or even a sense of ownership over information.</p><p>When it happens, it becomes difficult for others to access it, leading to slower decision-making, slower collaboration, and duplication of effort. </p><p><strong>Knowledge silos are a significant productivity blocker.</strong></p><p>The <a href="https://survey.stackoverflow.co/2024/professional-developers">2024 StackOverflow Developer Survey</a> shows the real impact of knowledge silos:</p><ul><li><p><strong>45% of developers</strong> report that knowledge silos negatively impact their productivity three or more times a week.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!eosq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f2cbd0b-8c47-4b4d-b777-b322a7d00b6a_1634x326.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!eosq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f2cbd0b-8c47-4b4d-b777-b322a7d00b6a_1634x326.png 424w, https://substackcdn.com/image/fetch/$s_!eosq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f2cbd0b-8c47-4b4d-b777-b322a7d00b6a_1634x326.png 848w, https://substackcdn.com/image/fetch/$s_!eosq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f2cbd0b-8c47-4b4d-b777-b322a7d00b6a_1634x326.png 1272w, https://substackcdn.com/image/fetch/$s_!eosq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f2cbd0b-8c47-4b4d-b777-b322a7d00b6a_1634x326.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!eosq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f2cbd0b-8c47-4b4d-b777-b322a7d00b6a_1634x326.png" width="686" height="136.6346153846154" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9f2cbd0b-8c47-4b4d-b777-b322a7d00b6a_1634x326.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:290,&quot;width&quot;:1456,&quot;resizeWidth&quot;:686,&quot;bytes&quot;:68472,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!eosq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f2cbd0b-8c47-4b4d-b777-b322a7d00b6a_1634x326.png 424w, https://substackcdn.com/image/fetch/$s_!eosq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f2cbd0b-8c47-4b4d-b777-b322a7d00b6a_1634x326.png 848w, https://substackcdn.com/image/fetch/$s_!eosq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f2cbd0b-8c47-4b4d-b777-b322a7d00b6a_1634x326.png 1272w, https://substackcdn.com/image/fetch/$s_!eosq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f2cbd0b-8c47-4b4d-b777-b322a7d00b6a_1634x326.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><ul><li><p><strong>45% of developers</strong> say that these silos prevent them from getting their ideas across the organization.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hBXJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77745e5d-108d-47f0-b676-8a12fb6a1f40_2530x506.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hBXJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77745e5d-108d-47f0-b676-8a12fb6a1f40_2530x506.png 424w, https://substackcdn.com/image/fetch/$s_!hBXJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77745e5d-108d-47f0-b676-8a12fb6a1f40_2530x506.png 848w, https://substackcdn.com/image/fetch/$s_!hBXJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77745e5d-108d-47f0-b676-8a12fb6a1f40_2530x506.png 1272w, https://substackcdn.com/image/fetch/$s_!hBXJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77745e5d-108d-47f0-b676-8a12fb6a1f40_2530x506.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hBXJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77745e5d-108d-47f0-b676-8a12fb6a1f40_2530x506.png" width="686" height="137.10576923076923" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/77745e5d-108d-47f0-b676-8a12fb6a1f40_2530x506.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:291,&quot;width&quot;:1456,&quot;resizeWidth&quot;:686,&quot;bytes&quot;:256590,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!hBXJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77745e5d-108d-47f0-b676-8a12fb6a1f40_2530x506.png 424w, https://substackcdn.com/image/fetch/$s_!hBXJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77745e5d-108d-47f0-b676-8a12fb6a1f40_2530x506.png 848w, https://substackcdn.com/image/fetch/$s_!hBXJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77745e5d-108d-47f0-b676-8a12fb6a1f40_2530x506.png 1272w, https://substackcdn.com/image/fetch/$s_!hBXJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F77745e5d-108d-47f0-b676-8a12fb6a1f40_2530x506.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Think about it&#8212;almost half of your team is frustrated several times a week because they can&#8217;t find the information they need or their ideas are stuck in the same feedback loop. </p><p>Knowledge silos don't just waste time. <strong>They kill momentum</strong> and slow down creativity.</p><h2>Root Causes of Knowledge Silos</h2><h3>Organizational Structure</h3><ol><li><p><strong>Isolated Teams</strong>: When teams are too isolated or too specialized, they usually develop their own processes and their way of working. <br>This specialization can lead to <strong>&#8220;us vs. them&#8221; thinking</strong>, where teams focus more on their tasks than the organization's goals. This leads to a fragmented organization where knowledge doesn&#8217;t cross team boundaries.</p></li><li><p><strong>Information Flows Only Vertically</strong>: Many traditional organizations are hierarchical. Information flows up and down the chain of command but rarely horizontally. <br>This means knowledge is locked within departments. Employees may feel they have no voice and valuable knowledge never reaches decision-makers or other teams who could benefit from it.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kgUO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2320fe2f-d8ea-4271-ac4c-90352496f6fb_970x942.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kgUO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2320fe2f-d8ea-4271-ac4c-90352496f6fb_970x942.png 424w, https://substackcdn.com/image/fetch/$s_!kgUO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2320fe2f-d8ea-4271-ac4c-90352496f6fb_970x942.png 848w, https://substackcdn.com/image/fetch/$s_!kgUO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2320fe2f-d8ea-4271-ac4c-90352496f6fb_970x942.png 1272w, https://substackcdn.com/image/fetch/$s_!kgUO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2320fe2f-d8ea-4271-ac4c-90352496f6fb_970x942.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kgUO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2320fe2f-d8ea-4271-ac4c-90352496f6fb_970x942.png" width="382" height="370.9731958762887" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2320fe2f-d8ea-4271-ac4c-90352496f6fb_970x942.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:942,&quot;width&quot;:970,&quot;resizeWidth&quot;:382,&quot;bytes&quot;:1537880,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!kgUO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2320fe2f-d8ea-4271-ac4c-90352496f6fb_970x942.png 424w, https://substackcdn.com/image/fetch/$s_!kgUO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2320fe2f-d8ea-4271-ac4c-90352496f6fb_970x942.png 848w, https://substackcdn.com/image/fetch/$s_!kgUO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2320fe2f-d8ea-4271-ac4c-90352496f6fb_970x942.png 1272w, https://substackcdn.com/image/fetch/$s_!kgUO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2320fe2f-d8ea-4271-ac4c-90352496f6fb_970x942.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>Cultural Factors</h3><ol><li><p><strong>A Culture of Control</strong>: In some organizations, information is treated as a commodity &#8212; something that gives power to those who hold it. This is called the <strong>&#8220;information is power&#8221;</strong> mindset.<br>Teams or individuals might withhold information intentionally, believing it makes them irreplaceable and protects their status. </p></li><li><p><strong>Lack of Trust Between Teams</strong>: Teams become protective when they fear sharing knowledge will expose their weaknesses or lead to negative feedback.<br>One cause can be a highly competitive environment where departments compete against each other &#8212; for headcount, bonuses, praise&#8230; you name it. Without trust, knowledge remains confined to its original holders.</p></li></ol><h3>Lack of Tools and Processes</h3><ol><li><p><strong>Absence of Effective Knowledge-Sharing</strong>: Without dedicated platforms for sharing knowledge, information gets lost in emails, Slack discussions, or ad-hoc documents. Teams spend valuable time reinventing the wheel because they can&#8217;t access existing resources or learnings.</p></li><li><p><strong>Inadequate Onboarding</strong>: Onboarding is a time for sharing knowledge. And many companies struggle at this critical phase. When new employees don&#8217;t know where to find the information or who to ask, knowledge silos are created from day one.</p></li></ol><h2>How to Prevent Knowledge Silos</h2><p>Knowledge sharing must be a fundamental part of your company culture. This is the only <strong>proactive approach</strong> that works.</p><p>Teams should be encouraged to hold regular cross-functional meetings to discuss ongoing projects, share learnings, and openly ask questions. These can be regular meetings organized by a &#8220;virtual&#8221; horizontal group:</p><ul><li><p><strong>Guilds:</strong> A"guild" is a group formed around shared interests like frontend guild, backend guild, machine learning guild, or product design guild. These guilds meet regularly to share best practices, discuss challenges, and collaboratively solve problems. </p></li><li><p><strong>Architecture Review Sessions: </strong>These sessions open up technical decision-making to the whole organization. Everyone can participate as a passive listener to gain knowledge or as an active contributor to influence decisions. This ensures everyone has visibility and can contribute their insights.</p></li><li><p><strong>Meetups</strong>: Whether in a longer form or a lightning talk format, these sessions are open to anyone to share knowledge internally and, at the same time, offer an opportunity to gain experience in presenting to a broader audience.</p></li></ul><h3>Effective Knowledge Management</h3><p>The single must-have, non-negotiable functionality your knowledge management tool (Confluence, Notion, etc.) must support is <strong>effective searching</strong>. Luckily, with LLMs being integrated into these tools, searching is becoming more and more effective.</p><p>Even if your knowledge base is spread across multiple platforms (wikis, docs, chats, etc.), having a <strong>centralized search</strong> (tools like Glean) across all of them will tie all these sources together in one knowledge-sharing platform.</p><p>But still, two problems need to be addressed:</p><blockquote><p><em>(1) This sounds great on paper, but most of the documentation becomes obsolete quickly, and no one reads it anyway.</em></p></blockquote><h4>Minimum Viable Documentation (MVD)</h4><p>The purpose of writing documentation is not to produce a lot of text. It&#8217;s to capture the most vital knowledge about the <strong>reasoning behind crucial decisions and fundamental principles</strong> (architecture, protocols, etc.).</p><p>Minimum Viable Documentation focuses on capturing only the essential knowledge people need to perform their jobs effectively. This keeps it relevant and actionable for the whole time of its existence.</p><div><hr></div><blockquote><p><em>(2) Writing documentation is a tedious process. Where and how should I even start?</em></p></blockquote><h4>Standardized Documentation</h4><p>When everyone uses the same templates and tools for documenting their work, much of the work can be automated. </p><p>Engineers do not need to think about <em>&#8220;Where should I create the documentation?&#8221;</em> or <em>&#8220;I&#8217;m not good at writing. How and what to write?&#8221;</em>. They generate a predefined skeleton for the document, fill in the blanks, and it becomes part of the searchable shared knowledge.</p><p><strong>Architecture Decision Records (ADRs)</strong> are a great example of embedding crucial knowledge directly into the codebase with a shared format and goal.</p><p>ADR is a short document that captures:</p><ul><li><p>Problem</p></li><li><p>Important context</p></li><li><p>Alternative decisions</p></li><li><p>Chosen decision</p></li><li><p>Impact and consequences</p></li></ul><p>By keeping these records close to the source code, developers always have the information they need to understand why specific decisions were made, who are the contact persons, and what their impact is.</p><h2>How to Remove Existing Knowledge Silos</h2><p>In case knowledge silos have already formed, a strategic approach is needed to create an environment where information flows freely.</p><p>All the techniques discussed above can be used, but apart from them, it&#8217;s important to understand what has caused these silos to form and how to tackle them as soon as possible:</p><h3>Organizational Network Analysis</h3><p>ONA can help visualize communication paths and identify isolated areas. By mapping out these connections, you can find the bottlenecks and areas where knowledge is trapped.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HrIl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fc18bca-13c1-4746-9831-8d369f22df4c_2055x1275.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HrIl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fc18bca-13c1-4746-9831-8d369f22df4c_2055x1275.png 424w, https://substackcdn.com/image/fetch/$s_!HrIl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fc18bca-13c1-4746-9831-8d369f22df4c_2055x1275.png 848w, https://substackcdn.com/image/fetch/$s_!HrIl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fc18bca-13c1-4746-9831-8d369f22df4c_2055x1275.png 1272w, https://substackcdn.com/image/fetch/$s_!HrIl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fc18bca-13c1-4746-9831-8d369f22df4c_2055x1275.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HrIl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fc18bca-13c1-4746-9831-8d369f22df4c_2055x1275.png" width="566" height="351.02884615384613" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7fc18bca-13c1-4746-9831-8d369f22df4c_2055x1275.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:903,&quot;width&quot;:1456,&quot;resizeWidth&quot;:566,&quot;bytes&quot;:180272,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!HrIl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fc18bca-13c1-4746-9831-8d369f22df4c_2055x1275.png 424w, https://substackcdn.com/image/fetch/$s_!HrIl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fc18bca-13c1-4746-9831-8d369f22df4c_2055x1275.png 848w, https://substackcdn.com/image/fetch/$s_!HrIl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fc18bca-13c1-4746-9831-8d369f22df4c_2055x1275.png 1272w, https://substackcdn.com/image/fetch/$s_!HrIl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fc18bca-13c1-4746-9831-8d369f22df4c_2055x1275.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>See <a href="https://www2.deloitte.com/content/dam/Deloitte/us/Documents/human-capital/us-cons-organizational-network-analysis.pdf">this document</a> from Delloite that explains Organizational Network Analysis in detail.</p><h3>Rotating Team Members</h3><p>One of the most effective ways to break down silos is to rotate team members across different teams. Ideally, the teams or individuals that you have identified via ONA as holding the most knowledge or the ones that are the most isolated.</p><p>Benefits: </p><ul><li><p>knowledge exchange</p></li><li><p>building relationships between teams</p></li><li><p>sharing best practices in team processes</p></li><li><p>gaining a different point of view on the product</p></li></ul><p>Team members should ideally be rotated at the beginning of a new product or a feature development so rotated members get a whole end-to-end experience with the hosting team.</p><h2>Summary: Take Action</h2><p>Knowledge silos are a common and costly problem, but they are not impossible to overcome.</p><p>Don&#8217;t wait for someone else to solve this problem. Start by sharing what you know and documenting your work&#8212;improve your team&#8217;s knowledge base, host a cross-team knowledge-sharing session, or propose ADRs. When others see you taking the action, they&#8217;ll follow.</p><p>And never underestimate the power of curiosity. The more questions you ask, the more you learn and the more connections you build across your organization.</p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EK5l!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EK5l!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 424w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 848w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 1272w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EK5l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png" width="354" height="95.7970401691332" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:256,&quot;width&quot;:946,&quot;resizeWidth&quot;:354,&quot;bytes&quot;:18133,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!EK5l!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 424w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 848w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 1272w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Are you looking for a space where you can learn more about software engineering, leadership, and the creator economy and network with other like-minded professionals?</p><p>With <a href="https://open.substack.com/users/156659052-dariusz-sadowski?utm_source=mentions">Dariusz Sadowski</a>, <a href="https://open.substack.com/users/141222242-micha-poczwardowski?utm_source=mentions">Micha&#322; Poczwardowski</a>, and <a href="https://open.substack.com/users/40945395-yordan-ivanov?utm_source=mentions">Yordan Ivanov &#128200;</a>, we&#8217;ve just opened the gates to a new Discord community: <strong>Engineering &amp; Leadership</strong></p><p>Be among the first members and join us for virtual meetups, Q&amp;A sessions, and events:</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://discord.gg/CDb5BRukAE&quot;,&quot;text&quot;:&quot;Join&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://discord.gg/CDb5BRukAE"><span>Join</span></a></p><div><hr></div><h3>&#128214; More From Enginuity</h3><p>If you don't own your work from start to finish, you&#8217;re leaving value on the table. You&#8217;re missing out on the chance to truly make an impact. Learn how to incorporate end-to-end ownership into your engineering work:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;4fe7cad4-a63c-42bb-8d6b-1a1fc8de994b&quot;,&quot;caption&quot;:&quot;Hi, this is Samuel from Enginuity &#128075; This post is part of the Product Engineer track and discusses the importance of taking end-to-end ownership over your engineering work.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;md&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Why End-to-End Ownership Is Your Competitive Edge (And How to Master It)&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:131539004,&quot;name&quot;:&quot;Samuel Koll&#225;t&quot;,&quot;bio&quot;:&quot;Writing about Tech Leadership &amp; Product Engineering Mindset &#8226; Sharing insights on effective and meaningful software development &#8226; Senior-Staff Engineer @ Outreach&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f5711335-39d9-41c3-b106-0740749a1dd9_3024x3024.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2024-08-29T08:31:05.021Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/35d63c1d-fe0e-4fe6-95a6-9bbaf59db6ef_1000x666.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://newsletter.enginuity.software/p/end-to-end-ownership&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:148101037,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:12,&quot;comment_count&quot;:4,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Enginuity&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec00d977-1863-420c-950d-b023037cdde5_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><h3>&#128227; Top Picks</h3><ul><li><p><a href="https://read.highgrowthengineer.com/p/how-to-avoid-downleveling">A 3-step framework to never get down-leveled in your behavioral interviews again</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Jordan Cutler&quot;,&quot;id&quot;:58854493,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fe86d99-af64-4285-b982-9466a4c58d63_1311x1312.jpeg&quot;,&quot;uuid&quot;:&quot;da83bd81-0bbd-43c3-92a9-7f058539c286&quot;}" data-component-name="MentionToDOM"></span> and <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Prasad Rao&quot;,&quot;id&quot;:148768720,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ba9031e9-561c-4803-9f00-bfe95217ac32_400x400.jpeg&quot;,&quot;uuid&quot;:&quot;b247abea-253f-43fc-9804-88474cb08715&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;High Growth Engineer&quot;,&quot;id&quot;:1504485,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/highgrowthengineer&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d4028d22-8549-42cb-831c-e75539af15f9_1280x1280.png&quot;,&quot;uuid&quot;:&quot;94496aba-1c3e-4657-9fe1-40e66d2b52f0&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p><a href="https://zaidesanton.substack.com/p/working-with-your-pm">When your PM drives you crazy</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Anton Zaides&quot;,&quot;id&quot;:121956618,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fa87af7-7089-4977-ab32-dbcae410c190_3847x3564.jpeg&quot;,&quot;uuid&quot;:&quot;e8a85b0f-3d3c-4d7f-a9b3-ceb4a797798e&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Leading Developers&quot;,&quot;id&quot;:1804629,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/zaidesanton&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/64dbcf3a-d0db-4718-8758-a6521ac5b8bd_1250x1250.png&quot;,&quot;uuid&quot;:&quot;4c780463-d284-4c09-b5cb-42fbcea81c75&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p><a href="https://newsletter.eng-leadership.com/p/become-the-engineer-everyone-wants">Become the engineer everyone wants to work with</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Gregor Ojstersek&quot;,&quot;id&quot;:106098672,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1b7fdc30-d8c4-45f2-b0df-0b60baf9d4f4_1000x1000.jpeg&quot;,&quot;uuid&quot;:&quot;aab6a275-1e48-4fb8-9f50-10c43d07c917&quot;}" data-component-name="MentionToDOM"></span> and <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;John Crickett&quot;,&quot;id&quot;:27801024,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5216b4ab-f9a8-4803-b318-a8285e26a873_800x800.jpeg&quot;,&quot;uuid&quot;:&quot;1b5eb2c2-f159-4f6e-88fe-3d76113381e0&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Engineering Leadership&quot;,&quot;id&quot;:1115815,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/gregorojstersek&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0845c094-23e3-40d0-86f3-d1ff19631211_317x317.png&quot;,&quot;uuid&quot;:&quot;151e611a-bee4-41d8-8791-e8285ff9e73d&quot;}" data-component-name="MentionToDOM"></span> </p></li></ul><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Enginuity! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Why End-to-End Ownership Is Your Competitive Edge (And How to Master It)]]></title><description><![CDATA[Own It, or Don&#8217;t Bother]]></description><link>https://newsletter.enginuity.software/p/end-to-end-ownership</link><guid isPermaLink="false">https://newsletter.enginuity.software/p/end-to-end-ownership</guid><dc:creator><![CDATA[Samuel Kollát]]></dc:creator><pubDate>Thu, 29 Aug 2024 08:31:05 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/35d63c1d-fe0e-4fe6-95a6-9bbaf59db6ef_1000x666.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hi, this is Samuel from Enginuity &#128075; This post is part of the <a href="https://newsletter.enginuity.software/t/product-engineer">Product Engineer track</a> and discusses the importance of taking end-to-end ownership over your engineering work.</em></p><p><em>You can find all three tracks in the <a href="https://newsletter.enginuity.software/">main menu</a> of the Enginuity Newsletter.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.enginuity.software/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><p>End-to-end (E2E) ownership isn&#8217;t just another buzzword &#8212; it&#8217;s a mindset that separates those who deliver real value from those who merely show up.</p><p>When you commit to E2E ownership, you take full responsibility for every aspect of your work, from inception to delivery and beyond. </p><p>It&#8217;s about seeing the big picture, understanding how your piece fits into the puzzle, and ensuring it all comes together seamlessly.</p><p>Here&#8217;s the hard truth:</p><blockquote><p>If you don't own your work from start to finish, you&#8217;re leaving value on the table. You&#8217;re missing out on the chance to truly make an impact.</p></blockquote><h2>Outcomes: The Only Metric That Matters</h2><p>Having ownership isn't about moving tasks from <em>&#8220;ToDo&#8221;</em> to <em>&#8220;Done&#8221;</em>. It's about ensuring that the work between those points is meaningful and measurable.</p><p>Taking ownership makes you feel inherently accountable for the outcomes. It leads you to ensure that what you do moves the needle. </p><p>It&#8217;s easy to check off a list of tasks, but it&#8217;s <strong>far more challenging and rewarding</strong> to demonstrate the tangible impact of your work.</p><p>Measuring outcomes provides you with hard proof of your contribution. It&#8217;s no longer about vague statements like:</p><blockquote><p>&#10060; <em>"I worked on this feature."</em></p></blockquote><p>It&#8217;s about being able to say:</p><blockquote><p> &#9989; <em>"This feature increased user engagement by 10%."</em></p></blockquote><p>Your success is tied directly to the results, and that kind of accountability drives real progress not just for you but for the entire team.</p><h3>Replicate Success; Learn From Failure</h3><p>Owning outcomes doesn&#8217;t mean you&#8217;ll succeed 100% of the time. In fact, that&#8217;s not the goal. </p><p>The essence of E2E ownership lies in the iterative knowledge you gain through both your successes and your failures. You&#8217;re not aiming for perfection. <strong>You&#8217;re aiming for progress.</strong></p><p>Success is easy to celebrate. However, the actual value comes from understanding why something worked and how to replicate it in the future. That builds a playbook of strategies that you can apply again and again.</p><p>In the context of E2E ownership, failure isn&#8217;t a setback&#8212;<strong>it&#8217;s a step forward</strong>, an opportunity to learn. Don&#8217;t just move on from it. Dissect it. It&#8217;s a data point that helps you refine your approach and grow your understanding of what truly drives success.</p><h3>&#8220;5 Whys&#8221; Framework</h3><p>One of the most effective tools for <strong>examining root causes</strong> of outcomes is the 5 Whys framework.</p><p>It&#8217;s a straightforward but powerful method in which you ask &#8220;Why?&#8221; five times to gain deeper insights into the explored topic.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!678C!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83dd39e8-934e-4824-83b0-99f8a84a3105_1000x666.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!678C!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83dd39e8-934e-4824-83b0-99f8a84a3105_1000x666.png 424w, https://substackcdn.com/image/fetch/$s_!678C!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83dd39e8-934e-4824-83b0-99f8a84a3105_1000x666.png 848w, https://substackcdn.com/image/fetch/$s_!678C!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83dd39e8-934e-4824-83b0-99f8a84a3105_1000x666.png 1272w, https://substackcdn.com/image/fetch/$s_!678C!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83dd39e8-934e-4824-83b0-99f8a84a3105_1000x666.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!678C!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83dd39e8-934e-4824-83b0-99f8a84a3105_1000x666.png" width="480" height="319.68" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/83dd39e8-934e-4824-83b0-99f8a84a3105_1000x666.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:666,&quot;width&quot;:1000,&quot;resizeWidth&quot;:480,&quot;bytes&quot;:50497,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!678C!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83dd39e8-934e-4824-83b0-99f8a84a3105_1000x666.png 424w, https://substackcdn.com/image/fetch/$s_!678C!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83dd39e8-934e-4824-83b0-99f8a84a3105_1000x666.png 848w, https://substackcdn.com/image/fetch/$s_!678C!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83dd39e8-934e-4824-83b0-99f8a84a3105_1000x666.png 1272w, https://substackcdn.com/image/fetch/$s_!678C!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83dd39e8-934e-4824-83b0-99f8a84a3105_1000x666.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Let&#8217;s look at two examples&#8212;one for success and one for failure&#8212; to see how to use the framework in practice:</p><h4>Example 1: A New Feature Increases User Engagement</h4><p>You&#8217;ve just delivered a software feature, and it&#8217;s been a great success. The feature is driving increased user engagement, stakeholders are thrilled, and you want to understand why it was successful and how to replicate that success in future projects:</p><ol><li><p><em><strong>Why did user engagement increase after launching the new feature?</strong></em></p><ol><li><p>Because the feature addressed a specific user pain point.</p></li></ol></li><li><p><em><strong>Why did the feature address this pain point effectively?</strong></em></p><ol><li><p>Because we did thorough user research before development.</p></li></ol></li><li><p><em><strong>Why was the user research so thorough?</strong></em></p><ol><li><p>Because we allocated extra time to ensure we understood users' needs.</p></li></ol></li><li><p><em><strong>Why did we allocate more time and resources to user research?</strong></em></p><ol><li><p>Because the previous project suffered because we didn&#8217;t validate our assumptions with users.</p></li></ol></li><li><p><em><strong>Why did we change our approach from assumption-based to research-driven?</strong></em></p><ol><li><p>Because we had a retrospective that highlighted the importance of validating assumptions through user feedback.</p></li></ol></li></ol><p><strong>Learning:</strong> This feature's success was rooted in prioritizing thorough user research based on lessons learned from past failures. Allocating sufficient time and resources to user research should now become a standard practice in the development process.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/p/end-to-end-ownership?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.enginuity.software/p/end-to-end-ownership?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><h4>Example 2: A Feature Fails to Drive Expected Results</h4><p>Imagine you&#8217;ve delivered a feature that didn&#8217;t meet expectations. The feature failed to drive the anticipated results, and stakeholders are disappointed. Now, you want to dissect the failure and extract valuable lessons:</p><ol><li><p><em><strong>Why did the feature fail to drive the expected results?</strong></em></p><ol><li><p>Because users didn&#8217;t adopt the feature as anticipated.</p></li></ol></li><li><p><em><strong>Why didn&#8217;t users adopt the feature?</strong></em></p><ol><li><p>Because the feature didn&#8217;t integrate well with their existing workflows.</p></li></ol></li><li><p><em><strong>Why didn&#8217;t the feature integrate well with their workflows?</strong></em></p><ol><li><p>Because we didn&#8217;t fully understand the user workflows during the design phase.</p></li></ol></li><li><p><em><strong>Why didn&#8217;t we understand the user workflows?</strong></em></p><ol><li><p>Because we skipped the user testing phase to meet an aggressive deadline.</p></li></ol></li><li><p><em><strong>Why did we prioritize the deadline over user testing?</strong></em></p><ol><li><p>Because there was pressure from stakeholders to release quickly.</p></li></ol></li></ol><p><strong>Learning:</strong> The failure came from skipping user testing due to deadline pressure. To avoid this situation in the future, the team needs to advocate for the time to do thorough testing, even if it means pushing back on aggressive deadlines.</p><p>To extract the best learning, you need to be able to understand the whole end-to-end process to a reasonable degree. To do that, you need to balance your level of expertise across multiple disciplines.</p><h2>T-Shaped: The Shape of Success</h2><p>Being T-shaped is about having:</p><ul><li><p>The <strong>depth</strong> to solve complex problems in your field</p></li><li><p>The <strong>breadth</strong> to collaborate effectively with other teams and understand different aspects of the business.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!T1Pt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13d8c8eb-1ba2-411e-87ae-f43ab04838df_1000x500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!T1Pt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13d8c8eb-1ba2-411e-87ae-f43ab04838df_1000x500.png 424w, https://substackcdn.com/image/fetch/$s_!T1Pt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13d8c8eb-1ba2-411e-87ae-f43ab04838df_1000x500.png 848w, https://substackcdn.com/image/fetch/$s_!T1Pt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13d8c8eb-1ba2-411e-87ae-f43ab04838df_1000x500.png 1272w, https://substackcdn.com/image/fetch/$s_!T1Pt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13d8c8eb-1ba2-411e-87ae-f43ab04838df_1000x500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!T1Pt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13d8c8eb-1ba2-411e-87ae-f43ab04838df_1000x500.png" width="552" height="276" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/13d8c8eb-1ba2-411e-87ae-f43ab04838df_1000x500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:500,&quot;width&quot;:1000,&quot;resizeWidth&quot;:552,&quot;bytes&quot;:30561,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!T1Pt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13d8c8eb-1ba2-411e-87ae-f43ab04838df_1000x500.png 424w, https://substackcdn.com/image/fetch/$s_!T1Pt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13d8c8eb-1ba2-411e-87ae-f43ab04838df_1000x500.png 848w, https://substackcdn.com/image/fetch/$s_!T1Pt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13d8c8eb-1ba2-411e-87ae-f43ab04838df_1000x500.png 1272w, https://substackcdn.com/image/fetch/$s_!T1Pt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13d8c8eb-1ba2-411e-87ae-f43ab04838df_1000x500.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>To have ownership and, therefore, be T-shaped, you need to <strong>get comfortable with the uncomfortable</strong>. It includes engaging with elements that are not your primary focus: frontend, backend, infrastructure, observability, product metrics, user research, market research, sales, and more.</p><p>You shouldn't aim to become an expert in all these areas but to understand how these components interact, influence each other, and work together to deliver value to users. <strong>This builds real expertise</strong>.</p><p>Being T-shaped in this way means you are a Product Engineer&#8212;you balance technical proficiency with a deep understanding of user experience, business strategy, and the operational realities of testing, deploying, and maintaining software. </p><p>If you want to learn more about the benefits of the Product engineering mindset, see:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;bb28931f-80cb-4ee9-b0d3-5edd4fbdc59f&quot;,&quot;caption&quot;:&quot;Hi, this is Samuel from Enginuity &#128075; This post is part of the Product Engineer track and focuses on laying the foundation of the product engineering mindset.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Future-proofing Your Engineering Career: Product Engineer's Path&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:131539004,&quot;name&quot;:&quot;Samuel Koll&#225;t&quot;,&quot;bio&quot;:&quot;Writing about Tech Leadership &amp; Product Engineering Mindset &#8226; Sharing insights on effective and meaningful software development &#8226; Senior-Staff Engineer @ Outreach&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f5711335-39d9-41c3-b106-0740749a1dd9_3024x3024.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2024-06-25T05:30:44.276Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/11a33cff-b691-4317-a0c6-113f37d1b2f5_1000x666.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://newsletter.enginuity.software/p/product-engineer-path&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:145887077,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:27,&quot;comment_count&quot;:2,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Enginuity&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec00d977-1863-420c-950d-b023037cdde5_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><h2>Relationships That Pay Off</h2><p>Owning the end-to-end process means you naturally collaborate with a diverse group of people across various departments to make that delivery happen. This builds relationships that can last for a long time, even throughout your career.</p><blockquote><p>Relationships are the currency of influence.</p></blockquote><p>The more people you know and the more people who know you, the more impact you can have. When you work closely with teams across your organization, from UX designers to product managers, from customer support to operations, you&#8217;re building a network of professionals who:</p><ul><li><p>know your work</p></li><li><p>trust your judgment</p></li><li><p>see your commitment to delivering results</p></li></ul><p>When you&#8217;ve proven yourself in multiple projects across different departments, people will naturally think of you when new opportunities arise. </p><p>Whether it&#8217;s a critical initiative, a promotion, or a high-impact team, your network becomes a powerful asset. <strong>People trust you to deliver because you&#8217;ve shown that you are dependable and competent</strong>&#8212;time and time again.</p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EK5l!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EK5l!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 424w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 848w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 1272w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EK5l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png" width="354" height="95.7970401691332" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:256,&quot;width&quot;:946,&quot;resizeWidth&quot;:354,&quot;bytes&quot;:18133,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!EK5l!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 424w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 848w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 1272w, https://substackcdn.com/image/fetch/$s_!EK5l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69eda648-23b7-48b0-b300-7fc3fed96166_946x256.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Are you looking for a space where you can learn more about software engineering, leadership, and the creator economy and network with other like-minded professionals?</p><p>With <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Dariusz Sadowski&quot;,&quot;id&quot;:156659052,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0c177595-a595-40ee-99c8-26fc3977e3ae_1080x1080.png&quot;,&quot;uuid&quot;:&quot;d089c7c9-10f5-4091-9118-31955abeda85&quot;}" data-component-name="MentionToDOM"></span>, <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Micha&#322; Poczwardowski&quot;,&quot;id&quot;:141222242,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F475838ea-8fbf-473b-9678-ea792c061ede_764x784.jpeg&quot;,&quot;uuid&quot;:&quot;b18e6225-317e-4202-bbfa-c80a28aa5750&quot;}" data-component-name="MentionToDOM"></span>, and <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Yordan Ivanov &#128200;&quot;,&quot;id&quot;:40945395,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/76f52904-5428-4d97-82a5-3faa722b8d46_2234x1253.jpeg&quot;,&quot;uuid&quot;:&quot;8a0a4675-7208-49fc-84bb-a65f7b432b26&quot;}" data-component-name="MentionToDOM"></span>, we&#8217;ve just opened the gates to a new Discord community: <strong>Engineering &amp; Leadership</strong></p><p>Be among the first members and join us for Q&amp;A sessions, virtual meetups, and events:</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://discord.gg/BpCY25A2&quot;,&quot;text&quot;:&quot;Join&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://discord.gg/BpCY25A2"><span>Join</span></a></p><div><hr></div><h3>&#128214; More From Enginuity</h3><p>In the previous article, I shared a method that I use to increase my productivity and impact without increasing stress and time spent on all the tasks that need to be done:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;67c5f2aa-a1f2-4db7-8570-918651ed44d3&quot;,&quot;caption&quot;:&quot;Hi, this is Samuel from Enginuity &#128075; This post is part of the Tech Leadership track and focuses on a long-term sustainable time &amp; productivity management method.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;md&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Effective 4-Step Method for Sustainable Productivity&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:131539004,&quot;name&quot;:&quot;Samuel Koll&#225;t&quot;,&quot;bio&quot;:&quot;Writing about Tech Leadership &amp; Product Engineering Mindset &#8226; Sharing insights on effective and meaningful software development &#8226; Senior-Staff Engineer @ Outreach&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f5711335-39d9-41c3-b106-0740749a1dd9_3024x3024.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2024-08-20T05:30:10.682Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d4593e7b-9bb8-4508-8ef3-8db25a2fb494_1000x666.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://newsletter.enginuity.software/p/4-step-method-for-sustainable-productivity&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:147576101,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:9,&quot;comment_count&quot;:1,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Enginuity&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec00d977-1863-420c-950d-b023037cdde5_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><h3>&#128227; Top Picks</h3><ul><li><p><a href="https://read.highgrowthengineer.com/p/3-mistakes-almost-cost-me-my-promotion">The 3 Big Mistakes That Almost Cost Me My Promotion (And How You Can Avoid Them)</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Jordan Cutler&quot;,&quot;id&quot;:58854493,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fe86d99-af64-4285-b982-9466a4c58d63_1311x1312.jpeg&quot;,&quot;uuid&quot;:&quot;dfbb655a-079b-4f14-8ddd-689b5034f17a&quot;}" data-component-name="MentionToDOM"></span> and <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Steve Huynh&quot;,&quot;id&quot;:171006919,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a1e274e7-73dd-4dd3-995f-5174c713ffb0_800x800.png&quot;,&quot;uuid&quot;:&quot;4159236d-8d62-46b8-acee-1573e17f110f&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;High Growth Engineer&quot;,&quot;id&quot;:1504485,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/highgrowthengineer&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d4028d22-8549-42cb-831c-e75539af15f9_1280x1280.png&quot;,&quot;uuid&quot;:&quot;922f8956-e550-4272-978d-499a99faca24&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p><a href="https://www.leadership-letters.com/p/what-can-i-do-to-make-you-stay">What Can I Do to Make You Stay?</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Akash Mukherjee&quot;,&quot;id&quot;:197891722,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c0d3f94-5c6a-46e0-8d52-55bf35b104ef_2268x4032.jpeg&quot;,&quot;uuid&quot;:&quot;3d5401a2-ea96-4663-9d8a-c1dea2888ea1&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Leadership Letters&quot;,&quot;id&quot;:2262466,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/amukherjee&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f41fa4b1-3299-48e1-aea9-602ec1189b84_929x929.png&quot;,&quot;uuid&quot;:&quot;fed7f246-c401-4ab5-8cd2-b6d1a5d41949&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p><a href="https://newsletter.eng-leadership.com/p/engineers-guide-to-convincing-your">Engineer&#8217;s guide to convincing your Product Manager to prioritize technical debt</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Gregor Ojstersek&quot;,&quot;id&quot;:106098672,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1b7fdc30-d8c4-45f2-b0df-0b60baf9d4f4_1000x1000.jpeg&quot;,&quot;uuid&quot;:&quot;c92fa26d-9fe3-4086-a8d3-de1ae225250e&quot;}" data-component-name="MentionToDOM"></span> and <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Robert Ta&quot;,&quot;id&quot;:197351847,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7c04ac35-a93f-4227-9275-303a59c778b4_512x512.png&quot;,&quot;uuid&quot;:&quot;5351a745-f361-4ebb-814e-86a555c3eb5d&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Engineering Leadership&quot;,&quot;id&quot;:1115815,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/gregorojstersek&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0845c094-23e3-40d0-86f3-d1ff19631211_317x317.png&quot;,&quot;uuid&quot;:&quot;bb011fff-edeb-47ce-b407-5b2c7301d87f&quot;}" data-component-name="MentionToDOM"></span> </p></li></ul><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Enginuity! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Effective 4-Step Method for Sustainable Productivity]]></title><description><![CDATA[Achieve More with Less: A Holistic Approach to Productivity]]></description><link>https://newsletter.enginuity.software/p/4-step-method-for-sustainable-productivity</link><guid isPermaLink="false">https://newsletter.enginuity.software/p/4-step-method-for-sustainable-productivity</guid><dc:creator><![CDATA[Samuel Kollát]]></dc:creator><pubDate>Tue, 20 Aug 2024 05:30:10 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/d4593e7b-9bb8-4508-8ef3-8db25a2fb494_1000x666.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hi, this is Samuel from Enginuity &#128075; This post is part of the <a href="https://newsletter.enginuity.software/t/ic-leadership">Tech Leadership track</a> and focuses on a long-term sustainable time &amp; productivity management method.</em></p><p><em>Below, you&#8217;ll also find a FigJam template I&#8217;ve created as an accompanying resource for this post.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.enginuity.software/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><p>True productivity is about working smarter, not harder&#8212;achieving meaningful results without sacrificing well-being.</p><p>It is not about doing everything but about doing the right things in the right way.</p><p>In this article, I want to look at productivity from a sustainable perspective. Instead of focusing on how much you can do, we&#8217;ll explore how to maximize your impact.</p><p>I call this method <strong>PEAR</strong> (an acronym for its steps), and I&#8217;ve been using it for some time now. It has proven incredibly helpful, so I want to share it with you.</p><h2>Step 1: Prioritize Effectively</h2><p>Not all tasks are created equal.</p><blockquote><p>80% of your results come from just 20% of your efforts</p><p><em>&#8212; Pareto Principle</em></p></blockquote><p>A small fraction of your tasks will have a disproportionately large impact on your success.</p><p>This means that unless you effectively prioritize what you focus on, how well you execute it will not matter. Your work's impact will be sub-optimal. You&#8217;ll do more work, but you&#8217;ll not do better work.</p><p>Multiple methods exist for effective prioritization. Below, we&#8217;ll explore two that I find the most useful.</p><h3>Eisenhower Matrix</h3><p>The matrix helps you categorize tasks based on their urgency and importance.</p><p>This aligns well with the Pareto Principle by helping you focus on high-impact activities.</p><p>First, make a to-do list of all the tasks you think you should do. Try to include everything you can think of. After that, split these items into four different categories:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_ioY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F342848f9-ca7f-462a-819b-38f9f8cbcd22_1882x1200.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_ioY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F342848f9-ca7f-462a-819b-38f9f8cbcd22_1882x1200.png 424w, https://substackcdn.com/image/fetch/$s_!_ioY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F342848f9-ca7f-462a-819b-38f9f8cbcd22_1882x1200.png 848w, https://substackcdn.com/image/fetch/$s_!_ioY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F342848f9-ca7f-462a-819b-38f9f8cbcd22_1882x1200.png 1272w, https://substackcdn.com/image/fetch/$s_!_ioY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F342848f9-ca7f-462a-819b-38f9f8cbcd22_1882x1200.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_ioY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F342848f9-ca7f-462a-819b-38f9f8cbcd22_1882x1200.png" width="1456" height="928" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/342848f9-ca7f-462a-819b-38f9f8cbcd22_1882x1200.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:928,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:200374,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!_ioY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F342848f9-ca7f-462a-819b-38f9f8cbcd22_1882x1200.png 424w, https://substackcdn.com/image/fetch/$s_!_ioY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F342848f9-ca7f-462a-819b-38f9f8cbcd22_1882x1200.png 848w, https://substackcdn.com/image/fetch/$s_!_ioY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F342848f9-ca7f-462a-819b-38f9f8cbcd22_1882x1200.png 1272w, https://substackcdn.com/image/fetch/$s_!_ioY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F342848f9-ca7f-462a-819b-38f9f8cbcd22_1882x1200.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><ul><li><p><strong>Urgent and Important</strong> &#8212; Do First</p><ul><li><p>Tasks that are both urgent and critical to your goals.</p></li><li><p>Either they have upcoming deadlines or not making them would have a negative effect on you.</p></li><li><p>These are often your 20% tasks that will yield 80% of your results.</p></li></ul></li><li><p><strong>Not Urgent but Important</strong> &#8212; Schedule</p><ul><li><p>High-impact tasks that aren&#8217;t urgent but are crucial for long-term success.</p></li><li><p>These are usually connected to your mid and long-term plans</p></li></ul></li><li><p><strong>Urgent but Not Important</strong> &#8212; Delegate</p><ul><li><p>Tasks that need immediate attention but don't significantly contribute to your goals. </p></li><li><p>Even though they don&#8217;t contribute to your overall goals, they still need to be done.</p></li></ul></li><li><p><strong>Not Urgent and Not Important</strong> &#8212; Eliminate</p><ul><li><p>Tasks that don&#8217;t contribute to your productivity.</p></li><li><p>Eliminate or minimize these.</p></li></ul></li></ul><h3>ABCDE Method</h3><p>In this method, you categorize tasks into 5 different categories by ranking them by priority first. </p><p>Think about it as a sorted to-do list, allowing you to focus on the most impactful tasks first:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!6vz8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fa4c23f-0468-46ef-ad06-f1ef6ef9241b_2220x1408.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6vz8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fa4c23f-0468-46ef-ad06-f1ef6ef9241b_2220x1408.png 424w, https://substackcdn.com/image/fetch/$s_!6vz8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fa4c23f-0468-46ef-ad06-f1ef6ef9241b_2220x1408.png 848w, https://substackcdn.com/image/fetch/$s_!6vz8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fa4c23f-0468-46ef-ad06-f1ef6ef9241b_2220x1408.png 1272w, https://substackcdn.com/image/fetch/$s_!6vz8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fa4c23f-0468-46ef-ad06-f1ef6ef9241b_2220x1408.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6vz8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fa4c23f-0468-46ef-ad06-f1ef6ef9241b_2220x1408.png" width="1456" height="923" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6fa4c23f-0468-46ef-ad06-f1ef6ef9241b_2220x1408.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:923,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:272753,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!6vz8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fa4c23f-0468-46ef-ad06-f1ef6ef9241b_2220x1408.png 424w, https://substackcdn.com/image/fetch/$s_!6vz8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fa4c23f-0468-46ef-ad06-f1ef6ef9241b_2220x1408.png 848w, https://substackcdn.com/image/fetch/$s_!6vz8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fa4c23f-0468-46ef-ad06-f1ef6ef9241b_2220x1408.png 1272w, https://substackcdn.com/image/fetch/$s_!6vz8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fa4c23f-0468-46ef-ad06-f1ef6ef9241b_2220x1408.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This is the simplest form of addressing your randomly organized to-do list.</p><p>The magic is not in the method but in the <strong>time you spend thinking about </strong><em><strong>why</strong></em><strong> you need to do</strong> what you originally planned.</p><h3>Resource: FigJam Template</h3><p>As an accompanying resource to this article, I&#8217;ve prepared a FigJam template with even more prioritization methods.</p><p>It&#8217;s totally up to you which one you&#8217;ll choose. Pick one that <strong>works best for you</strong> and to which you can consistently stick:</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.figma.com/community/file/1407264825556724568&quot;,&quot;text&quot;:&quot;Go to FigJam Template&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://www.figma.com/community/file/1407264825556724568"><span>Go to FigJam Template</span></a></p><h2>Step 2: Execute with Focus</h2><p>The <strong>Law of Diminishing Returns</strong> is an economic principle that states:</p><blockquote><p>After some optimal level of capacity is reached, adding an additional factor of production will actually result in smaller increases in output</p></blockquote><p>In the context of productivity, this means that:</p><blockquote><p>The longer you work on a task without taking breaks, the less efficient and effective you become.</p></blockquote><p>Your focus decreases, your energy goes down, and the quality of your work suffers.</p><p>To combat this, the <strong>Pomodoro Technique</strong> offers a structured approach to maintaining high levels of productivity:</p><ol><li><p>Working in short, focused sessions (Pomodoros) &#8212; typically 25 minutes</p></li><li><p>After each session, take a 5-minute break. </p></li><li><p>After completing 4-5 sessions, take a longer break of 15-30 minutes.</p></li></ol><p>Regular breaks prevent mental fatigue, allowing you to return to your task with renewed energy and focus.</p><p>I use this technique both at work, while programming, and also when writing this newsletter.</p><h4>My adjustments</h4><p>I use Pomodoro breaks not just to rest but also as opportunities to step back and reflect on the task at hand. </p><p>I ask myself questions like:</p><ul><li><p><em>"Is this the best way to approach this?"</em></p></li><li><p><em>"Am I still aligned with main objectives?" </em></p></li><li><p><em>"Does it make sense as a whole?"</em></p></li></ul><p>This thinking helps me stay on track with my larger goals. Give it a try, mainly when you feel you are missing something or something is off while working on a task.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/p/4-step-method-for-sustainable-productivity?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.enginuity.software/p/4-step-method-for-sustainable-productivity?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><h3>Managing Context Switching</h3><p>Each time you switch tasks, your brain needs time to adjust to the new context, which leads to increased cognitive load and mental fatigue. </p><p>The more frequently you switch, the more time you lose to this adjustment process, making it harder to maintain focus and momentum. It can take your brain<strong> 10 minutes</strong> to adapt to the new context.</p><p>To minimize the negative effects of context switching, it&#8217;s important to plan your day so that you don&#8217;t frequently need to switch between different tasks.</p><h4>Batch Similar Tasks</h4><p>Group similar tasks together and tackle them in one block of time. </p><p>For example, if you have several emails to respond to, you can use a specific time block just for email management rather than spreading it throughout the day.</p><h4>Thematic Days or Half Days</h4><p>This strategy, also used by people like Steve Jobs or Elon Musk, involves dedicating entire days or large portions of your day to specific types of work.</p><p>For instance, mornings could be reserved for deep work, and afternoons might be set aside for creative tasks or planning. If you wear multiple hats at work, this is a great way to juggle them.</p><p>By organizing your work into themes, you stay in one mode of thinking for extended periods, reducing the cognitive load associated with switching.</p><h2>Step 3: Allocate Buffer Time</h2><blockquote><p>Work will expand to fill the time allotted for its completion.</p><p>&#8212; <em>Parkinson's Law</em></p></blockquote><p>If you give yourself too much time to complete a task, it will likely take <strong>longer than necessary</strong>. This phenomenon is common in professional and personal life &#8212;  tasks that could be completed quickly drag on because there's no urgency to finish them.</p><p>Therefore, the recommendation is to <strong>set clear and realistic deadlines</strong> for each task to prevent them from taking more time than they should. Having a target to work towards creates a sense of urgency and helps you stay focused.</p><p>But there is a problem:</p><p><em><strong>Most people are too optimistic about what they can achieve within a given time.</strong></em></p><p>This is one of the effects of a phenomenon known as Optimism bias:</p><ul><li><p>We overestimate our likelihood of experiencing positive events </p></li><li><p>We underestimate our likelihood of experiencing negative events</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fZES!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb71d5849-0e4d-449b-af63-81fe65d67c7b_1727x1006.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fZES!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb71d5849-0e4d-449b-af63-81fe65d67c7b_1727x1006.png 424w, https://substackcdn.com/image/fetch/$s_!fZES!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb71d5849-0e4d-449b-af63-81fe65d67c7b_1727x1006.png 848w, https://substackcdn.com/image/fetch/$s_!fZES!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb71d5849-0e4d-449b-af63-81fe65d67c7b_1727x1006.png 1272w, https://substackcdn.com/image/fetch/$s_!fZES!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb71d5849-0e4d-449b-af63-81fe65d67c7b_1727x1006.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fZES!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb71d5849-0e4d-449b-af63-81fe65d67c7b_1727x1006.png" width="578" height="336.6373626373626" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b71d5849-0e4d-449b-af63-81fe65d67c7b_1727x1006.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:848,&quot;width&quot;:1456,&quot;resizeWidth&quot;:578,&quot;bytes&quot;:98820,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!fZES!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb71d5849-0e4d-449b-af63-81fe65d67c7b_1727x1006.png 424w, https://substackcdn.com/image/fetch/$s_!fZES!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb71d5849-0e4d-449b-af63-81fe65d67c7b_1727x1006.png 848w, https://substackcdn.com/image/fetch/$s_!fZES!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb71d5849-0e4d-449b-af63-81fe65d67c7b_1727x1006.png 1272w, https://substackcdn.com/image/fetch/$s_!fZES!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb71d5849-0e4d-449b-af63-81fe65d67c7b_1727x1006.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>For many of us, it can go like this:</p><ol><li><p>Prioritize tasks that need to be done.</p></li><li><p>Schedule time blocks in the calendar or estimate the time needed to complete them.</p></li><li><p>We don't hit our targets because of unexpected delays, lack of energy, or interruptions.</p></li><li><p>We need to move unfinished work to the next day, piling more work on an already busy schedule.</p></li></ol><p>The result is frustration, overworking, and, if it goes on for a long time &#8212; burnout.</p><h3>Account for Unexpected Delays</h3><div class="pullquote"><p>Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.</p></div><p>This law highlights the reality that tasks often take more time than anticipated, even when you try to plan for delays.</p><ul><li><p><strong>Build Buffer Time</strong></p><ul><li><p>Deliberately add extra time to tasks or meetings to account for potential overruns.</p></li><li><p>For instance, if you estimate that a task will take two hours, allocate an additional 30 minutes to an hour as a buffer. </p></li><li><p>This way, if the task takes longer than expected, you won&#8217;t be forced to cut into the time reserved for other tasks.</p></li></ul></li><li><p><strong>Leave Extra Time Between Major Tasks</strong></p><ul><li><p>Avoid scheduling tasks or meetings back-to-back.</p></li><li><p>Leave some space between major activities to give yourself breathing room to handle anything unexpected without increasing your stress levels.</p></li></ul></li><li><p><strong>Learn to Say No</strong></p><ul><li><p>Not every task or request deserves your time. If it doesn&#8217;t, practice saying no or delegate the task to someone else.</p></li><li><p>Productivity isn&#8217;t about doing as much as possible. <strong>It&#8217;s about doing what&#8217;s most important and doing it well.</strong></p></li><li><p><span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Jordan Cutler&quot;,&quot;id&quot;:58854493,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fe86d99-af64-4285-b982-9466a4c58d63_1311x1312.jpeg&quot;,&quot;uuid&quot;:&quot;88c6fd19-34da-4a66-94b3-dcda0c88940c&quot;}" data-component-name="MentionToDOM"></span> and <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Sidwyn Koh&quot;,&quot;id&quot;:321369,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7bc8b98-4c12-42ce-8720-5bb3cc6f6647_2100x2100.jpeg&quot;,&quot;uuid&quot;:&quot;64365555-0c5c-4afd-bc29-121efcb6f633&quot;}" data-component-name="MentionToDOM"></span> recently wrote a great article on this topic with many practical tips: <a href="https://read.highgrowthengineer.com/p/how-to-say-no-and-win-back-your-time">How to say "No" and win back your time as a software engineer</a></p></li></ul></li></ul><h2>Step 4: Reduce Mental Clutter</h2><blockquote><p>People remember incomplete or interrupted tasks better than completed ones.</p><p>&#8212; <em>Zeigarnik Effect</em></p></blockquote><p>This psychological phenomenon says that <strong>unfinished tasks linger in your mind</strong>, causing distractions and making it difficult to focus on other work. </p><p>The weight of these incomplete tasks can contribute to a sense of overwhelm and mental clutter, reducing your productivity and increasing stress.</p><p>Luckily, there are ways to counteract the Zeigarnik Effect:</p><h4>Break Down Large Tasks into Smaller Ones</h4><p>One of the most effective ways to manage the stress of incomplete tasks is to break them down into smaller, more manageable parts. </p><p>Instead of having one overwhelming entity, divide it into smaller, actionable steps that can be completed more efficiently.</p><p>Completing smaller steps provides <strong>a sense of progress</strong> and reduces the mental burden of an unfinished task.</p><h4>Use Task Management Tools</h4><p>There are many tools for tracking your tasks and progress, such as Notion, Trello, Todoist, and Any.do. Even a simple paper notebook will work great.</p><p>These tools allow you to:</p><ul><li><p>&#128200; visualize your progress</p></li><li><p>&#9989; check off completed tasks</p></li><li><p>&#128204; keep an overview of what still needs to be done</p></li></ul><p>The goal is to <strong>externalize your tasks into some system</strong> so you can eliminate the need to remember every detail, which helps reduce mental clutter.</p><h4>Prioritize Task Completion</h4><p>To minimize the cognitive load of unfinished tasks, prioritize completing tasks whenever possible.</p><div class="pullquote"><p>Stop starting; start finishing! &#8212; agile thinking</p></div><p>Instead of juggling multiple incomplete tasks, focus on finishing one before moving on to the next.</p><h2>Summary</h2><p>Let&#8217;s recap the PEAR method:</p><ol><li><p><strong>Prioritize </strong>Effectively</p><ol><li><p>Use the Eisenhower matrix or ABCDE method to find 20% of tasks delivering 80% of results (Pareto Principle).</p></li></ol></li><li><p><strong>Execute</strong> with Focus</p><ol><li><p>Use the Pomodoro technique (Law of Diminishing Returns) together with thematic time blocks to keep maximal focus and avoid context switching.</p></li></ol></li><li><p><strong>Allocate</strong> Buffer Time</p><ol><li><p>Schedule realistic deadlines (Parkinson's Law) that account for unexpected delays (Hofstadter's Law) to avoid reducing your productivity and increasing stress.</p></li></ol></li><li><p><strong>Reduce</strong> Mental Clutter</p><ol><li><p>Externalize your planning with a task management tool and prioritize task completion before starting yet another workstream to eliminate mental overwhelm (Zeigarnik Effect).</p></li></ol></li></ol><p>Remember, it&#8217;s not about how great a process you have but how well you execute it. Therefore, the lighter the process, the easier it is to follow and benefit from.</p><div><hr></div><h3>&#128227; Top Picks</h3><ul><li><p><a href="https://www.leadership-letters.com/p/build-your-credibility-as-you-grow">Build Your Credibility As You Grow</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Akash Mukherjee&quot;,&quot;id&quot;:197891722,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c0d3f94-5c6a-46e0-8d52-55bf35b104ef_2268x4032.jpeg&quot;,&quot;uuid&quot;:&quot;57372037-3cfd-4679-aa07-93c0423ea025&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Leadership Letters&quot;,&quot;id&quot;:2262466,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/amukherjee&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f41fa4b1-3299-48e1-aea9-602ec1189b84_929x929.png&quot;,&quot;uuid&quot;:&quot;e08dc4f6-9c87-433a-b801-12d9397689d9&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p><a href="https://newsletter.eng-leadership.com/p/empathy-is-a-superpower-in-the-engineering">Empathy is a superpower in the engineering industry</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Gregor Ojstersek&quot;,&quot;id&quot;:106098672,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1b7fdc30-d8c4-45f2-b0df-0b60baf9d4f4_1000x1000.jpeg&quot;,&quot;uuid&quot;:&quot;c6b54719-25cf-4602-b2b2-38d5f00aadb7&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Engineering Leadership&quot;,&quot;id&quot;:1115815,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/gregorojstersek&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0845c094-23e3-40d0-86f3-d1ff19631211_317x317.png&quot;,&quot;uuid&quot;:&quot;ba132f0c-3e56-46c6-9463-6c688d435e86&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p><a href="https://levelupsoftwareengineering.substack.com/p/how-i-went-from-tech-lead-engineering">How I went from Tech Lead &#8594; Engineering Management</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Caleb Mellas&quot;,&quot;id&quot;:64096662,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ef37ce7b-b266-40d1-8515-72fc66561fdc_828x779.jpeg&quot;,&quot;uuid&quot;:&quot;e9ef3604-372f-4d3e-b650-f8af13499bde&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Level Up Software Engineering &#128640;&quot;,&quot;id&quot;:1785490,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/levelupsoftwareengineering&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ab9e4282-f361-4ed8-ac6e-48c9f0008877_1280x1280.png&quot;,&quot;uuid&quot;:&quot;dd2cf8f3-325f-4dd7-8cd7-4c3ba5df3513&quot;}" data-component-name="MentionToDOM"></span> </p></li></ul><div><hr></div><h3>&#128214; More From Enginuity</h3><p>Check my previous article, in which I discuss 3 key lessons engineers can learn from well-written Product Requirement Documents:</p><ul><li><p>&#127919; Clear Objectives</p></li><li><p>&#129309; User-Centric Focus</p></li><li><p>&#128674; Prioritization and Trade-offs</p></li></ul><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;93f4d69e-add9-4bb8-8155-71d63e3c9991&quot;,&quot;caption&quot;:&quot;Hi, this is Samuel from Enginuity &#128075; This post is part of the Product Engineer track and explores what lessons we, as software engineers, can learn from well-written PRDs.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;md&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;3 Lessons for Engineers from Well-Written Product Requirement Documents&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:131539004,&quot;name&quot;:&quot;Samuel Koll&#225;t&quot;,&quot;bio&quot;:&quot;Writing about Tech Leadership &amp; Product Engineering Mindset &#8226; Sharing insights on effective and meaningful software development &#8226; Senior-Staff Engineer @ Outreach&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f5711335-39d9-41c3-b106-0740749a1dd9_3024x3024.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2024-08-06T06:01:13.029Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/84a2b305-d79d-4be4-b4ae-d5113a0fb0bd_1000x666.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://newsletter.enginuity.software/p/3-lessons-for-product-requirement-documents&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:147098094,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:14,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Enginuity&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec00d977-1863-420c-950d-b023037cdde5_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Enginuity! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[3 Lessons for Engineers from Well-Written Product Requirement Documents]]></title><description><![CDATA[Communication, User-Centricity, and Prioritization in Software Development]]></description><link>https://newsletter.enginuity.software/p/3-lessons-for-product-requirement-documents</link><guid isPermaLink="false">https://newsletter.enginuity.software/p/3-lessons-for-product-requirement-documents</guid><dc:creator><![CDATA[Samuel Kollát]]></dc:creator><pubDate>Tue, 06 Aug 2024 06:01:13 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/84a2b305-d79d-4be4-b4ae-d5113a0fb0bd_1000x666.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hi, this is Samuel from Enginuity &#128075; This post is part of the <a href="https://newsletter.enginuity.software/t/product-engineer">Product Engineer track</a> and explores what lessons we, as software engineers, can learn from well-written PRDs.</em></p><p><em>You can find all three tracks in the <a href="https://newsletter.enginuity.software/">main menu</a> of the Enginuity Newsletter.</em></p><div><hr></div><p>As software engineers, we encounter Product Requirement Documents (PRDs) most frequently in the late stages of creation or already when they are ready to be seen by development teams.</p><p>We read through them with the intent of understanding what needs to be done and how it can be done from a tech perspective.</p><p>In this post, we&#8217;ll look at PRDs from a different point of view:</p><blockquote><ol><li><p><strong>What key principles</strong> are used in well-written PRDs that make them successful?</p></li><li><p><strong>What lesson</strong> can we learn from these principles as software engineers?</p></li><li><p><strong>How</strong> can we leverage these lessons in our day-to-day work?</p></li></ol></blockquote><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.enginuity.software/subscribe?"><span>Subscribe now</span></a></p><h2>Clear Objectives</h2><p>A well-written PRD starts with defining clear and measurable objectives. </p><p>These objectives provide a roadmap for the entire project. The aim is that every team member understands:</p><ul><li><p>the end goal </p></li><li><p>the criteria for success</p></li><li><p>the overall product vision</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!l49b!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e79a4dc-ad24-4a5e-bf4d-61d7f71a7997_1660x968.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!l49b!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e79a4dc-ad24-4a5e-bf4d-61d7f71a7997_1660x968.png 424w, https://substackcdn.com/image/fetch/$s_!l49b!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e79a4dc-ad24-4a5e-bf4d-61d7f71a7997_1660x968.png 848w, https://substackcdn.com/image/fetch/$s_!l49b!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e79a4dc-ad24-4a5e-bf4d-61d7f71a7997_1660x968.png 1272w, https://substackcdn.com/image/fetch/$s_!l49b!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e79a4dc-ad24-4a5e-bf4d-61d7f71a7997_1660x968.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!l49b!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e79a4dc-ad24-4a5e-bf4d-61d7f71a7997_1660x968.png" width="658" height="383.6826923076923" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5e79a4dc-ad24-4a5e-bf4d-61d7f71a7997_1660x968.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:849,&quot;width&quot;:1456,&quot;resizeWidth&quot;:658,&quot;bytes&quot;:192540,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!l49b!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e79a4dc-ad24-4a5e-bf4d-61d7f71a7997_1660x968.png 424w, https://substackcdn.com/image/fetch/$s_!l49b!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e79a4dc-ad24-4a5e-bf4d-61d7f71a7997_1660x968.png 848w, https://substackcdn.com/image/fetch/$s_!l49b!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e79a4dc-ad24-4a5e-bf4d-61d7f71a7997_1660x968.png 1272w, https://substackcdn.com/image/fetch/$s_!l49b!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e79a4dc-ad24-4a5e-bf4d-61d7f71a7997_1660x968.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h4>&#127919; Alignment</h4><p>Clearly defined objectives ensure all team members can align their efforts towards a common goal.</p><p>It removes ambiguity and reduces the risk of diverging paths. Two simple questions can validate every engineering or UX decision taken down the road:</p><blockquote><ol><li><p>Is this decision in alignment with the PRD&#8217;s objective?</p></li><li><p>If we do this work, will it bring us closer to achieving the objective?</p></li></ol></blockquote><p>If at least one of the answers is &#8220;no,&#8221; a different decision should be made, one that ensures the cohesiveness of the development process. </p><h4>&#128202; Measurability</h4><p>Clear objectives are measurable.</p><p>These metrics can be used to gauge whether the team is on track and, if not, make necessary adjustments as soon as possible.</p><p>You can use them at any point to assess the current state, progress, and, eventually, success.</p><p>At the same time, this approach minimizes the risk of misinterpretation and future errors.</p><h3>Lesson 1: Communicate Clear Objectives</h3><ul><li><p><strong>Communication with Management:</strong></p><ul><li><p>When communicating with management, articulate your priorities, goals, and progress clearly. </p></li><li><p>It should be apparent how your goals and the value you bring as a professional go hand-in-hand with their objectives.</p></li><li><p><span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Akash Mukherjee&quot;,&quot;id&quot;:197891722,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c0d3f94-5c6a-46e0-8d52-55bf35b104ef_2268x4032.jpeg&quot;,&quot;uuid&quot;:&quot;67142ea4-f70a-42d8-acc6-a2dbf08e907d&quot;}" data-component-name="MentionToDOM"></span> wrote a great article about how to make an impact when communicating with management in <a href="https://www.leadership-letters.com/p/how-to-impress-in-high-stakes-presentations">How to Impress in High-Stakes Presentations</a>, which nicely ties to this topic.</p></li></ul></li><li><p><strong>Communication with Other Teams:</strong> </p><ul><li><p>Clearly defined objectives make collaboration with other teams or departments, such as marketing or design, more effective.</p></li><li><p>Other teams are more willing to contribute to the project when they don&#8217;t need to exert an extra mental effort to understand the problem and how they can contribute to solving it.</p></li></ul></li><li><p><strong>Performance Reviews:</strong></p><ul><li><p>Setting clear, measurable objectives for personal and team goals helps in providing concrete evidence of achievements and areas you&#8217;ve improved. </p></li><li><p>The result is that performance evaluations are based on objective criteria rather than a subjective judgment of your superiors.</p></li></ul></li></ul><h2>User-Centric Focus</h2><p>A crucial aspect of well-written PRDs is their focus on understanding and <strong>addressing user needs</strong>.</p><p>Incorporating <strong>User personas </strong>and<strong> Use cases</strong> shifts perspective from purely technical considerations to a more user-centric approach, where the end product meets actual needs and provides an excellent user experience.</p><h4>&#129309; Empathy</h4><p>Developing empathy for users helps create more intuitive and <strong>user-friendly products</strong>. </p><p>Understanding the context in which users operate enables PMs, UX designers, and engineers to anticipate and effectively address their needs.</p><blockquote><p><strong>Use cases</strong>&#8212;Specific scenarios in which a user interacts with a product to achieve a particular goal.</p></blockquote><p>Analyzing and describing <strong>Use cases</strong> and testing the product with these use cases helps develop empathy for users.</p><p>Putting yourself in users&#8217; shoes allows you to foresee how they will interact with the product and identify potential issues or improvements.</p><p><span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;PostHog&quot;,&quot;id&quot;:69984721,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/310c0899-3074-48e4-a9d9-f7ff8f5290f4_371x371.png&quot;,&quot;uuid&quot;:&quot;319bdf33-6c73-419d-b346-d21108e62487&quot;}" data-component-name="MentionToDOM"></span> and <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Ian Vanagas&quot;,&quot;id&quot;:109694180,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56e6c63d-4e58-4af0-ad19-c3ac15c7d4fc_1026x898.webp&quot;,&quot;uuid&quot;:&quot;c3560622-d824-452f-8c75-d1732f0b1f79&quot;}" data-component-name="MentionToDOM"></span> wrote a great article about why and how to practice &#8220;dogfooding&#8221; in <a href="https://newsletter.posthog.com/p/using-your-own-product-is-a-superpower">Using your own product is a superpower</a>.</p><h4>&#9989; Relevance</h4><p>Products designed with a user-centric focus are more likely to <strong>meet market demands</strong> and succeed. </p><p>User satisfaction translates into higher adoption rates and better user retention.</p><blockquote><p><strong>User personas</strong>&#8212;Fictional characters that represent user types that might use your product in a similar way.</p></blockquote><p>Identifying <strong>User personas</strong> allows us to use real data to understand what needs the product is going to satisfy and what potential market size it&#8217;s going to address.</p><p>These personas help visualize the end users and their:</p><ul><li><p>needs</p></li><li><p>preferences</p></li><li><p>pain points</p></li></ul><p>This understanding is the core of designing features that genuinely solve user problems.</p><h3>Lesson 2: Advocate For User Needs</h3><ul><li><p><strong>Professional Growth:</strong></p><ul><li><p>Thinking about problems from the user's perspective improves your problem-solving process. The solutions for these problems are usually more innovative and effective, translating into your higher value within the team and the organization.</p></li><li><p>Engineers prioritizing user needs more easily <strong>identify opportunities</strong> for new product improvements or features. This proactive approach can position them as key contributors to the company's strategic direction. </p></li><li><p>If you haven&#8217;t yet, check my previous post on this topic:</p></li></ul></li></ul><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;ccb13ab5-7ccf-44ae-b596-424f771daec6&quot;,&quot;caption&quot;:&quot;Hi, this is Samuel from Enginuity &#128075; This post is part of the IC Leadership track and focuses on finding and seizing career opportunities as a software professional.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Career Progression For Software Engineers: How To Seize Opportunities (Part 2)&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:131539004,&quot;name&quot;:&quot;Samuel Koll&#225;t&quot;,&quot;bio&quot;:&quot;Senior-Staff Engineer @ Outreach. Unraveling core principles behind complex software engineering concepts, one article at a time.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f5711335-39d9-41c3-b106-0740749a1dd9_3024x3024.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2024-07-25T05:40:52.027Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d6cb52e8-2e03-414f-990b-394d68ac9ea8_1000x666.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://newsletter.enginuity.software/p/career-progression-for-software-engineers-part-2&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:146790440,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:23,&quot;comment_count&quot;:2,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Enginuity&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec00d977-1863-420c-950d-b023037cdde5_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><ul><li><p><strong>Influence:</strong></p><ul><li><p>Engineers who advocate for users can become leaders within their teams or product areas. They can help make decisions that prioritize user satisfaction and drive product success.</p></li><li><p>When proposing new features or changes to management, frame the discussion around user needs and benefits. <strong>It makes it more persuasive</strong>. Demonstrating user-centricity can help secure buy-in from stakeholders.</p></li><li><p>Implementing a user-centric approach in QA processes ensures that testing scenarios reflect real-world use cases, which leads to products that better meet user expectations.</p></li></ul></li></ul><h2>Prioritization and Trade-offs</h2><p>As we all know, not all features and requirements can be implemented simultaneously. Therefore, prioritizing features is a critical aspect of creating effective PRDs. </p><p>By prioritizing, we can focus on delivering the most valuable aspects first, ensuring that the product meets <strong>essential user needs</strong> and business objectives <strong>within the given constraints</strong>.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QD9i!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4124c6dc-962c-4bbe-8437-694fb2fcfebd_627x614.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QD9i!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4124c6dc-962c-4bbe-8437-694fb2fcfebd_627x614.png 424w, https://substackcdn.com/image/fetch/$s_!QD9i!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4124c6dc-962c-4bbe-8437-694fb2fcfebd_627x614.png 848w, https://substackcdn.com/image/fetch/$s_!QD9i!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4124c6dc-962c-4bbe-8437-694fb2fcfebd_627x614.png 1272w, https://substackcdn.com/image/fetch/$s_!QD9i!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4124c6dc-962c-4bbe-8437-694fb2fcfebd_627x614.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QD9i!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4124c6dc-962c-4bbe-8437-694fb2fcfebd_627x614.png" width="241" height="236.00318979266348" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4124c6dc-962c-4bbe-8437-694fb2fcfebd_627x614.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:614,&quot;width&quot;:627,&quot;resizeWidth&quot;:241,&quot;bytes&quot;:49902,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!QD9i!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4124c6dc-962c-4bbe-8437-694fb2fcfebd_627x614.png 424w, https://substackcdn.com/image/fetch/$s_!QD9i!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4124c6dc-962c-4bbe-8437-694fb2fcfebd_627x614.png 848w, https://substackcdn.com/image/fetch/$s_!QD9i!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4124c6dc-962c-4bbe-8437-694fb2fcfebd_627x614.png 1272w, https://substackcdn.com/image/fetch/$s_!QD9i!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4124c6dc-962c-4bbe-8437-694fb2fcfebd_627x614.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h4>&#9203; Value Delivery</h4><p>Prioritization ensures that the most <strong>important and impactful</strong> functionalities are developed first, providing immediate value to users and stakeholders.</p><p>Without proper prioritization, the allocated time and budget are not used effectively because people are scattered across a multitude of tasks. </p><p>That&#8217;s why all available resources should be focused on high-priority features <strong>from the beginning</strong>.</p><p>Delivering these critical features early reduces the likelihood of major setbacks later in the project because <strong>potential risks can be identified</strong> and resolved as soon as possible.</p><h4>&#9878;&#65039; Informed Decision-Making</h4><p>Effective PRDs include discussions about trade-offs.</p><p>It involves making informed choices that align with overall project goals <strong>while considering:</strong></p><ul><li><p>technical limitations (quality, NFRs, &#8230;)</p></li><li><p>resource constraints (time, money, &#8230;)</p></li><li><p>user needs (UX, feasibility, &#8230;)</p></li></ul><p>The problem is that even though some informed choices are made at the beginning of the project, as time passes, many limitations and constraints also change.</p><div class="pullquote"><p>The only constant in life is change. &#8212; Heraclitus</p></div><p>Therefore, both the PRD and the development process must adapt to these changing circumstances and requirements. </p><p>They need <strong>strategic thinking</strong>&#8212;weighing the pros and cons of different options to determine the best course of action for the project&#8217;s success.</p><h3>Lesson 3: Think Strategically</h3><ul><li><p><strong>Time Management:</strong></p><ul><li><p>Identify and focus on tasks that have the highest impact on your project or personal development. For example, tackling critical bug fixes or key features first can lead to significant improvements.</p></li><li><p>The same principle applies to professional development. When deciding which skills to develop, consider trade-offs&#8212;time investment vs. potential benefits. Focus on skills that offer the highest value and align with your <strong>long-term goals</strong>.</p></li><li><p><span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Dr Milan Milanovi&#263;&quot;,&quot;id&quot;:24455408,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/3a792453-001b-4564-9b05-3f2323b46763_1280x1124.png&quot;,&quot;uuid&quot;:&quot;74e90631-b2bb-442a-a2fe-28915b1e2d23&quot;}" data-component-name="MentionToDOM"></span> wrote an extensive article, which I highly recommend, about different frameworks that can be used for prioritization based on specific prioritization attributes: <a href="https://newsletter.techworld-with-milan.com/p/how-to-set-priorities">How to set priorities?</a></p></li></ul></li><li><p><strong>Negotiation:</strong></p><ul><li><p>In PRDs, critical functionalities are distinguished from nice-to-haves. Do the same before entering a negotiation&#8212;identify and prioritize your needs and wants. Understand which aspects are non-negotiable and where you have flexibility.</p></li><li><p>At the same time, considering the priorities of the other party aims for a <strong>win-win scenario</strong>. Understanding the needs and constraints of the other party allows you to propose solutions that satisfy both sides.</p></li></ul></li></ul><h2>Summary</h2><p>The three lessons from the well-written Product requirement documents:</p><ol><li><p>Communicate clear objectives to create alignment, measurable outcomes, and targeted focus.</p></li><li><p>Advocate for user needs to identify new opportunities and create impactful changes both in products and your career.</p></li><li><p>Think strategically by addressing the most impactful and relevant work from the beginning while keeping in mind trade-offs and constraints.</p></li></ol><div><hr></div><h3>&#128214; More From Enginuity</h3><p>In the last installment of the <a href="https://newsletter.enginuity.software/t/product-engineer">Product Engineer track</a>, I explored the foundation of the product engineering mindset and how it creates opportunities and builds a well-rounded approach to software engineering:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;ccba37b7-dd4f-41bd-9cdc-1aef34489de6&quot;,&quot;caption&quot;:&quot;Hi, this is Samuel from Enginuity &#128075; This post is part of the Product Engineer track and focuses on laying the foundation of the product engineering mindset.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Future-proofing Your Engineering Career: Product Engineer's Path&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:131539004,&quot;name&quot;:&quot;Samuel Koll&#225;t&quot;,&quot;bio&quot;:&quot;Senior-Staff Engineer @ Outreach. Unraveling core principles behind complex software engineering concepts, one article at a time.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f5711335-39d9-41c3-b106-0740749a1dd9_3024x3024.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2024-06-25T05:30:44.276Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/11a33cff-b691-4317-a0c6-113f37d1b2f5_1000x666.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://newsletter.enginuity.software/p/product-engineer-path&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:145887077,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:26,&quot;comment_count&quot;:2,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Enginuity&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec00d977-1863-420c-950d-b023037cdde5_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><h3>&#128227; Top Picks</h3><ul><li><p><a href="https://read.highgrowthengineer.com/p/home-architect-lessons-on-software-design">What a Home Designer turned Software Architect can teach you about Software Design</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Jordan Cutler&quot;,&quot;id&quot;:58854493,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fe86d99-af64-4285-b982-9466a4c58d63_1311x1312.jpeg&quot;,&quot;uuid&quot;:&quot;34ef2343-5775-4d67-9c75-40c029c27097&quot;}" data-component-name="MentionToDOM"></span> and <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Mike&quot;,&quot;id&quot;:35756860,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4fa0330c-4d94-4c0e-b012-8c678571101e_1024x1138.jpeg&quot;,&quot;uuid&quot;:&quot;81f0dc48-383a-4325-b8fa-60f92cc1c852&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;High Growth Engineer&quot;,&quot;id&quot;:1504485,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/highgrowthengineer&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d4028d22-8549-42cb-831c-e75539af15f9_1280x1280.png&quot;,&quot;uuid&quot;:&quot;aed74efc-1338-4f8b-af2d-2f25ddf7bc75&quot;}" data-component-name="MentionToDOM"></span> </p><ul><li><p>A superb collaboration exploring ways to balance uncertainty and upfront design and how to stay flexible in inevitable times when things change.</p></li></ul></li><li><p><a href="https://newsletter.eng-leadership.com/p/how-to-propose-an-impactful-improvement">How to propose an impactful improvement to the codebase and own the implementation</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Gregor Ojstersek&quot;,&quot;id&quot;:106098672,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1b7fdc30-d8c4-45f2-b0df-0b60baf9d4f4_1000x1000.jpeg&quot;,&quot;uuid&quot;:&quot;57fd2332-fa4c-4f22-9454-ef10d8566a5e&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Engineering Leadership&quot;,&quot;id&quot;:1115815,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/gregorojstersek&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0845c094-23e3-40d0-86f3-d1ff19631211_317x317.png&quot;,&quot;uuid&quot;:&quot;104ef2ff-8f20-4a3b-b6b6-51088a8f62a9&quot;}" data-component-name="MentionToDOM"></span> </p><ul><li><p>Great tips on finding and proposing changes and improvements that not only have an impact on the codebase and product but also on one&#8217;s career development.</p></li></ul></li></ul><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Enginuity! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Career Progression For Software Engineers: How To Seize Opportunities (Part 2)]]></title><description><![CDATA[Tips On Seeking Opportunities, Having Agency, And Managing Career Risk]]></description><link>https://newsletter.enginuity.software/p/career-progression-for-software-engineers-part-2</link><guid isPermaLink="false">https://newsletter.enginuity.software/p/career-progression-for-software-engineers-part-2</guid><dc:creator><![CDATA[Samuel Kollát]]></dc:creator><pubDate>Thu, 25 Jul 2024 05:40:52 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/d6cb52e8-2e03-414f-990b-394d68ac9ea8_1000x666.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hi, this is Samuel from Enginuity &#128075; This post is part of the <a href="https://newsletter.enginuity.software/t/ic-leadership">IC Leadership track</a> and focuses on finding and seizing career opportunities as a software professional.</em></p><p><em>You can find all three tracks in the <a href="https://newsletter.enginuity.software/">main menu</a> of the Enginuity Newsletter.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.enginuity.software/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><p>Your career progression requires not only hard work but also the strategic seizing of opportunities that align with your long-term goals.</p><p>In this post, you will learn how to effectively identify and capitalize on these opportunities.</p><p>I will share 8 tips that have significantly helped me in my career. </p><p>Following these tips, we&#8217;ll look at two crucial concepts every software engineer should internalize: <strong>having agency</strong> in one&#8217;s career and effective <strong>risk management</strong>.</p><p>This post is the second in the series focusing on career progression. If you haven&#8217;t yet read the first one, start here:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;85b837f7-4377-4ea9-883d-27b50792c6be&quot;,&quot;caption&quot;:&quot;Hi, this is Samuel from Enginuity &#128075; This post is part of the IC Leadership track and focuses on career goals and progression for software professionals. You can find all three tracks in the main menu of the Enginuity Newsletter.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Career Progression For Software Engineers: How To Own Your Success (Part 1)&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:131539004,&quot;name&quot;:&quot;Samuel Koll&#225;t&quot;,&quot;bio&quot;:&quot;Senior-Staff Engineer @ Outreach. Unraveling core principles behind complex software engineering concepts, one article at a time.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f5711335-39d9-41c3-b106-0740749a1dd9_3024x3024.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2024-07-16T05:00:59.549Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/06495822-fd06-458a-91b7-aa9643727cc0_1000x666.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://newsletter.enginuity.software/p/career-progression-for-software-engineers-part-1&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:146545420,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:8,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Enginuity&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec00d977-1863-420c-950d-b023037cdde5_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><h3>&#129522; Taking on Challenging Projects</h3><p>Challenging projects allow you to showcase your skills and your ability to take on responsibilities.</p><p>They <strong>increase your visibility</strong> and demonstrate your value within your company. </p><p>The more positive momentum you build, the easier it will be for you to participate in high-visibility projects in the future.</p><h4>1&#65039;&#8419; Express your interest</h4><p>It all starts with expressing your interest in taking on more challenging projects.</p><p>Leverage your regular 1-on-1 meetings. One of the main topics in these meetings should be <strong>your career growth</strong> (not project status updates, which is often the case).</p><p>Discuss your current skills and past experiences and how they can be leveraged in future intra or cross-team projects.</p><h4>2&#65039;&#8419; Propose solutions</h4><p>Identify gaps or problems in current projects and propose solutions. Having such initiatives can open opportunities to lead or participate in these projects. For example: </p><blockquote><p>Are customers always complaining about the low performance of your product? </p></blockquote><p>Then, not only solve the performance problem but <strong>identify a way to proactively monitor</strong> performance&#8212;ideally in a way that will benefit multiple teams or the whole platform.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!B-_8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a96d812-b5da-448c-b2d1-fdf2af495139_971x577.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!B-_8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a96d812-b5da-448c-b2d1-fdf2af495139_971x577.png 424w, https://substackcdn.com/image/fetch/$s_!B-_8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a96d812-b5da-448c-b2d1-fdf2af495139_971x577.png 848w, https://substackcdn.com/image/fetch/$s_!B-_8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a96d812-b5da-448c-b2d1-fdf2af495139_971x577.png 1272w, https://substackcdn.com/image/fetch/$s_!B-_8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a96d812-b5da-448c-b2d1-fdf2af495139_971x577.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!B-_8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a96d812-b5da-448c-b2d1-fdf2af495139_971x577.png" width="390" height="231.75077239958804" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6a96d812-b5da-448c-b2d1-fdf2af495139_971x577.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:577,&quot;width&quot;:971,&quot;resizeWidth&quot;:390,&quot;bytes&quot;:52071,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!B-_8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a96d812-b5da-448c-b2d1-fdf2af495139_971x577.png 424w, https://substackcdn.com/image/fetch/$s_!B-_8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a96d812-b5da-448c-b2d1-fdf2af495139_971x577.png 848w, https://substackcdn.com/image/fetch/$s_!B-_8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a96d812-b5da-448c-b2d1-fdf2af495139_971x577.png 1272w, https://substackcdn.com/image/fetch/$s_!B-_8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a96d812-b5da-448c-b2d1-fdf2af495139_971x577.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h3>Participating in Cross-Team Projects</h3><p>Cross-team initiatives offer a unique opportunity to learn from different departments and expand your skill set.</p><p>They also <strong>help you build a network across the organization</strong>, increasing your influence and visibility.</p><h4>3&#65039;&#8419; Be a champion for your team</h4><p>Look for projects, guilds, champion programs, or committees that involve multiple teams, and volunteer to represent your team. </p><p>This shows you are willing to collaborate and contribute beyond your immediate role. Examples:</p><ul><li><p>&#9989; a security champion representing your team</p></li><li><p>&#9989; an active member of a frontend guild</p></li><li><p>&#9989; a member of a committee for the software engineering hiring process </p></li></ul><p>Use the tip n.1 to discuss it with your manager. I&#8217;ve never met a manager who would be unhappy because their subordinate is showing initiative and drive.</p><h4>4&#65039;&#8419; Be active in internal chats</h4><p>Leverage any internal platforms, such as Slack or Microsoft Teams, or meetings where cross-team initiatives are discussed to express your interest and availability.</p><p>Sharing your knowledge and participating in discussions can build your internal brand. It&#8217;s one of the best ways <strong>to get noticed </strong>outside of your current team or project, and the best thing is that it does not take much time.</p><h4><strong>5&#65039;&#8419;</strong> Showcase your contributions</h4><p>Document your contributions to projects. It helps you showcase your impact and value to the organization.</p><p>One of the simplest ways to start is to keep a running document with your accomplishments. <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Jordan Cutler&quot;,&quot;id&quot;:58854493,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fe86d99-af64-4285-b982-9466a4c58d63_1311x1312.jpeg&quot;,&quot;uuid&quot;:&quot;ba15ffe1-3cc9-4efc-9a18-68ca3ac333a1&quot;}" data-component-name="MentionToDOM"></span> recently wrote the article <a href="https://read.highgrowthengineer.com/p/managing-up-realizations">Managing up: 3 things I wish I realized sooner</a>, which describes his process of removing uncertainty by documenting weekly plans and achievements.</p><p>At the same time, someone other than your direct manager might be one to decide whether you will participate in the new projects. It might be agreed at higher levels, and having a portfolio of your work, including goals, contributions, and outcomes, can come in handy.</p><h3>Building Relationships</h3><p>Building relationships with colleagues from other departments can often lead to being invited to join cross-functional projects. </p><p>As with anything in this world, your skills also need to be &#8220;marketed&#8221;.</p><p>And the best way to do it?</p><h4>6&#65039;&#8419; Help others</h4><p>There are many opportunities to help other colleagues every day. Go beyond what is required. </p><ul><li><p>When solving a customer issue, offer help to customer support folks or customer success managers</p></li><li><p>When collaborating with product managers, offer ways how to collect or connect customer data for making better data-driven decisions</p></li><li><p>When someone asks for knowledge-sharing, think about who else can benefit from it and schedule a knowledge-sharing meeting or at least record and share it</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!w3kE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa47d92e-ed84-4027-a705-2b6cd1feb14f_1071x981.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!w3kE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa47d92e-ed84-4027-a705-2b6cd1feb14f_1071x981.png 424w, https://substackcdn.com/image/fetch/$s_!w3kE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa47d92e-ed84-4027-a705-2b6cd1feb14f_1071x981.png 848w, https://substackcdn.com/image/fetch/$s_!w3kE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa47d92e-ed84-4027-a705-2b6cd1feb14f_1071x981.png 1272w, https://substackcdn.com/image/fetch/$s_!w3kE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa47d92e-ed84-4027-a705-2b6cd1feb14f_1071x981.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!w3kE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa47d92e-ed84-4027-a705-2b6cd1feb14f_1071x981.png" width="354" height="324.25210084033614" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/aa47d92e-ed84-4027-a705-2b6cd1feb14f_1071x981.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:981,&quot;width&quot;:1071,&quot;resizeWidth&quot;:354,&quot;bytes&quot;:87862,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!w3kE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa47d92e-ed84-4027-a705-2b6cd1feb14f_1071x981.png 424w, https://substackcdn.com/image/fetch/$s_!w3kE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa47d92e-ed84-4027-a705-2b6cd1feb14f_1071x981.png 848w, https://substackcdn.com/image/fetch/$s_!w3kE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa47d92e-ed84-4027-a705-2b6cd1feb14f_1071x981.png 1272w, https://substackcdn.com/image/fetch/$s_!w3kE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa47d92e-ed84-4027-a705-2b6cd1feb14f_1071x981.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h4>7&#65039;&#8419; Connect</h4><p>Seek out coffee chats or lunch meetings with colleagues you don&#8217;t usually interact with.</p><p>Unlike other tips, you don&#8217;t need to be strategic about it. Do it for the sake of getting to know your colleagues better.</p><p>Use these opportunities to learn about their work and the problems they face in their current projects and discuss common interests.</p><h4>8&#65039;&#8419; Find a Mentor</h4><p>Look for mentors within or outside your organization who have followed a career path similar to the one you want. </p><p><span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Hemant Pandey&quot;,&quot;id&quot;:58770480,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5d8aef1-0399-40a0-9537-5615ca0fe8d4_1166x1167.jpeg&quot;,&quot;uuid&quot;:&quot;ea2457e9-092a-4e24-9868-9f60278515c2&quot;}" data-component-name="MentionToDOM"></span> recently wrote a post that gave great advice about how to pick a relevant mentor: <a href="https://thehustlingengineer.substack.com/p/know-who-to-take-advice-from">Know Who to Take Advice From</a></p><p>Approach them with <strong>specific questions</strong> or areas where you need advice. </p><p>A mentor can provide valuable advice, share their experiences, and offer insights to help you avoid common pitfalls.</p><h3>&#127993; Having Agency in One&#8217;s Career</h3><p>Having agency means:</p><blockquote><p>&#9989;  taking control of your career</p><p>&#9989;  being proactive</p><p>&#9989;  making intentional decisions</p><p>&#9989; recognizing that you have the power to influence the outcomes</p></blockquote><p>It&#8217;s about recognizing that <strong>you are the primary driver</strong> of your success and that your actions, choices, and efforts directly influence it.</p><ul><li><p><strong>Self-Belief</strong>: </p><ul><li><p>You have the ability to influence your career trajectory. Recognize your strengths, talents, and the unique value you bring to your organization.</p></li><li><p>Reflect on past achievements and how your actions contributed to those successes. </p></li></ul></li><li><p><strong>Ownership</strong>: </p><ul><li><p>Taking ownership of your career development means setting your goals, seeking opportunities for growth, and being accountable for your progress.</p></li></ul></li></ul><p>Having agency means accepting responsibility for your choices and actions. It means <strong>making decisions and being accountable for the outcomes</strong>.</p><h3>&#9878;&#65039; Risk Management</h3><p>Taking on new opportunities is stepping into the unknown, and therefore, it naturally involves a certain level of risk.</p><p>The goal is to keep the risk level in a manageable range.</p><p>The first step to do so is assessing what can go wrong in three main areas:</p><ul><li><p><strong>Project-Specific</strong>: Risks related to the specific project or opportunity, such as technical challenges, resource limitations, people already involved, or tight deadlines.</p></li><li><p><strong>Personal</strong>: Even though some projects might look good on paper, getting involved in them might impact your work-life balance because of extra workload or your long-term goals because the project would require you to put them on hold for the time being.</p></li><li><p><strong>Organizational</strong>: There are opportunities that might affect your standing within the company or your relationships with your colleagues. Even though a project promises, for example, to revolutionize the tech stack within the company, it can backfire if there is not the right time and circumstances to do so.</p></li></ul><p>The main point is not to go to a new project mindlessly. Think about possible red flags and their probability. </p><p>When it comes to identifying opportunities for career growth, you don&#8217;t want to grab the first shiny thing that comes your way; <strong>you want to be strategic about it</strong>.</p><h3>Summary</h3><p>I hope you&#8217;ve found some inspiration in this post. </p><p>Fully taking responsibility for your career decisions and outcomes can feel scary in the beginning, but the alternative of aimless floating and not fulfilling your potential should be even scarier.</p><p>The first step in building a great plan is understanding that you have agency in your career. The rest then starts falling into place.</p><p>Before you go, I&#8217;d appreciate if you could leave feedback so I can create content that is valuable for you:</p><div class="poll-embed" data-attrs="{&quot;id&quot;:196506}" data-component-name="PollToDOM"></div><div><hr></div><h3>&#128227; Top Picks</h3><ul><li><p><a href="https://zaidesanton.substack.com/p/10-common-ways-engineering-managers">10 common ways engineering managers get stuck</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Anton Zaides&quot;,&quot;id&quot;:121956618,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fa87af7-7089-4977-ab32-dbcae410c190_3847x3564.jpeg&quot;,&quot;uuid&quot;:&quot;76a4f4d2-b025-46a3-8a77-c138c73cea1b&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Leading Developers&quot;,&quot;id&quot;:1804629,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/zaidesanton&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/64dbcf3a-d0db-4718-8758-a6521ac5b8bd_1250x1250.png&quot;,&quot;uuid&quot;:&quot;47196871-3498-4eeb-8086-1c0d1d38704f&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p><a href="https://newsletter.eng-leadership.com/p/how-to-build-good-relationships-inside">How to build good relationships inside and outside your engineering team</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Gregor Ojstersek&quot;,&quot;id&quot;:106098672,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1b7fdc30-d8c4-45f2-b0df-0b60baf9d4f4_1000x1000.jpeg&quot;,&quot;uuid&quot;:&quot;30f74dde-fb0c-4f2f-8865-9264fe5b0a7f&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Engineering Leadership&quot;,&quot;id&quot;:1115815,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/gregorojstersek&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0845c094-23e3-40d0-86f3-d1ff19631211_317x317.png&quot;,&quot;uuid&quot;:&quot;8027f282-45ca-41da-b1e1-9d2789bc5e12&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p><a href="https://www.leadership-letters.com/p/are-you-getting-the-most-out-of-people">Are You Getting the Most Out of People</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Akash Mukherjee&quot;,&quot;id&quot;:197891722,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c0d3f94-5c6a-46e0-8d52-55bf35b104ef_2268x4032.jpeg&quot;,&quot;uuid&quot;:&quot;3a0639cc-a915-45f5-a806-ddca124ef10a&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Leadership Letters&quot;,&quot;id&quot;:2262466,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/amukherjee&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f41fa4b1-3299-48e1-aea9-602ec1189b84_929x929.png&quot;,&quot;uuid&quot;:&quot;f5fdaaef-9626-422c-aa06-4e0e739790b9&quot;}" data-component-name="MentionToDOM"></span> </p></li></ul><div><hr></div><h3>&#128214; More From Enginuity</h3><p>In the last post in the <a href="https://newsletter.enginuity.software/t/product-engineer">Product Engineer track</a>, I looked into how going beyond a traditional software engineering mindset and expanding it with a product mindset can elevate your career:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;90a9684c-c651-4531-822d-086289b1008f&quot;,&quot;caption&quot;:&quot;Hi, this is Samuel from Enginuity &#128075; This post is part of the Product Engineer track and focuses on laying the foundation of the product engineering mindset. You can find all three tracks in the main menu of the Enginuity Newsletter.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;md&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Future-proofing Your Engineering Career: Product Engineer's Path&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:131539004,&quot;name&quot;:&quot;Samuel Koll&#225;t&quot;,&quot;bio&quot;:&quot;Senior-Staff Engineer @ Outreach. Unraveling core principles behind complex software engineering concepts, one article at a time.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f5711335-39d9-41c3-b106-0740749a1dd9_3024x3024.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2024-06-25T05:30:44.276Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/11a33cff-b691-4317-a0c6-113f37d1b2f5_1000x666.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://newsletter.enginuity.software/p/product-engineer-path&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:145887077,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:25,&quot;comment_count&quot;:2,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Enginuity&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec00d977-1863-420c-950d-b023037cdde5_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Enginuity! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Career Progression For Software Engineers: How To Own Your Success (Part 1)]]></title><description><![CDATA[Value-Based Career Goals & Tips For Long And Short-Term Goal Setting]]></description><link>https://newsletter.enginuity.software/p/career-progression-for-software-engineers-part-1</link><guid isPermaLink="false">https://newsletter.enginuity.software/p/career-progression-for-software-engineers-part-1</guid><dc:creator><![CDATA[Samuel Kollát]]></dc:creator><pubDate>Tue, 16 Jul 2024 05:00:59 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/06495822-fd06-458a-91b7-aa9643727cc0_1000x666.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hi, this is Samuel from Enginuity &#128075; This post is part of the <a href="https://newsletter.enginuity.software/t/ic-leadership">IC Leadership track</a> and focuses on career goals and progression for software professionals.</em></p><p><em>You can find all three tracks in the <a href="https://newsletter.enginuity.software/">main menu</a> of the Enginuity Newsletter.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.enginuity.software/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><p>There are two types of software engineers&#8212;<strong>those who plan</strong> their professional growth and <strong>those who are surprised</strong> every year why they haven&#8217;t been promoted yet, why they are overlooked, and why no one recognizes their contributions.</p><p>This post is for both types. </p><p>For those who are already proactive about their career, I want to provide practical tips for fine-tuning your plans and goals.</p><p>For those who want to start planning their growth, I want to provide clear steps on where to start.</p><blockquote><p>Aim for career security, not job security. &#8212;<em> <a href="https://youtu.be/VpPPHDxR9aM?t=2473">Gergely Orosz</a></em></p></blockquote><h3>Understand What You Want to Achieve in Your Career</h3><p>Navigating your career progression begins with understanding your personal and professional goals. </p><p>Start by asking yourself:</p><ul><li><p>Which aspects of my current role do I enjoy the most?</p></li><li><p>Which aspects of my current role do I dislike?</p></li><li><p>What skills and experiences do I want to develop further?</p></li><li><p>Does my current job allow me to grow in a way I need?</p></li><li><p>How do my personal values influence my career decisions?</p></li><li><p>Where do I see myself in the next 2 to 5 years?</p></li></ul><div class="pullquote"><p><em>&#8220;If a man knows not to which port he sails, no wind is favorable.&#8221; </em></p><p>&#8212;<em> Seneca the Younger</em></p></div><p>It&#8217;s ok not to have answers to these questions immediately. The important thing is that you <strong>start thinking about them</strong>.</p><p>This process helps you gain clarity about what drives you and what you aspire to achieve.</p><p>It&#8217;s essential to look beyond the day-to-day tasks and consider the broader impact you want to make. The direction you&#8217;ll set for yourself should be both fulfilling and strategically sound.</p><h4>&#129716; Align Your Career Goals with Personal Values and Interests</h4><p>When your professional path reflects who you are and what you stand for, you&#8217;re more likely to stay engaged and resilient, even during challenging times.</p><p><strong>The goal is to cultivate a sense of purpose.</strong></p><p>Examples:</p><ul><li><p><strong>Values</strong>: </p><ul><li><p>If you value innovation, engage with projects that require creative problem-solving and pioneering new technologies. </p></li><li><p>If collaboration is important, find opportunities to work in team-centric environments.</p></li><li><p>If you value independence, build a side project that can, with a bit of luck, start your entrepreneurship career.</p></li></ul></li><li><p><strong>Interests</strong>: </p><ul><li><p>If you have a passion for data analysis, extend your expertise in data science. </p></li><li><p>If mentoring others excites you, look for roles and projects where you can coach and guide more junior colleagues.</p></li><li><p>If you are interested in UX, engage with a UX design group in your organization.</p></li></ul></li></ul><p>A Japanese concept called Ikigai (translated as &#8220;a reason for being&#8221;) refers exactly to this. It describes a set of circumstances that give a person a sense of purpose:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!czsH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab527cbb-66ff-4e28-a512-30fd31f1e1f5_940x887.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!czsH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab527cbb-66ff-4e28-a512-30fd31f1e1f5_940x887.png 424w, https://substackcdn.com/image/fetch/$s_!czsH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab527cbb-66ff-4e28-a512-30fd31f1e1f5_940x887.png 848w, https://substackcdn.com/image/fetch/$s_!czsH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab527cbb-66ff-4e28-a512-30fd31f1e1f5_940x887.png 1272w, https://substackcdn.com/image/fetch/$s_!czsH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab527cbb-66ff-4e28-a512-30fd31f1e1f5_940x887.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!czsH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab527cbb-66ff-4e28-a512-30fd31f1e1f5_940x887.png" width="336" height="317.0553191489362" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ab527cbb-66ff-4e28-a512-30fd31f1e1f5_940x887.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:887,&quot;width&quot;:940,&quot;resizeWidth&quot;:336,&quot;bytes&quot;:85792,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!czsH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab527cbb-66ff-4e28-a512-30fd31f1e1f5_940x887.png 424w, https://substackcdn.com/image/fetch/$s_!czsH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab527cbb-66ff-4e28-a512-30fd31f1e1f5_940x887.png 848w, https://substackcdn.com/image/fetch/$s_!czsH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab527cbb-66ff-4e28-a512-30fd31f1e1f5_940x887.png 1272w, https://substackcdn.com/image/fetch/$s_!czsH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab527cbb-66ff-4e28-a512-30fd31f1e1f5_940x887.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h4>&#127919; Define Success for Yourself</h4><p>Success is not a one-size-fits-all concept. Your definition of success might differ from that of your peers. </p><p><strong>And that&#8217;s perfectly okay.</strong></p><p>Not everyone needs to be a manager, a C-level executive, or an &#8220;ivory tower&#8221; architect.</p><p>Here are some success markers for ICs that you can use to construct your definition of success. It&#8217;s not an exhaustive list, but it should give you enough inspiration:</p><ul><li><p><strong>Technical Mastery</strong>: Becoming a go-to expert in a specific technology or domain, continuously expanding your knowledge and skills. This might be needed more than ever in the age of AI, as LLMs are great for surface-level tasks, but connecting dots to unlock deeper-level insight is not their strong suit.</p></li><li><p><strong>Business Impact</strong>: Leading significant projects that drive meaningful change within your organization or industry. It shows your ability to solve complex challenges and provides satisfaction from helping users solve their pain points.</p></li><li><p><strong>Recognition</strong>: Gaining acknowledgment from colleagues or fellow professionals validating your contributions and expertise. It can be through publications, speaking, courses, etc. </p></li><li><p><strong>Innovation</strong>: Creating patents, developing new tools or technologies, contributing to open source&#8212;making a dent in your field, and demonstrating your forward-thinking capabilities can be worthy goals.</p></li><li><p><strong>Mentorship</strong>: It can be deeply satisfying to play a role in mentoring and developing others. Contributing to the growth and success of your peers can be the whole purpose of your professional and personal life.</p></li></ul><h3>Self-Assessment As a Guide</h3><p>Self-assessment is critical. It involves a deep and honest <strong>evaluation of your skills, experiences, and aspirations</strong>.</p><p>By taking the time to reflect on these, you will gain clarity on your career direction and be able to make informed decisions about the future.</p><p>The goal is to understand:</p><ul><li><p>what you have achieved</p></li><li><p>what you need to work on </p></li><li><p>gaps in your skills or knowledge</p></li><li><p>opportunities for growth</p></li></ul><h4>Identifying Strengths, Weaknesses, and Opportunities</h4><p>A thorough self-assessment involves identifying your strengths, weaknesses, and opportunities for growth:</p><ul><li><p><strong>&#128170; Strengths:</strong> List your core competencies and areas where you excel. It will allow you to leverage them in your career planning and seek roles that capitalize on what you do best. These could include:</p><ul><li><p>technical skills</p></li><li><p>problem-solving abilities</p></li><li><p>leadership qualities</p></li><li><p>education in other fields that can be relevant (marketing, sales, &#8230;)</p></li><li><p>unique experiences that set you apart</p></li></ul></li><li><p><strong>&#9875; Weaknesses:</strong> Acknowledge areas where you need improvement. It&#8217;s not about self-criticism but rather about recognizing areas for development and planning how to address them. This might involve:</p><ul><li><p>technical skills you're less confident in</p></li><li><p>soft skills like communication or teamwork</p></li><li><p>lack of self-confidence</p></li><li><p>time management</p></li><li><p>experiences you lack</p></li></ul></li><li><p><strong>&#128640; Opportunities:</strong> Brainstorm about opportunities inside or outside your organization that align with your strengths and career goals. You need to <strong>proactively</strong> seek them out and position yourself for growth. These could be:</p><ul><li><p>new projects in your organization</p></li><li><p>creating a side project (open source, micro-startup, &#8230;)</p></li><li><p>learning emerging technologies</p></li><li><p>professional development programs</p></li><li><p>networking opportunities</p></li><li><p>courses to address areas you want to improve</p></li></ul></li></ul><p>Below is a shortened example of such analysis for an IC data science engineer with aspirations to learn more about artificial intelligence and become a tech lead:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ybjh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fade414d0-5f55-4aff-acab-5da1972c38f1_1869x725.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ybjh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fade414d0-5f55-4aff-acab-5da1972c38f1_1869x725.png 424w, https://substackcdn.com/image/fetch/$s_!ybjh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fade414d0-5f55-4aff-acab-5da1972c38f1_1869x725.png 848w, https://substackcdn.com/image/fetch/$s_!ybjh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fade414d0-5f55-4aff-acab-5da1972c38f1_1869x725.png 1272w, https://substackcdn.com/image/fetch/$s_!ybjh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fade414d0-5f55-4aff-acab-5da1972c38f1_1869x725.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ybjh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fade414d0-5f55-4aff-acab-5da1972c38f1_1869x725.png" width="1456" height="565" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ade414d0-5f55-4aff-acab-5da1972c38f1_1869x725.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:565,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:183426,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ybjh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fade414d0-5f55-4aff-acab-5da1972c38f1_1869x725.png 424w, https://substackcdn.com/image/fetch/$s_!ybjh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fade414d0-5f55-4aff-acab-5da1972c38f1_1869x725.png 848w, https://substackcdn.com/image/fetch/$s_!ybjh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fade414d0-5f55-4aff-acab-5da1972c38f1_1869x725.png 1272w, https://substackcdn.com/image/fetch/$s_!ybjh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fade414d0-5f55-4aff-acab-5da1972c38f1_1869x725.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>Setting SMART Career Goals</h3><p>By using the SMART criteria (Specific, Measurable, Achievable, Relevant, Time-bound), your goals will be well-defined and achievable.</p><p>I&#8217;m not going to dive into the concept of SMART&#8212;I recommend you read <a href="https://www.atlassian.com/blog/productivity/how-to-write-smart-goals">this Atlassian blog post</a>&#8212;but let&#8217;s look at some practical tips for goal setting.</p><h4>&#127968; Tips for Defining Long-Term Goals</h4><p>Long-term goals should define your career trajectory and overall vision. They help you stay focused on what matters, guide your short-term efforts, and allow you to say &#8220;no&#8221; to unimportant things.</p><ol><li><p><strong>Define success for yourself: </strong>As explained in the first part of the post, this is the most important part of your goal setting. Without it, your goals will be random and have little to no impact on your career.</p></li><li><p><strong>Don&#8217;t plan for 10+ years ahead</strong>: I recommend your long-term goals be within a 1-5 year time range. Of course, your career vision might be to be CEO at Apple, but that&#8217;s not a goal. You need to break down your vision into smaller, achievable milestones&#8212;long-term goals.</p></li></ol><blockquote><p><em>The best time to plant a tree was 20 years ago. The second best time is now. </em>&#8212;<em>Proverb</em></p></blockquote><ol start="3"><li><p><strong>Be open to change:</strong> The industry or your personal circumstances may evolve. Look at recent events&#8212;the end of ZIRP, AI hype, etc. In such cases, reassess and adjust your long-term goals to keep them relevant.</p></li></ol><h4>&#129521; Tips for Defining Short-Term Goals</h4><p>Short-term goals are the building bricks. They provide immediate targets to work towards, keeping you motivated and focused.</p><p>Each short-term goal should <strong>bring you closer to achieving</strong> your long-term goals.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_ahP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88951acd-3f51-42c8-9a75-82992b370e73_1754x553.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_ahP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88951acd-3f51-42c8-9a75-82992b370e73_1754x553.png 424w, https://substackcdn.com/image/fetch/$s_!_ahP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88951acd-3f51-42c8-9a75-82992b370e73_1754x553.png 848w, https://substackcdn.com/image/fetch/$s_!_ahP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88951acd-3f51-42c8-9a75-82992b370e73_1754x553.png 1272w, https://substackcdn.com/image/fetch/$s_!_ahP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88951acd-3f51-42c8-9a75-82992b370e73_1754x553.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_ahP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88951acd-3f51-42c8-9a75-82992b370e73_1754x553.png" width="642" height="202.38873626373626" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/88951acd-3f51-42c8-9a75-82992b370e73_1754x553.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:459,&quot;width&quot;:1456,&quot;resizeWidth&quot;:642,&quot;bytes&quot;:93884,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!_ahP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88951acd-3f51-42c8-9a75-82992b370e73_1754x553.png 424w, https://substackcdn.com/image/fetch/$s_!_ahP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88951acd-3f51-42c8-9a75-82992b370e73_1754x553.png 848w, https://substackcdn.com/image/fetch/$s_!_ahP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88951acd-3f51-42c8-9a75-82992b370e73_1754x553.png 1272w, https://substackcdn.com/image/fetch/$s_!_ahP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88951acd-3f51-42c8-9a75-82992b370e73_1754x553.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><ol><li><p><strong>Avoid vagueness</strong>: Being as clear as possible will help you focus your efforts. For instance:</p><ol><li><p>Vague goal: <em>Improve coding skills</em></p></li><li><p>Clear goal: <em>Complete an advanced Python programming course</em></p></li></ol></li><li><p><strong>Don&#8217;t be too ambitious: </strong>Setting overly ambitious goals can lead to frustration and, if you push yourself too hard, even burnout. For example, if you have a full-time job, set a goal to complete one course over a quarter rather than attempting to finish multiple courses and, in the end, not finishing any of them.</p></li><li><p><strong>Prioritize: </strong>Not all goals you set have the same urgency or importance. Focus on the goals that will bring the most benefit or are prerequisites for other goals. Decide based on their impact on your long-term career objectives and current job performance.</p></li><li><p><strong>Evaluate and adjust:</strong> The benefit of short-term goals is that you can evaluate their effect in a relatively short time (weeks, months). Consider:</p><ol><li><p><em>Have this goal moved me in the correct direction? If not, what mistake did I make when defining it?</em></p></li><li><p><em>Have I learned something I didn&#8217;t know about before based on which to adjust my future goals?</em></p></li><li><p><em>Is my effort sustainable over the long run?</em></p></li></ol></li></ol><h3>Summary and Part 2</h3><p>Setting meaningful goals starts with understanding where you are and where you want to go. Self-assessment helps you identify the former, and reflecting upon your values, interests, and long-term vision will help you with the latter.</p><p>Set aside time to think about where you are and where you want to go. It&#8217;s worth it.</p><p>In Part 2, you will learn how to seek opportunities for advancement and how to showcase your achievements for a successful career progression. See you there!</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Enginuity! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3>&#128227; Top Picks</h3><ul><li><p><a href="https://www.leadership-letters.com/p/5-writing-tips-to-overcome-the-blank">5 Writing Tips to Overcome the Blank Page</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Akash Mukherjee&quot;,&quot;id&quot;:197891722,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c0d3f94-5c6a-46e0-8d52-55bf35b104ef_2268x4032.jpeg&quot;,&quot;uuid&quot;:&quot;431bc84d-ead6-4898-9f0e-8f054d47d8d8&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Leadership Letters&quot;,&quot;id&quot;:2262466,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/amukherjee&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f41fa4b1-3299-48e1-aea9-602ec1189b84_929x929.png&quot;,&quot;uuid&quot;:&quot;46bea9ec-d9a0-4764-aed5-46f0dc109343&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p><a href="https://read.perspectiveship.com/p/probabilistic-thinking-mental-model">Probabilistic Thinking - Mental Model</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Micha&#322; Poczwardowski&quot;,&quot;id&quot;:141222242,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F475838ea-8fbf-473b-9678-ea792c061ede_764x784.jpeg&quot;,&quot;uuid&quot;:&quot;c1cbaa75-4629-44b6-bbaa-b7225d01c53c&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Perspectiveship&quot;,&quot;id&quot;:2072708,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/poczwardowski&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fbae1b9e-ea9b-4925-9296-13051314b405_256x256.png&quot;,&quot;uuid&quot;:&quot;77a13031-7056-4f79-890d-de7066d6af11&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p><a href="https://read.highgrowthengineer.com/p/managing-up-realizations">Managing up: 3 things I wish I realized sooner</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Jordan Cutler&quot;,&quot;id&quot;:58854493,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fe86d99-af64-4285-b982-9466a4c58d63_1311x1312.jpeg&quot;,&quot;uuid&quot;:&quot;dc62b8d6-01d2-4faa-942c-f378a529a135&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;High Growth Engineer&quot;,&quot;id&quot;:1504485,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/highgrowthengineer&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d4028d22-8549-42cb-831c-e75539af15f9_1280x1280.png&quot;,&quot;uuid&quot;:&quot;e4a412e7-41eb-4924-91b7-8cd77f4c8108&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p><a href="https://www.practicalengineering.management/p/optimizing-your-20-time-for-tech-debt">Optimizing Your "20% Time for Technical Debt"</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Mirek Stanek&quot;,&quot;id&quot;:6505300,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d6ecad53-1e19-4228-9c30-7d2619e0c4ad_800x800.jpeg&quot;,&quot;uuid&quot;:&quot;d3920d24-5443-4526-995a-7dde790f5ece&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Practical Engineering Management&quot;,&quot;id&quot;:2158401,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/practicalengineeringmanagement&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f22d3851-836e-4bc8-b0f4-0d574c237b5d_1080x1080.png&quot;,&quot;uuid&quot;:&quot;789c88c9-f1c2-4987-91c3-ea5295f26487&quot;}" data-component-name="MentionToDOM"></span> </p></li></ul><div><hr></div><h3>&#128214; More From Enginuity</h3><p>Last week&#8217;s post was focused on the <a href="https://newsletter.enginuity.software/t/case-studies">System design track</a>, and we looked into how Walmart&#8217;s data platform leverages Google Cloud Spanner to combine the power of SQL with the scalability of NoSQL:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;89a4ca6d-cb33-4bce-b7f6-335a8236697a&quot;,&quot;caption&quot;:&quot;Hi, this is Samuel from Enginuity &#128075; This post is part of the System Design track and focuses on globally scalable data platforms. You can find all three tracks in the main menu of the Enginuity Newsletter.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;md&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;How Walmart's Data Platform Handles 100x Scale During Peaks&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:131539004,&quot;name&quot;:&quot;Samuel Koll&#225;t&quot;,&quot;bio&quot;:&quot;Senior-Staff Engineer @ Outreach. Unraveling core principles behind complex software engineering concepts, one article at a time.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f5711335-39d9-41c3-b106-0740749a1dd9_3024x3024.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2024-07-03T14:45:28.031Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cd0b7aa3-4c95-4df3-a11e-cdcd23c41ce0_1000x666.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://newsletter.enginuity.software/p/walmart-data-platform-with-cloud-spanner&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:146128377,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:7,&quot;comment_count&quot;:5,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Enginuity&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec00d977-1863-420c-950d-b023037cdde5_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div>]]></content:encoded></item><item><title><![CDATA[How Walmart's Data Platform Handles 100x Scale During Peaks]]></title><description><![CDATA[Global Scalability and 99.999% Availability with Google Spanner]]></description><link>https://newsletter.enginuity.software/p/walmart-data-platform-with-cloud-spanner</link><guid isPermaLink="false">https://newsletter.enginuity.software/p/walmart-data-platform-with-cloud-spanner</guid><dc:creator><![CDATA[Samuel Kollát]]></dc:creator><pubDate>Wed, 03 Jul 2024 14:45:28 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/cd0b7aa3-4c95-4df3-a11e-cdcd23c41ce0_1000x666.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hi, this is Samuel from Enginuity &#128075; This post is part of the <a href="https://newsletter.enginuity.software/t/case-studies">System Design track</a> and focuses on globally scalable data platforms.</em></p><p><em>You can find all three tracks in the <a href="https://newsletter.enginuity.software/">main menu</a> of the Enginuity Newsletter.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.enginuity.software/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><p>As a company expands its operations worldwide, robust, scalable, and highly available databases become a must-have.</p><p>For Walmart, a retail giant with 11,000 stores in 20 countries and 265 million weekly active users, managing data efficiently is crucial. </p><p>The company has faced significant challenges during peak periods, such as Black Friday and Cyber Monday, when <strong>transaction volumes can increase by 100x</strong>.</p><p>In this post, we look at how Walmart solved its scalability challenges using <strong>Google Spanner</strong>, a globally distributed and horizontally scalable relational database that combines the benefits of <strong>traditional SQL</strong> databases with the <strong>scalability of NoSQL</strong> databases.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!NFsa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabd4d512-00c0-4fb2-bf36-94e372a74cce_1456x600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NFsa!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabd4d512-00c0-4fb2-bf36-94e372a74cce_1456x600.png 424w, https://substackcdn.com/image/fetch/$s_!NFsa!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabd4d512-00c0-4fb2-bf36-94e372a74cce_1456x600.png 848w, https://substackcdn.com/image/fetch/$s_!NFsa!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabd4d512-00c0-4fb2-bf36-94e372a74cce_1456x600.png 1272w, https://substackcdn.com/image/fetch/$s_!NFsa!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabd4d512-00c0-4fb2-bf36-94e372a74cce_1456x600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NFsa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabd4d512-00c0-4fb2-bf36-94e372a74cce_1456x600.png" width="1456" height="600" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/abd4d512-00c0-4fb2-bf36-94e372a74cce_1456x600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:600,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:81805,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!NFsa!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabd4d512-00c0-4fb2-bf36-94e372a74cce_1456x600.png 424w, https://substackcdn.com/image/fetch/$s_!NFsa!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabd4d512-00c0-4fb2-bf36-94e372a74cce_1456x600.png 848w, https://substackcdn.com/image/fetch/$s_!NFsa!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabd4d512-00c0-4fb2-bf36-94e372a74cce_1456x600.png 1272w, https://substackcdn.com/image/fetch/$s_!NFsa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabd4d512-00c0-4fb2-bf36-94e372a74cce_1456x600.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>Walmart's Need for a Scalable Database System</h3><p>Walmart processes vast amounts of data related to sales transactions, inventory levels, supply chain logistics, customer interactions, and much more.</p><p>Traditional database systems posed several challenges for Walmart. The original data platform used SQL engines such as <strong>MySQL and Oracle</strong>, as well as NoSQL systems such as <strong>Cassandra</strong>.</p><p>The challenges include limited scalability, high maintenance costs, and difficulties in ensuring high availability and fault tolerance.</p><p>Walmart required a database system that can:</p><ul><li><p>&#128200; <strong>Scale</strong> horizontally</p></li><li><p>&#128218; Handle <strong>massive data</strong> loads</p></li><li><p>&#128201; Ensure <strong>high availability</strong> with minimal downtime</p></li><li><p>&#128279; Provide <strong>strong consistency</strong> across globally distributed operations</p></li></ul><p>That&#8217;s why Walmart decided to adopt Google Spanner.</p><h3>The Power of SQL With The Scale of NoSQL</h3><p>Google Spanner is designed to offer the best of both traditional SQL databases and modern NoSQL databases.</p><h4>Horizontal Scalability</h4><p>Traditional SQL databases, such as MySQL, face several challenges with horizontal scaling:</p><ul><li><p>Manual data sharding and cross-shard queries</p></li><li><p>Distributed transactions with two-phase commits and increased latency</p></li><li><p>Synchronized schema management and data migrations between shards </p></li></ul><p>On the other hand, Spanner natively scales <strong>horizontally by adding more nodes</strong>. This allows it to handle massive data volumes and high transaction rates. </p><p>At the same time, Spanner&#8217;s horizontal scalability allows <strong>scaling across multiple regions</strong>.</p><p>For Walmart, even a single minute of downtime can result in a huge revenue loss. Their platform cannot afford to wait multiple minutes for the system to failover to another available data center or region.</p><p>Global scalability is a core design factor that enabled Spanner to have <a href="https://cloud.google.com/spanner/sla">&gt;= 99.999% availability SLA</a> and remain operational even in case of hardware or network failures.</p><h4>Global Consistency</h4><p>Spanner automatically replicates data across multiple regions. This results in lower latency because users access data replicas nearest to them.</p><p>The key strength is its ability to maintain <strong>strong consistency across globally distributed data centers</strong>. This is achieved through the use of synchronized clocks and advanced algorithms (more about this later), ensuring that all replicas of the data are up-to-date and accurate.</p><p>The result is that Spanner <strong>supports ACID transactions</strong>, ensuring data accuracy and reliability across all replicas. Therefore, it offers full SQL support (also with <a href="https://cloud.google.com/spanner/docs/postgresql-interface">PostgreSQL interface</a>) with complex queries and analytics.</p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/p/walmart-data-platform-with-cloud-spanner?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">Thanks for reading Enginuity! If you like this post, please consider sharing it. Your support means a lot to me :)</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/p/walmart-data-platform-with-cloud-spanner?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.enginuity.software/p/walmart-data-platform-with-cloud-spanner?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div><h3>The Architecture of Google Spanner</h3><p>The architecture is composed of several main components:</p><ul><li><p><strong>Spanservers</strong>: </p><ul><li><p>They store data and handle read and write operations. </p></li><li><p>Each server manages a subset of the data.</p></li><li><p>Data is <strong>automatically partitioned</strong> and distributed across multiple servers.</p></li></ul></li><li><p><strong>Zones</strong>: </p><ul><li><p>Data are deployed across multiple geographic regions called zones.</p></li><li><p>Each zone has one <strong>Zonemaster</strong>, which assigns data to Spanservers</p></li><li><p>Each zone contains multiple Spanservers, providing redundancy and fault tolerance.</p></li></ul></li><li><p><strong>Directories</strong>: </p><ul><li><p>Directories are the units of data distribution.</p></li><li><p>Each directory is a collection of data that is managed and replicated as a single unit.</p></li></ul></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!NtAw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d20d809-cc11-4d50-bd34-c55f199a87bf_1766x854.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NtAw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d20d809-cc11-4d50-bd34-c55f199a87bf_1766x854.png 424w, https://substackcdn.com/image/fetch/$s_!NtAw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d20d809-cc11-4d50-bd34-c55f199a87bf_1766x854.png 848w, https://substackcdn.com/image/fetch/$s_!NtAw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d20d809-cc11-4d50-bd34-c55f199a87bf_1766x854.png 1272w, https://substackcdn.com/image/fetch/$s_!NtAw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d20d809-cc11-4d50-bd34-c55f199a87bf_1766x854.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NtAw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d20d809-cc11-4d50-bd34-c55f199a87bf_1766x854.png" width="1456" height="704" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4d20d809-cc11-4d50-bd34-c55f199a87bf_1766x854.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:704,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:135896,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!NtAw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d20d809-cc11-4d50-bd34-c55f199a87bf_1766x854.png 424w, https://substackcdn.com/image/fetch/$s_!NtAw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d20d809-cc11-4d50-bd34-c55f199a87bf_1766x854.png 848w, https://substackcdn.com/image/fetch/$s_!NtAw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d20d809-cc11-4d50-bd34-c55f199a87bf_1766x854.png 1272w, https://substackcdn.com/image/fetch/$s_!NtAw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d20d809-cc11-4d50-bd34-c55f199a87bf_1766x854.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>To achieve global consistency, Spanner implements a highly accurate time synchronization mechanism using <strong>GPS and atomic clocks</strong>. This setup is known as the TrueTime API.</p><h4>TrueTime API</h4><p>The core function of <a href="https://static.googleusercontent.com/media/research.google.com/en//archive/spanner-osdi2012.pdf">TrueTime</a> is to provide accurate time information, which is critical for coordinating distributed transactions and maintaining data consistency.</p><ul><li><p><strong>Clock synchronization</strong></p><ul><li><p>Each data center is equipped with <strong>GPS clocks</strong> that provide precise time information directly from satellites.</p></li><li><p>In addition to GPS, <strong>atomic clocks</strong> are used as a fallback to ensure time accuracy even if GPS signals are unavailable.</p></li><li><p>Each server periodically synchronizes its clock with the TrueTime service within its data center.</p></li></ul></li><li><p><strong>Time Representation</strong></p><ul><li><p>TrueTime represents time as an interval <em><strong>[earliest, latest].</strong></em></p></li><li><p><em>earliest</em> and <em>latest</em> are the lower and upper bounds of the current time.</p></li><li><p>This accounts for any potential clock skew, ensuring that all operations are timestamped within a <strong>known uncertainty range</strong>.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!CDRc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9526e400-e3ab-4602-8ffc-19eb291c61c5_1353x449.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!CDRc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9526e400-e3ab-4602-8ffc-19eb291c61c5_1353x449.png 424w, https://substackcdn.com/image/fetch/$s_!CDRc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9526e400-e3ab-4602-8ffc-19eb291c61c5_1353x449.png 848w, https://substackcdn.com/image/fetch/$s_!CDRc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9526e400-e3ab-4602-8ffc-19eb291c61c5_1353x449.png 1272w, https://substackcdn.com/image/fetch/$s_!CDRc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9526e400-e3ab-4602-8ffc-19eb291c61c5_1353x449.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!CDRc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9526e400-e3ab-4602-8ffc-19eb291c61c5_1353x449.png" width="514" height="170.57354028085734" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9526e400-e3ab-4602-8ffc-19eb291c61c5_1353x449.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:449,&quot;width&quot;:1353,&quot;resizeWidth&quot;:514,&quot;bytes&quot;:37562,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!CDRc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9526e400-e3ab-4602-8ffc-19eb291c61c5_1353x449.png 424w, https://substackcdn.com/image/fetch/$s_!CDRc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9526e400-e3ab-4602-8ffc-19eb291c61c5_1353x449.png 848w, https://substackcdn.com/image/fetch/$s_!CDRc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9526e400-e3ab-4602-8ffc-19eb291c61c5_1353x449.png 1272w, https://substackcdn.com/image/fetch/$s_!CDRc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9526e400-e3ab-4602-8ffc-19eb291c61c5_1353x449.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div></li></ul></li><li><p><strong>Achieving External Consistency</strong></p><ul><li><p>1&#65039;&#8419; When a transaction starts, Spanner assigns it a timestamp represented by a TrueTime interval. This timestamp is guaranteed to be consistent across all nodes.</p></li><li><p>2&#65039;&#8419; After a transaction is assigned a timestamp, Spanner waits until the TrueTime interval has safely passed beyond this timestamp before committing. This ensures that no two transactions are assigned the same timestamp.</p></li><li><p>3&#65039;&#8419; Any subsequent transactions will have a later timestamp, preserving the order of transactions globally.</p></li></ul></li></ul><h3>Key Insights from Walmart&#8217;s Digital Transformation</h3><ol><li><p><strong>&#127919; Aligning Technology with Business Objectives</strong></p><ol><li><p>Walmart ensured that its technology infrastructure could support its strategic objectives and drive growth. They didn&#8217;t just go for technology &#8220;upgrades&#8221; but for transformation that would <strong>unlock more business value</strong>.</p></li><li><p>At the same time, Walmart decided to adopt such a robust technology only when its business needs required it. Their original stack (MySQL, Oracle, Cassandra, etc.) handled the original requirements well enough until true global scale and adaptability were needed.</p></li></ol></li><li><p><strong>&#129309; Building a Partnership with Technology Providers</strong></p><ol><li><p>A strong <a href="https://www.youtube.com/watch?v=ID77EyMpfZ8">partnership with Google</a> was crucial for Walmart&#8217;s successful adoption of Spanner.</p></li><li><p>Such partnership allowed them to leverage Google&#8217;s expertise through close communication, joint planning, and tailoring the solution to Walmart&#8217;s specific needs.</p></li></ol></li><li><p><strong>&#127793; Focusing on Customer Experience</strong></p><ol><li><p>Walmart&#8217;s choice was between building its own data platform on top of its already existing stack or adopting an already existing solution and focusing on its market differentiator.</p></li><li><p>They chose the latter and decided to focus their resources on delivering new capabilities within their product and to shorten the time-to-market for their new features.</p></li></ol></li></ol><h3>Summary</h3><p>Walmart&#8217;s scale with 11,000 stores and 265 million weekly active users required transitioning from homegrown solutions based on a combination of SQL and NoSQL engines to: </p><ul><li><p>A <strong>unified data platform</strong> that combines SQL&#8217;s ACID properties with the horizontal scalability of NoSQL.</p></li><li><p>A solution that will allow them to <strong>shorten time-to-market</strong> so they can focus on their business differentiators.</p></li><li><p>A technology with high availability and dynamic scalability to sustain 10-100x increases in traffic.</p></li></ul><p>And their choice of Google Spanner has satisfied these requirements.</p><p><em>Disclaimer: This case study showcases industry best practices based on publicly available information. The specific underlying structure of Walmart might be different.</em></p><div><hr></div><h3>&#128214; More From Enginuity</h3><p>Last week&#8217;s post was focused on the <a href="https://newsletter.enginuity.software/t/product-engineer">Product Engineer track</a> and focused on the role, benefits, and key responsibilities of Product engineers and how to adopt the Product engineering mindset:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;971f5596-0365-46b3-aadc-3933f2ebb14e&quot;,&quot;caption&quot;:&quot;Hi, this is Samuel from Enginuity &#128075; This post is part of the Product Engineer track and focuses on laying the foundation of the product engineering mindset. You can find all three tracks in the main menu of the Enginuity Newsletter.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;md&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Future-proofing Your Engineering Career: Product Engineer's Path&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:131539004,&quot;name&quot;:&quot;Samuel Koll&#225;t&quot;,&quot;bio&quot;:&quot;Senior-Staff Engineer @ Outreach. Unraveling core principles behind complex software engineering concepts, one article at a time.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f5711335-39d9-41c3-b106-0740749a1dd9_3024x3024.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2024-06-25T05:30:44.276Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/11a33cff-b691-4317-a0c6-113f37d1b2f5_1000x666.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://newsletter.enginuity.software/p/product-engineer-path&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:145887077,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:15,&quot;comment_count&quot;:2,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Enginuity&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec00d977-1863-420c-950d-b023037cdde5_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><h3>&#128227; Top Picks</h3><ul><li><p><a href="https://read.highgrowthengineer.com/p/how-i-plan-my-week-as-a-senior-engineer">How I plan my week as a Senior Engineer in Big Tech</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Jordan Cutler&quot;,&quot;id&quot;:58854493,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fe86d99-af64-4285-b982-9466a4c58d63_1311x1312.jpeg&quot;,&quot;uuid&quot;:&quot;2be3d983-3c2e-4f39-93c0-94561b5289c8&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;High Growth Engineer&quot;,&quot;id&quot;:1504485,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/highgrowthengineer&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d4028d22-8549-42cb-831c-e75539af15f9_1280x1280.png&quot;,&quot;uuid&quot;:&quot;9123ebdf-9d0c-4166-b5d2-1f6a0847a3da&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p><a href="https://read.perspectiveship.com/p/margin-of-safety">Margin of Safety - Mental Model</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Micha&#322; Poczwardowski&quot;,&quot;id&quot;:141222242,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F475838ea-8fbf-473b-9678-ea792c061ede_764x784.jpeg&quot;,&quot;uuid&quot;:&quot;f9155086-3a47-434c-883c-99a4bf3a6752&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Perspectiveship&quot;,&quot;id&quot;:2072708,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/poczwardowski&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e58ebc2f-5af7-4c21-a4e8-f8cdda0392fe_1000x1000.png&quot;,&quot;uuid&quot;:&quot;9a269977-eab5-4569-a931-eef2ff8e242e&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p><a href="https://zaidesanton.substack.com/p/the-apprentice-the-new-boss-the-successor">The Apprentice, The New Boss, The Successor and The Pioneer</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Anton Zaides&quot;,&quot;id&quot;:121956618,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fa87af7-7089-4977-ab32-dbcae410c190_3847x3564.jpeg&quot;,&quot;uuid&quot;:&quot;ccb1b163-87ee-42d1-a621-ec51a84e555c&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Leading Developers&quot;,&quot;id&quot;:1804629,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/zaidesanton&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/64dbcf3a-d0db-4718-8758-a6521ac5b8bd_1250x1250.png&quot;,&quot;uuid&quot;:&quot;cfc4f265-ff11-411d-9b9f-0aff360984a4&quot;}" data-component-name="MentionToDOM"></span> </p></li></ul><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Enginuity! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Future-proofing Your Engineering Career: Product Engineer's Path]]></title><description><![CDATA[How to Go From Code to Strategy]]></description><link>https://newsletter.enginuity.software/p/product-engineer-path</link><guid isPermaLink="false">https://newsletter.enginuity.software/p/product-engineer-path</guid><dc:creator><![CDATA[Samuel Kollát]]></dc:creator><pubDate>Tue, 25 Jun 2024 05:30:44 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/11a33cff-b691-4317-a0c6-113f37d1b2f5_1000x666.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hi, this is Samuel from Enginuity &#128075; This post is part of the <a href="https://newsletter.enginuity.software/t/product-engineer">Product Engineer track</a> and focuses on laying the foundation of the product engineering mindset.</em></p><p><em>You can find all three tracks in the <a href="https://newsletter.enginuity.software/">main menu</a> of the Enginuity Newsletter.</em></p><div><hr></div><p>In recent years, the role of software engineers has undergone a significant transformation.</p><p>It's becoming increasingly important to transition from focusing solely on <em>"how"</em> to create software to becoming a well-rounded <strong>Software Product Engineer</strong> who understands the <em>"what"</em> and <em>"why"</em> behind products. </p><p>This post discusses how this mindset offers significant career growth opportunities and job satisfaction. We&#8217;ll explore:</p><ul><li><p><strong>The role</strong> of the Product Engineer</p></li><li><p><strong>Benefits</strong> of the Product Engineer mindset</p></li><li><p><strong>Key responsibilities</strong> of Product Engineers</p></li><li><p><strong>How to </strong>adopt the Product Engineering mindset</p></li></ul><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.enginuity.software/subscribe?"><span>Subscribe now</span></a></p><h3>The Evolving Role of Engineers</h3><p>As engineers, we are expected to write and maintain code, fix bugs, and ensure that systems operate correctly.</p><p>The main focus has been on the <em>"how"</em> &#8212; how to design, how to develop, how to deploy, how to maintain software.</p><p>But the landscape is changing. Factors such as:</p><ul><li><p>&#127950;&#65039; Popularity and proven efficiency of <strong>cross-functional agile team</strong>s</p></li><li><p>&#129302; Rise of <strong>GenAI</strong> providing ever more powerful assistance in software development</p></li><li><p>&#129489;&#8205;&#128187; Multiple rounds of <strong>layoffs</strong> in many companies indicate product development can be done with acceptable outcomes with fewer people</p></li></ul><p>Engineers are now expected to participate in product strategy, understand market needs, and align their work with business goals.</p><p>Understanding the <em>"what"</em> and <em>"why"</em> behind a product is just as important as knowing how to build the product.</p><p>Engineers who <strong>understand customer needs and business contexts</strong> can contribute more effectively to product innovation and success. And organizations have started to recognize them.</p><p>This brings us to the role and mindset of a Product Engineer.</p><h3>Understanding the Product Engineer Role</h3><blockquote><p><em>A product engineer combines deep technical expertise with a strong understanding of product strategy, customer needs, and business goals. </em></p></blockquote><p>Product engineers are involved in a product's entire lifecycle, from ideation and design to development, launch, and iteration.</p><h4>Key Responsibilities</h4><p><strong>&#127919; Product Strategy</strong>: Collaborating with product managers to define product vision, goals, and roadmaps.</p><p><strong>&#129309; Customer Empathy</strong>: Understanding and advocating for the needs and pain points of end-users.</p><p><strong>&#128200; Business Alignment</strong>: Ensuring that engineering aligns with business objectives and contributes to overall company success.</p><p><strong>&#129698; Cross-functional Collaboration</strong>: Working closely with designers, marketers, sales teams, and other stakeholders to ensure effective product development and delivery.</p><p><strong>&#9851;&#65039; Iterative Development</strong>: Continuously improve the product based on user feedback and market changes&#8203;.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!F-iI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11ce2c65-fa8f-4382-8085-4133053240a0_2075x1281.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!F-iI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11ce2c65-fa8f-4382-8085-4133053240a0_2075x1281.png 424w, https://substackcdn.com/image/fetch/$s_!F-iI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11ce2c65-fa8f-4382-8085-4133053240a0_2075x1281.png 848w, https://substackcdn.com/image/fetch/$s_!F-iI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11ce2c65-fa8f-4382-8085-4133053240a0_2075x1281.png 1272w, https://substackcdn.com/image/fetch/$s_!F-iI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11ce2c65-fa8f-4382-8085-4133053240a0_2075x1281.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!F-iI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11ce2c65-fa8f-4382-8085-4133053240a0_2075x1281.png" width="494" height="305.01785714285717" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/11ce2c65-fa8f-4382-8085-4133053240a0_2075x1281.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:899,&quot;width&quot;:1456,&quot;resizeWidth&quot;:494,&quot;bytes&quot;:143984,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!F-iI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11ce2c65-fa8f-4382-8085-4133053240a0_2075x1281.png 424w, https://substackcdn.com/image/fetch/$s_!F-iI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11ce2c65-fa8f-4382-8085-4133053240a0_2075x1281.png 848w, https://substackcdn.com/image/fetch/$s_!F-iI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11ce2c65-fa8f-4382-8085-4133053240a0_2075x1281.png 1272w, https://substackcdn.com/image/fetch/$s_!F-iI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F11ce2c65-fa8f-4382-8085-4133053240a0_2075x1281.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>Benefits of Becoming a Product Engineer</h3><h4>Career growth</h4><p>A skill set that includes technical hard skills, product management, business understanding, and <a href="https://newsletter.enginuity.software/p/why-being-customer-centric-matters">customer centricity</a> makes you a more versatile and valuable employee.</p><p>Product engineers are well-positioned for leadership roles and even C-level positions in tech-driven companies.</p><p>Their ability to bridge the gap between engineering and business strategy allows them to influence what products are developed and why, further increasing their visibility.</p><h4>Market Demand</h4><p>The ability to understand and influence both the technical and business aspects of product development makes product engineers highly sought after in the job market.&#8203;</p><p>The U.S. Bureau of Labor Statistics projects that employment in software development will grow by <a href="https://www.bls.gov/ooh/computer-and-information-technology/software-developers.htm">25% from 2022 to 2032</a>, much faster than the average for all occupations. </p><p>This growth is driven by the need for innovative software products.</p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/p/product-engineer-path?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">Thanks for reading Enginuity! If you like this post, please consider sharing it. Your support means a lot to me :)</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/p/product-engineer-path?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.enginuity.software/p/product-engineer-path?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div><h4>Job Satisfaction</h4><p>Being involved in the entire lifecycle of a product &#8212; from the initial idea and design to launch and iteration, and seeing the impact of your work on end users can lead to a deeper sense of purpose.</p><p>This alignment with the overall mission and goals of the company can be very motivating. </p><p>At the same time, working closely with other teams and participating in company strategy provides new challenges and learning experiences.</p><h3>Adopting the Product Engineering Mindset</h3><p>1&#65039;&#8419; Shifting from a purely technical mindset to a holistic product-focused mindset can be challenging and requires a shift in how you approach development:</p><ul><li><p><strong>Product Discussions</strong>: Actively participate in product meetings and discussions to understand different viewpoints and customers&#8217; personas.</p></li><li><p><strong>Broader Perspectives</strong>: Start thinking about the product from the user's and business's perspectives, not just the technical implementation. Here are some questions you can ask yourself:</p><ul><li><p><em>Who are the primary users of this product?</em></p></li><li><p><em>What are the main problems or pain points these users face?</em></p></li><li><p><em>Are there ways to align my work more closely with these goals?</em></p></li><li><p><em>Who are the key stakeholders involved in this product's development?</em></p></li><li><p><em>How does our product differentiate itself in the market?</em></p></li><li><p><em>What metrics and data can I use to measure the product&#8217;s success?</em></p></li></ul></li></ul><p>2&#65039;&#8419; Continue improving both your technical and product skills:</p><ul><li><p><strong>Stay Up-to-Date</strong>: Read industry blogs, attend webinars, and take new courses to stay updated with the latest trends in product management and technology. Here is a short list of superb product-focused newsletters for follow:</p><ul><li><p><a href="https://www.news.aakashg.com/">Product Growth</a></p></li><li><p><a href="https://www.lennysnewsletter.com/">Lenny's Newsletter</a></p></li><li><p><a href="https://creatoreconomy.so/">Creator Economy by Peter Yang</a></p></li><li><p><a href="https://newsletter.posthog.com/">Product for Engineers</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;PostHog&quot;,&quot;id&quot;:69984721,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/310c0899-3074-48e4-a9d9-f7ff8f5290f4_371x371.png&quot;,&quot;uuid&quot;:&quot;e04cacb8-e3be-4872-a898-c208e163c8d5&quot;}" data-component-name="MentionToDOM"></span> </p></li></ul></li><li><p><strong>Experiment</strong>: Continuously improve by experimenting with new tools and methodologies and iterate based on feedback and results.</p></li></ul><p>3&#65039;&#8419; Balancing technical and product responsibilities requires careful prioritization and time management:</p><ul><li><p><strong>Prioritize Tasks</strong>: Use prioritization frameworks like the <a href="https://en.wikipedia.org/wiki/Time_management#The_Eisenhower_Method">Eisenhower Matrix</a> to manage your tasks and focus on high-impact activities.</p><ul><li><p>You can check <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Luca Rossi&quot;,&quot;id&quot;:6835984,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6107486-b701-4109-8f21-f450fed6e277_652x690.png&quot;,&quot;uuid&quot;:&quot;e64daff3-d1a9-4a34-ab5f-f2b71c994d61&quot;}" data-component-name="MentionToDOM"></span>&#8216;s post about <a href="https://refactoring.fm/p/how-to-delegate">delegation</a> using the Eisenhower Matrix.</p></li></ul></li><li><p><strong>Time Management</strong>: Allocate specific time blocks in your calendar for technical work and product-related activities to ensure adequate attention in both areas.</p></li></ul><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share&quot;,&quot;text&quot;:&quot;Share Enginuity&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.enginuity.software/?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share"><span>Share Enginuity</span></a></p><p>Now is the time to start developing the skills needed to become a product engineer. </p><p>Invest in your education and training, gain practical experience through projects and mentorship, and build a strong network inside and outside of your company.</p><div><hr></div><h3>&#128214; More From Enginuity</h3><p>Last week&#8217;s post focused on the <a href="https://newsletter.enginuity.software/t/case-studies">System design track</a>. We looked into data engineering in DataDog and how they combine Apache Spark, Kubernetes, and YuniKorn to process a vast amount of data daily:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;0e193b6b-07d9-4e1d-9ead-90e76d3b6806&quot;,&quot;caption&quot;:&quot;With over 22,000 customers, DataDog&#8217;s observability and security platform stands out as an industry leader. It seamlessly processes vast amounts of data to deliver actionable insights. But how has DataDog scaled its data engineering platform to handle&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;md&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;How DataDog Processes Hundreds of Terabytes of Telemetry Every Day&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:131539004,&quot;name&quot;:&quot;Samuel Koll&#225;t&quot;,&quot;bio&quot;:&quot;Senior-Staff Engineer @ Outreach. Unraveling core principles behind complex software engineering concepts, one article at a time.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f5711335-39d9-41c3-b106-0740749a1dd9_3024x3024.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2024-06-18T06:15:47.056Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dbc57a20-7f2e-4735-9892-f6ff6350b232_1456x1048.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://newsletter.enginuity.software/p/datadog-data-pipelines-at-scale&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:145664335,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:6,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Enginuity&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec00d977-1863-420c-950d-b023037cdde5_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><h3>&#128227; Top Picks</h3><ul><li><p><a href="https://read.highgrowthengineer.com/p/get-promoted-lessons-from-amazon-vp">How to get promoted: Lessons from an ex-Amazon VP</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Jordan Cutler&quot;,&quot;id&quot;:58854493,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fe86d99-af64-4285-b982-9466a4c58d63_1311x1312.jpeg&quot;,&quot;uuid&quot;:&quot;81d7fd85-1273-4252-8a44-4e9e47b9af35&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;High Growth Engineer&quot;,&quot;id&quot;:1504485,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/highgrowthengineer&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d4028d22-8549-42cb-831c-e75539af15f9_1280x1280.png&quot;,&quot;uuid&quot;:&quot;0cd57a24-51fc-45cc-a911-bdc144273523&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p><a href="https://www.leadership-letters.com/p/do-you-grow-less-as-a-big-tech-engineer">Is it Still Worth it for Big Tech?</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Akash Mukherjee&quot;,&quot;id&quot;:197891722,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c0d3f94-5c6a-46e0-8d52-55bf35b104ef_2268x4032.jpeg&quot;,&quot;uuid&quot;:&quot;60d0bb7e-03a9-4505-8744-48a82bfd92fc&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Leadership Letters&quot;,&quot;id&quot;:2262466,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/amukherjee&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f41fa4b1-3299-48e1-aea9-602ec1189b84_929x929.png&quot;,&quot;uuid&quot;:&quot;f8ec65ed-1f20-4724-9d0e-0ef1097d46e1&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p><a href="https://zaidesanton.substack.com/p/the-toughest-challenge-in-2024-consuming">How to keep up with all the digital content</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Anton Zaides&quot;,&quot;id&quot;:121956618,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fa87af7-7089-4977-ab32-dbcae410c190_3847x3564.jpeg&quot;,&quot;uuid&quot;:&quot;6afd7de3-f9be-4926-929c-db7a9e69e405&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Leading Developers&quot;,&quot;id&quot;:1804629,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/zaidesanton&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/64dbcf3a-d0db-4718-8758-a6521ac5b8bd_1250x1250.png&quot;,&quot;uuid&quot;:&quot;d2d2f9a8-d00f-4ae0-8e40-5639deefe041&quot;}" data-component-name="MentionToDOM"></span> </p></li></ul><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Enginuity! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[How DataDog Processes Hundreds of Terabytes of Telemetry Every Day]]></title><description><![CDATA[Case Study #003: Data Engineering at Scale With Apache Spark and Kubernetes]]></description><link>https://newsletter.enginuity.software/p/datadog-data-pipelines-at-scale</link><guid isPermaLink="false">https://newsletter.enginuity.software/p/datadog-data-pipelines-at-scale</guid><dc:creator><![CDATA[Samuel Kollát]]></dc:creator><pubDate>Tue, 18 Jun 2024 06:15:47 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/dbc57a20-7f2e-4735-9892-f6ff6350b232_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>With over 22,000 customers, DataDog&#8217;s observability and security platform stands out as an industry leader. It seamlessly processes vast amounts of data to deliver actionable insights.</p><blockquote><p><em>But how has DataDog scaled its data engineering platform to handle <strong>trillions of data points</strong> per day without compromising speed or reliability?</em></p></blockquote><p>In this article, we look into the technical details that allow DataDog to maintain its scale, providing a detailed look at:</p><ul><li><p><strong>What is Apache Spark,</strong> and how it works</p></li><li><p><strong>Powerful combination</strong> of Apache Spark and Kubernetes</p></li><li><p><strong>Optimizations</strong> for processing hundreds of terabytes of data daily</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Lj1c!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe077a063-e76f-4b9e-a52d-ad1ff1a5d22d_1456x600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Lj1c!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe077a063-e76f-4b9e-a52d-ad1ff1a5d22d_1456x600.png 424w, https://substackcdn.com/image/fetch/$s_!Lj1c!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe077a063-e76f-4b9e-a52d-ad1ff1a5d22d_1456x600.png 848w, https://substackcdn.com/image/fetch/$s_!Lj1c!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe077a063-e76f-4b9e-a52d-ad1ff1a5d22d_1456x600.png 1272w, https://substackcdn.com/image/fetch/$s_!Lj1c!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe077a063-e76f-4b9e-a52d-ad1ff1a5d22d_1456x600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Lj1c!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe077a063-e76f-4b9e-a52d-ad1ff1a5d22d_1456x600.png" width="642" height="264.56043956043953" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e077a063-e76f-4b9e-a52d-ad1ff1a5d22d_1456x600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:600,&quot;width&quot;:1456,&quot;resizeWidth&quot;:642,&quot;bytes&quot;:87407,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Lj1c!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe077a063-e76f-4b9e-a52d-ad1ff1a5d22d_1456x600.png 424w, https://substackcdn.com/image/fetch/$s_!Lj1c!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe077a063-e76f-4b9e-a52d-ad1ff1a5d22d_1456x600.png 848w, https://substackcdn.com/image/fetch/$s_!Lj1c!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe077a063-e76f-4b9e-a52d-ad1ff1a5d22d_1456x600.png 1272w, https://substackcdn.com/image/fetch/$s_!Lj1c!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe077a063-e76f-4b9e-a52d-ad1ff1a5d22d_1456x600.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>&#9889; The Power of Apache Spark in DataDog&#8217;s Infrastructure</h3><p>Apache Spark is a powerful, open-source distributed data processing engine known for its speed and ease of use.</p><p>It supports various workloads, including <strong>batch processing</strong>, streaming, machine learning, and interactive queries, making it a perfect fit for DataDog&#8217;s large-scale data processing needs.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.enginuity.software/subscribe?"><span>Subscribe now</span></a></p><p>Key Features of Apache Spark:</p><ul><li><p><strong>In-Memory Processing</strong>: Spark's ability to process data in memory significantly reduces the time required for complex data operations. It retains intermediate results in memory, which is much faster than the disk-based intermediate storage of Hadoop MapReduce.</p></li><li><p><strong>Rich API</strong>: Spark provides high-level APIs in Java, Scala, Python, and R, making it accessible for developers with different expertise.</p></li><li><p><strong>Fault Tolerance</strong>: Through lineage information, Spark tracks the path of data end-to-end, from source to destination. This can help it to recover from faults, ensuring data integrity and reliability.</p></li><li><p><strong>Scalability</strong>: Spark&#8217;s architecture can efficiently handle growing volumes of data, which is crucial for DataDog&#8217;s scale.</p></li></ul><p>DataDog relies heavily on Apache Spark for its batch processing capabilities, and using Spark, it processes hundreds of terabytes of data daily.</p><h3>&#127959;&#65039; Spark&#8217;s Architecture</h3><p>Spark&#8217;s distributed architecture consists of:</p><ul><li><p><strong>Driver Program</strong> coordinating tasks</p></li><li><p><strong>Cluster Manager</strong> allocating resources</p></li><li><p>Multiple <strong>Executors</strong> running the tasks</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JL8q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb741f98a-a0fb-476e-83bd-ec7b7d7819fb_1602x797.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JL8q!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb741f98a-a0fb-476e-83bd-ec7b7d7819fb_1602x797.png 424w, https://substackcdn.com/image/fetch/$s_!JL8q!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb741f98a-a0fb-476e-83bd-ec7b7d7819fb_1602x797.png 848w, https://substackcdn.com/image/fetch/$s_!JL8q!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb741f98a-a0fb-476e-83bd-ec7b7d7819fb_1602x797.png 1272w, https://substackcdn.com/image/fetch/$s_!JL8q!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb741f98a-a0fb-476e-83bd-ec7b7d7819fb_1602x797.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JL8q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb741f98a-a0fb-476e-83bd-ec7b7d7819fb_1602x797.png" width="676" height="336.14285714285717" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b741f98a-a0fb-476e-83bd-ec7b7d7819fb_1602x797.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:724,&quot;width&quot;:1456,&quot;resizeWidth&quot;:676,&quot;bytes&quot;:83636,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!JL8q!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb741f98a-a0fb-476e-83bd-ec7b7d7819fb_1602x797.png 424w, https://substackcdn.com/image/fetch/$s_!JL8q!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb741f98a-a0fb-476e-83bd-ec7b7d7819fb_1602x797.png 848w, https://substackcdn.com/image/fetch/$s_!JL8q!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb741f98a-a0fb-476e-83bd-ec7b7d7819fb_1602x797.png 1272w, https://substackcdn.com/image/fetch/$s_!JL8q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb741f98a-a0fb-476e-83bd-ec7b7d7819fb_1602x797.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Data in Spark is represented via a Resilient Distributed Dataset (RDD), a fundamental data structure that models a distributed collection of objects. RDDs are partitioned and distributed across the cluster with three main goals:</p><ul><li><p><strong>Optimizing</strong> parallelism</p></li><li><p><strong>Providing</strong> fault tolerance</p></li><li><p><strong>Minimizing</strong> network bandwidth usage</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xGMB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c91b758-7b47-44d1-ae17-9b3c912c897a_1876x1153.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xGMB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c91b758-7b47-44d1-ae17-9b3c912c897a_1876x1153.png 424w, https://substackcdn.com/image/fetch/$s_!xGMB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c91b758-7b47-44d1-ae17-9b3c912c897a_1876x1153.png 848w, https://substackcdn.com/image/fetch/$s_!xGMB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c91b758-7b47-44d1-ae17-9b3c912c897a_1876x1153.png 1272w, https://substackcdn.com/image/fetch/$s_!xGMB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c91b758-7b47-44d1-ae17-9b3c912c897a_1876x1153.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xGMB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c91b758-7b47-44d1-ae17-9b3c912c897a_1876x1153.png" width="1456" height="895" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8c91b758-7b47-44d1-ae17-9b3c912c897a_1876x1153.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:895,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:212781,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!xGMB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c91b758-7b47-44d1-ae17-9b3c912c897a_1876x1153.png 424w, https://substackcdn.com/image/fetch/$s_!xGMB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c91b758-7b47-44d1-ae17-9b3c912c897a_1876x1153.png 848w, https://substackcdn.com/image/fetch/$s_!xGMB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c91b758-7b47-44d1-ae17-9b3c912c897a_1876x1153.png 1272w, https://substackcdn.com/image/fetch/$s_!xGMB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c91b758-7b47-44d1-ae17-9b3c912c897a_1876x1153.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>&#10024; Running Spark on Kubernetes Clusters</h3><p>DataDog uses Kubernetes to deploy and manage Apache Spark. Kubernetes is an open-source container orchestration platform that allows DataDog to manage resources efficiently <strong>across multiple cloud environments</strong>.</p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/p/datadog-data-pipelines-at-scale?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">Thanks for reading Enginuity! If you like this post, please consider sharing it. Your support means a lot to me :)</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/p/datadog-data-pipelines-at-scale?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.enginuity.software/p/datadog-data-pipelines-at-scale?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div><p>Before Kubernetes, DataDog integrated directly with:</p><ul><li><p>Azure HDInsights</p></li><li><p>GCP Dataproc</p></li><li><p>AWS EMR</p></li></ul><p>By leveraging Kubernetes, DataDog decreased maintenance costs across different cloud providers and gained more control over specific resources allocated to tasks. Kubernetes now acts as a Cluster Manager in DataDog&#8217;s Spark architecture:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YK_H!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F162d0418-e261-405d-9dc9-0f8313e5aabc_1602x797.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YK_H!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F162d0418-e261-405d-9dc9-0f8313e5aabc_1602x797.png 424w, https://substackcdn.com/image/fetch/$s_!YK_H!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F162d0418-e261-405d-9dc9-0f8313e5aabc_1602x797.png 848w, https://substackcdn.com/image/fetch/$s_!YK_H!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F162d0418-e261-405d-9dc9-0f8313e5aabc_1602x797.png 1272w, https://substackcdn.com/image/fetch/$s_!YK_H!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F162d0418-e261-405d-9dc9-0f8313e5aabc_1602x797.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YK_H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F162d0418-e261-405d-9dc9-0f8313e5aabc_1602x797.png" width="682" height="339.1263736263736" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/162d0418-e261-405d-9dc9-0f8313e5aabc_1602x797.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:724,&quot;width&quot;:1456,&quot;resizeWidth&quot;:682,&quot;bytes&quot;:107005,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!YK_H!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F162d0418-e261-405d-9dc9-0f8313e5aabc_1602x797.png 424w, https://substackcdn.com/image/fetch/$s_!YK_H!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F162d0418-e261-405d-9dc9-0f8313e5aabc_1602x797.png 848w, https://substackcdn.com/image/fetch/$s_!YK_H!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F162d0418-e261-405d-9dc9-0f8313e5aabc_1602x797.png 1272w, https://substackcdn.com/image/fetch/$s_!YK_H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F162d0418-e261-405d-9dc9-0f8313e5aabc_1602x797.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>To further optimize resource management, DataDog uses <a href="https://yunikorn.apache.org/">Apache YuniKorn</a>, a resource scheduler for Kubernetes. </p><p>YuniKorn improves resource utilization by efficiently scheduling Spark jobs, <strong>preventing resource deadlocks and starvation</strong>, and enabling gang scheduling. </p><p>YuniKorn&#8217;s gang scheduling ensures that all necessary resources for a job <strong>are available before execution</strong>, minimizing idle time and resource wastage.</p><h3>&#9201;&#65039; Optimization Techniques for High-Volume Data Processing</h3><p>Scaling to hundreds of terabytes per day needs more than powerful tools. It requires strategic optimization to ensure both performance and cost efficiency.</p><p>We discussed one such optimization in the previous section &#8212; strategic resource allocation in Kubernetes using Apache YuniKorn. Now, let&#8217;s look at how DataDog optimizes data transformations in Spark.</p><h4>Spark Shuffle Operations</h4><p>A Spark shuffle operation is a mechanism that redistributes data across the cluster. During a shuffle, Spark transfers data from multiple partitions to reorganize and group records based on keys.</p><p>While powerful, shuffle operations are resource-intensive and can be a performance bottleneck because the shuffle time <strong>grows exponentially</strong> with the size of the data being shuffled. At the same time, large datasets can bring the following challenges:</p><ul><li><p><strong>Out of Memory (OOM) Errors</strong>: Large shuffle operations can exhaust the memory available to executors, leading to OOM errors.</p></li><li><p><strong>Disk Swapping</strong>: When the data size exceeds the available memory, Spark may need to swap (spill) data to disk, which significantly slows down the process due to increased disk I/O.</p></li><li><p><strong>Network Overhead</strong>: Transferring large amounts of data across the network can introduce significant latency and congestion, further amplifying performance issues.</p></li></ul><h4>Choosing Optimal Shuffle Partition Size</h4><p>To mitigate the challenges of large shuffle operations, DataDog focuses on optimizing the size of shuffle partitions. They found that aiming to keep shuffle partitions around <strong>100s MiB </strong>works best for them. This size is a sweet spot that balances memory usage and performance:</p><ul><li><p><strong>&#128190; Memory Fit</strong>: Partitions of this size can typically fit into memory, reducing the need for disk swapping and avoiding OOM errors.</p></li><li><p><strong>&#128451;&#65039; Improved Compression</strong>: Well-sized partitions can be compressed more efficiently, reducing storage and transfer costs. Too small partitions do not compress so efficiently.</p></li><li><p><strong>&#128732; Reduced Network Requests</strong>: By not having unnecessarily small partitions, DataDog minimizes the number of network requests required during shuffle operations, reducing overall latency.</p></li></ul><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share&quot;,&quot;text&quot;:&quot;Share Enginuity&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.enginuity.software/?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share"><span>Share Enginuity</span></a></p><h4>Tungsten format and DSL</h4><p>Tungsten is an internal row-based format in Spark that minimizes memory overhead by storing data in a compact, binary format, avoiding creating bulky Java objects.</p><p>Tungsten supports <strong>off-heap memory</strong> storage, further enhancing performance by reducing garbage collection overhead.</p><p>There are two main ways how to perform operations on top of Tungsten format:</p><ul><li><p>DataFrame DSL (Domain Specific Language) transformations</p></li><li><p>Lambda transformations</p></li></ul><p>DataDog prioritizes DSL transformations, which <strong>operate directly on Tungsten-encoded data</strong> and are more efficient than Lambda transformations that require converting data into Java objects.</p><h3>&#9999;&#65039; Summary</h3><p>DataDog successfully manages to ingest and process terabytes of data daily by leveraging advanced data processing techniques and maintaining a robust data engineering platform. The core architecture pieces that allow for this scale are:</p><ul><li><p>Apache <strong>Spark</strong></p></li><li><p><strong>Kubernetes</strong> cluster management</p></li><li><p>Apache <strong>YuniKorn</strong> resource scheduler</p></li><li><p>Optimizing data partition size and <strong>shuffle operations</strong></p></li><li><p>Off-heap data in <strong>Tungsten format</strong> and transformations via DataFrame DSL</p></li></ul><p><em>Disclaimer: This case study showcases industry best practices based on publicly available information. The specific underlying structure of DataDog might be different.</em></p><div><hr></div><h3>&#128214; More From Enginuity</h3><p>In the last issue, we looked into how Netflix scaled its Content Delivery Network to serve hundreds of millions of customers:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;7f976758-01de-4d99-978b-e8c4812d7779&quot;,&quot;caption&quot;:&quot;Have you ever wondered what architecture Netflix must have in place to deliver you a high-resolution full-length feature movie without any delay, almost the exact second as you click the play button? Netflix has been a pioneer in the online video streaming industry for years. It has not just exemplified but&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;md&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;How Netflix Delivers High-Quality Streaming to 269 Million Viewers&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:131539004,&quot;name&quot;:&quot;Samuel Koll&#225;t&quot;,&quot;bio&quot;:&quot;Senior-Staff Engineer @ Outreach. Unraveling core principles behind complex software engineering concepts, one article at a time.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f5711335-39d9-41c3-b106-0740749a1dd9_3024x3024.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2024-06-11T06:01:26.012Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e4203ec0-0bbb-4f60-86fa-9314ddae5036_1456x1048.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://newsletter.enginuity.software/p/how-netflix-streams-terabytes-per-second&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:145175397,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:5,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Enginuity&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec00d977-1863-420c-950d-b023037cdde5_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><h3>&#128227; Top Picks</h3><ul><li><p><a href="https://read.highgrowthengineer.com/p/ultimate-guide-to-product-engineer">The Ultimate Guide to Becoming a Rockstar Product Engineer</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Jordan Cutler&quot;,&quot;id&quot;:58854493,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fe86d99-af64-4285-b982-9466a4c58d63_1311x1312.jpeg&quot;,&quot;uuid&quot;:&quot;ebe00c2d-f2ec-4b4f-95b9-d087e878c6f1&quot;}" data-component-name="MentionToDOM"></span> and <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Ian Vanagas&quot;,&quot;id&quot;:109694180,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56e6c63d-4e58-4af0-ad19-c3ac15c7d4fc_1026x898.webp&quot;,&quot;uuid&quot;:&quot;ad40b482-587e-4e1f-b110-f3f2dcc0804e&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;High Growth Engineer&quot;,&quot;id&quot;:1504485,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/highgrowthengineer&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d4028d22-8549-42cb-831c-e75539af15f9_1280x1280.png&quot;,&quot;uuid&quot;:&quot;29dba5cf-9bd6-4906-bc1d-ced7ccc62b2d&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p><a href="https://newsletter.eng-leadership.com/p/senior-engineer-to-lead-who-to-promote">Senior Engineer to Lead: Who to promote and how to train them</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Gregor Ojstersek&quot;,&quot;id&quot;:106098672,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdbe0558-3b80-4d09-9925-34ff44ed066e_400x400.jpeg&quot;,&quot;uuid&quot;:&quot;766d9dcb-83be-4baa-b263-1222e7a75cc8&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Engineering Leadership&quot;,&quot;id&quot;:1115815,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/gregorojstersek&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0845c094-23e3-40d0-86f3-d1ff19631211_317x317.png&quot;,&quot;uuid&quot;:&quot;56327147-112c-472b-a96b-2e538d17fba4&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p><a href="https://newsletter.systemdesign.one/p/instagram-infrastructure">How Instagram Scaled to 2.5 Billion Users</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Neo Kim&quot;,&quot;id&quot;:135589200,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c103940f-0d8b-47e7-9a33-013202e17bb8_389x389.jpeg&quot;,&quot;uuid&quot;:&quot;3507cc6b-50a5-4562-bf2c-c8c042612995&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;System Design Newsletter&quot;,&quot;id&quot;:1511845,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/systemdesignone&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e3f4fceb-b5a3-4a28-8eab-38e38380207f_128x128.png&quot;,&quot;uuid&quot;:&quot;0ceb8ebf-ec7a-44db-b745-19f523c020f0&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p><a href="https://read.perspectiveship.com/p/scarf">5 Domains to Address While Leading Teams</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Micha&#322; Poczwardowski&quot;,&quot;id&quot;:141222242,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F475838ea-8fbf-473b-9678-ea792c061ede_764x784.jpeg&quot;,&quot;uuid&quot;:&quot;94307a08-87c1-454f-99c7-70fa949665af&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Perspectiveship&quot;,&quot;id&quot;:2072708,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/poczwardowski&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e58ebc2f-5af7-4c21-a4e8-f8cdda0392fe_1000x1000.png&quot;,&quot;uuid&quot;:&quot;8453bd0e-e0ff-435a-b1aa-f37a653b49c4&quot;}" data-component-name="MentionToDOM"></span> </p></li></ul><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Enginuity! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[How Netflix Delivers High-Quality Streaming to 269 Million Viewers]]></title><description><![CDATA[Case Study #002: Extremely Scalable Content Delivery Network]]></description><link>https://newsletter.enginuity.software/p/how-netflix-streams-terabytes-per-second</link><guid isPermaLink="false">https://newsletter.enginuity.software/p/how-netflix-streams-terabytes-per-second</guid><dc:creator><![CDATA[Samuel Kollát]]></dc:creator><pubDate>Tue, 11 Jun 2024 06:01:26 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/e4203ec0-0bbb-4f60-86fa-9314ddae5036_1456x1048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Have you ever wondered what architecture Netflix must have in place to deliver you a high-resolution full-length feature movie without any delay, <strong>almost the exact second as you click the play button</strong>?</p><p>Netflix has been a pioneer in the online video streaming industry for years. It has not just exemplified but <strong>redefined the principles of scalability and performance</strong> through its innovative Content Delivery Network (CDN). </p><p>This case study explores how Netflix's CDN supports terabytes of data per second and the technologies that enable such impressive scalability.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xikK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cc3f30e-f2c6-4eed-83c8-82f48b3c31c2_1456x800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xikK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cc3f30e-f2c6-4eed-83c8-82f48b3c31c2_1456x800.png 424w, https://substackcdn.com/image/fetch/$s_!xikK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cc3f30e-f2c6-4eed-83c8-82f48b3c31c2_1456x800.png 848w, https://substackcdn.com/image/fetch/$s_!xikK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cc3f30e-f2c6-4eed-83c8-82f48b3c31c2_1456x800.png 1272w, https://substackcdn.com/image/fetch/$s_!xikK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cc3f30e-f2c6-4eed-83c8-82f48b3c31c2_1456x800.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xikK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cc3f30e-f2c6-4eed-83c8-82f48b3c31c2_1456x800.png" width="548" height="301.0989010989011" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4cc3f30e-f2c6-4eed-83c8-82f48b3c31c2_1456x800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:800,&quot;width&quot;:1456,&quot;resizeWidth&quot;:548,&quot;bytes&quot;:201611,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!xikK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cc3f30e-f2c6-4eed-83c8-82f48b3c31c2_1456x800.png 424w, https://substackcdn.com/image/fetch/$s_!xikK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cc3f30e-f2c6-4eed-83c8-82f48b3c31c2_1456x800.png 848w, https://substackcdn.com/image/fetch/$s_!xikK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cc3f30e-f2c6-4eed-83c8-82f48b3c31c2_1456x800.png 1272w, https://substackcdn.com/image/fetch/$s_!xikK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cc3f30e-f2c6-4eed-83c8-82f48b3c31c2_1456x800.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>What is a CDN</h3><p>A Content Delivery Network (CDN) is a distributed server network designed to deliver content, such as static web pages, images, and videos, to users efficiently and reliably.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.enginuity.software/subscribe?"><span>Subscribe now</span></a></p><p>Breakdown of how CDNs work:</p><ul><li><p><strong>Distributed Server Network</strong></p><ul><li><p>CDNs consist of multiple servers, also known as <strong>edge servers</strong>, distributed across different locations worldwide. Edge servers store copies of content from the origin servers where the content is hosted.</p></li></ul></li><li><p><strong>Content Caching</strong></p><ul><li><p>When a user requests content from a service, the CDN directs the request to the nearest edge server. This server delivers the cached content to the user. This way, the distance between the user and the data is as short as possible, which improves load times and reduces latency.</p></li></ul></li><li><p><strong>Load Balancing</strong></p><ul><li><p>CDNs use load balancing to distribute traffic across multiple servers to prevent any single server from becoming overloaded. This technique is very useful for handling load during peak traffic times.</p></li></ul></li><li><p><strong>Geographic Proximity</strong></p><ul><li><p>By placing servers in various geographic locations, CDNs reduce the physical distance between the user and the server. This minimizes latency and is particularly important for services with users spread across different regions.</p></li></ul></li><li><p><strong>Redundancy</strong></p><ul><li><p>CDNs store multiple copies of the same content across different servers. If one server goes down, another can take over, ensuring uninterrupted service.</p></li></ul></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!s1oP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34009e58-869b-4ab2-90d6-4b832f8a215a_800x400.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!s1oP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34009e58-869b-4ab2-90d6-4b832f8a215a_800x400.png 424w, https://substackcdn.com/image/fetch/$s_!s1oP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34009e58-869b-4ab2-90d6-4b832f8a215a_800x400.png 848w, https://substackcdn.com/image/fetch/$s_!s1oP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34009e58-869b-4ab2-90d6-4b832f8a215a_800x400.png 1272w, https://substackcdn.com/image/fetch/$s_!s1oP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34009e58-869b-4ab2-90d6-4b832f8a215a_800x400.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!s1oP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34009e58-869b-4ab2-90d6-4b832f8a215a_800x400.png" width="800" height="400" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/34009e58-869b-4ab2-90d6-4b832f8a215a_800x400.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:400,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:66805,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!s1oP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34009e58-869b-4ab2-90d6-4b832f8a215a_800x400.png 424w, https://substackcdn.com/image/fetch/$s_!s1oP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34009e58-869b-4ab2-90d6-4b832f8a215a_800x400.png 848w, https://substackcdn.com/image/fetch/$s_!s1oP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34009e58-869b-4ab2-90d6-4b832f8a215a_800x400.png 1272w, https://substackcdn.com/image/fetch/$s_!s1oP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34009e58-869b-4ab2-90d6-4b832f8a215a_800x400.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>Netflix&#8217;s Need for a Custom CDN</h3><p>Initially, Netflix outsourced its content delivery to major CDN providers like Akamai. However, as its number of customers grew, and therefore, demand for streaming grew, these providers struggled to keep pace. </p><p>Netflix had to focus on how to improve:</p><ul><li><p><strong>cost &#128181;</strong></p></li><li><p><strong>scalability &#128640;</strong></p></li><li><p><strong>user experience &#129321;</strong></p></li></ul><p>That&#8217;s how a custom CDN, <strong><a href="https://openconnect.netflix.com/en/">Open Connect</a></strong>, was born with the goal of creating a robust and scalable network.</p><h3>Architecture Designed for Scalability</h3><p>The Open Connect CDN is specifically tailored to Netflix's needs of transferring terabytes of data at high speeds all across the globe. Its success is achieved mainly through the following design concepts:</p><h4>Edge Locations</h4><p>Netflix picked locations for its Edge servers at strategic points around the globe. These locations are typically within the data centers of <strong>Internet Service Providers (ISPs)</strong> or at <strong>Internet Exchange Points (IXPs)</strong>. IXPs are nodes on the boundaries of two (or more) ISPs when the traffic flows from one ISP provider to another.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!bw7I!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44d88b51-54ac-4e65-99d6-68d57383901f_800x400.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bw7I!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44d88b51-54ac-4e65-99d6-68d57383901f_800x400.png 424w, https://substackcdn.com/image/fetch/$s_!bw7I!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44d88b51-54ac-4e65-99d6-68d57383901f_800x400.png 848w, https://substackcdn.com/image/fetch/$s_!bw7I!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44d88b51-54ac-4e65-99d6-68d57383901f_800x400.png 1272w, https://substackcdn.com/image/fetch/$s_!bw7I!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44d88b51-54ac-4e65-99d6-68d57383901f_800x400.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bw7I!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44d88b51-54ac-4e65-99d6-68d57383901f_800x400.png" width="800" height="400" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/44d88b51-54ac-4e65-99d6-68d57383901f_800x400.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:400,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:54438,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!bw7I!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44d88b51-54ac-4e65-99d6-68d57383901f_800x400.png 424w, https://substackcdn.com/image/fetch/$s_!bw7I!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44d88b51-54ac-4e65-99d6-68d57383901f_800x400.png 848w, https://substackcdn.com/image/fetch/$s_!bw7I!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44d88b51-54ac-4e65-99d6-68d57383901f_800x400.png 1272w, https://substackcdn.com/image/fetch/$s_!bw7I!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44d88b51-54ac-4e65-99d6-68d57383901f_800x400.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h4>Server Infrastructure</h4><p>Netflix chose a combination of different <a href="https://openconnect.netflix.com/en/appliances/">storage solutions</a> to handle its large content library and high data transfer demands:</p><ul><li><p><strong>Storage Servers</strong>: These servers are capable of holding up to 360 TB of data and generating approximately 96 gigabits per second (Gbps) of throughput. They store large volumes of content, ensuring availability even during peak times.</p></li><li><p><strong>Flash Servers</strong>: Equipped with solid-state drives (SSDs), these servers can hold up to 24 TB of data but can deliver up to 190 Gbps of throughput. They are used for delivering high-demand content quickly.</p></li><li><p><strong>Global Servers:</strong> For smaller ISPs and emerging markets, Netflix uses a downscaled version of storage servers offering up to 120 TB of storage and 18 Gbps of throughput.</p></li></ul><h4>Data Flow Optimization</h4><p>Data flow optimization involves managing how data is transferred from central to edge servers. This process ensures that data is delivered efficiently, minimizing latency and avoiding bottlenecks. </p><p>Distribution of new content from the origin servers to the edge servers can be done outside of the peak hours, for example, during nighttime when the ISP traffic is lower, so transferring a large amount of content does not cause latency or reliability issues within the network.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/p/how-netflix-streams-terabytes-per-second?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.enginuity.software/p/how-netflix-streams-terabytes-per-second?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p>The scalability of Open Connect is achieved via:</p><ul><li><p><strong>Horizontal Scaling &#128200;</strong>: Adding more servers across various locations to handle increased load.</p></li><li><p><strong>Efficient Caching &#128450;&#65039;</strong>: Storing frequently accessed content at edge servers to reduce redundant data transfer.</p></li><li><p><strong>Proactive Monitoring &#9989;</strong>: Constantly monitoring network performance to identify and mitigate bottlenecks in real-time.</p></li></ul><h3>Summary</h3><p>CDN is an essential infrastructure component for any online service aiming to deliver content <strong>quickly, reliably, and securely</strong> to a global audience. By leveraging:</p><ul><li><p>distributed servers</p></li><li><p>content caching</p></li><li><p>and load balancing</p></li></ul><p>CDNs ensure optimal performance and smooth user experience.</p><p><em>Disclaimer: This case study showcases industry best practices based on publicly available information. The specific underlying structure of Netflix might be different.</em></p><div><hr></div><h3>&#128214; More From Enginuity</h3><p>In last week&#8217;s issue, we looked into how Slack was able to build an AI solution with customer&#8217;s data privacy as a first-class citizen. Give it a read:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;75bebfcb-f1ff-4e1c-90b4-5e7e63c78e4b&quot;,&quot;caption&quot;:&quot;Slack has significantly improved its users' productivity by integrating AI. In their last year&#8217;s The State of Work, they reported that 90% of users who adopted AI are more likely to experience higher productivity. This case study looks into how Slack achieved this by leveraging Amazon SageMaker and adhering to strict data stewardship principles.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;md&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;How Slack Built a Secure AI Solution at Scale&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:131539004,&quot;name&quot;:&quot;Samuel Koll&#225;t&quot;,&quot;bio&quot;:&quot;Senior-Staff Engineer @ Outreach. Unraveling core principles behind complex software engineering concepts, one article at a time.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f5711335-39d9-41c3-b106-0740749a1dd9_3024x3024.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2024-06-03T06:01:29.887Z&quot;,&quot;cover_image&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bd724ead-f7c7-4891-854d-c92bea999139_1456x1048.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://newsletter.enginuity.software/p/how-slack-built-a-secure-ai-at-scale&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:145117897,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:6,&quot;comment_count&quot;:1,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Enginuity&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec00d977-1863-420c-950d-b023037cdde5_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><h3>&#128227; Top picks</h3><ul><li><p><a href="https://levelupsoftwareengineering.substack.com/p/pt2-how-to-get-more-done-when-things">Pt.2: How to get more done when things are crazy</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Caleb Mellas&quot;,&quot;id&quot;:64096662,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ef37ce7b-b266-40d1-8515-72fc66561fdc_828x779.jpeg&quot;,&quot;uuid&quot;:&quot;83d06c4a-7477-4dba-a129-e2f7604333dd&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Level Up Software Engineering &#128640;&quot;,&quot;id&quot;:1785490,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/levelupsoftwareengineering&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ab9e4282-f361-4ed8-ac6e-48c9f0008877_1280x1280.png&quot;,&quot;uuid&quot;:&quot;2fff840c-9ea8-462b-aee8-20aaf1a56860&quot;}" data-component-name="MentionToDOM"></span> </p><ul><li><p>Don&#8217;t forget to check also <a href="https://levelupsoftwareengineering.substack.com/p/how-to-get-more-done-pt-1">Part 1</a></p></li></ul></li><li><p><a href="https://newsletter.eng-leadership.com/p/deadlines-are-not-so-bad-ill-tell">Deadlines are not so bad, I&#8217;ll tell you why</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Gregor Ojstersek&quot;,&quot;id&quot;:106098672,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdbe0558-3b80-4d09-9925-34ff44ed066e_400x400.jpeg&quot;,&quot;uuid&quot;:&quot;901d7be4-c688-4394-92ba-ae0960b914ca&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Engineering Leadership&quot;,&quot;id&quot;:1115815,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/gregorojstersek&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0845c094-23e3-40d0-86f3-d1ff19631211_317x317.png&quot;,&quot;uuid&quot;:&quot;cd853096-864c-4a7b-9249-ea95a79fea50&quot;}" data-component-name="MentionToDOM"></span> </p></li><li><p><a href="https://thetshaped.dev/p/graphql-intro-101-part-2">GraphQL Intro 101 (part 2)</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Petar Ivanov&quot;,&quot;id&quot;:10269058,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b236a7ab-735e-49d2-bbe8-98b1f901b169_500x500.jpeg&quot;,&quot;uuid&quot;:&quot;ef2cd0e9-0db0-4ec4-baf2-9a34e7bc7070&quot;}" data-component-name="MentionToDOM"></span> in <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;The T-Shaped Dev&quot;,&quot;id&quot;:1508738,&quot;type&quot;:&quot;pub&quot;,&quot;url&quot;:&quot;https://open.substack.com/pub/petarivanovv9&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7f66bb7c-c96f-4c71-ba2d-d561152c83a2_600x600.png&quot;,&quot;uuid&quot;:&quot;970882bc-0405-4ca1-8fdf-6657a27248ff&quot;}" data-component-name="MentionToDOM"></span> </p><ul><li><p>Don&#8217;t forget to check also <a href="https://thetshaped.dev/p/graphql-intro-101-part-1">Part 1</a></p></li></ul></li></ul><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.enginuity.software/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Enginuity! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item></channel></rss>