<?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[Stuff on Engineering]]></title><description><![CDATA[Software Engineering, Leadership, and a bunch of other Stuff]]></description><link>https://www.engstuff.dev</link><image><url>https://substackcdn.com/image/fetch/$s_!aPnP!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F00c3140c-fb65-4dca-918f-b77d1c332880_431x431.png</url><title>Stuff on Engineering</title><link>https://www.engstuff.dev</link></image><generator>Substack</generator><lastBuildDate>Fri, 10 Apr 2026 21:44:12 GMT</lastBuildDate><atom:link href="https://www.engstuff.dev/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Shy Alter]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[engstuff@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[engstuff@substack.com]]></itunes:email><itunes:name><![CDATA[Shy Alter]]></itunes:name></itunes:owner><itunes:author><![CDATA[Shy Alter]]></itunes:author><googleplay:owner><![CDATA[engstuff@substack.com]]></googleplay:owner><googleplay:email><![CDATA[engstuff@substack.com]]></googleplay:email><googleplay:author><![CDATA[Shy Alter]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[The Ripple Impact Grid]]></title><description><![CDATA[Shift Mentorship Left, Scale Impact Right: Deepen the Layers and Widen the Reach]]></description><link>https://www.engstuff.dev/p/the-ripple-impact-grid</link><guid isPermaLink="false">https://www.engstuff.dev/p/the-ripple-impact-grid</guid><dc:creator><![CDATA[Shy Alter]]></dc:creator><pubDate>Tue, 02 Sep 2025 09:08:04 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Igse!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1498ff9-de1a-4725-9628-d3038cc9e4a2_1280x896.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Igse!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1498ff9-de1a-4725-9628-d3038cc9e4a2_1280x896.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Igse!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1498ff9-de1a-4725-9628-d3038cc9e4a2_1280x896.png 424w, https://substackcdn.com/image/fetch/$s_!Igse!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1498ff9-de1a-4725-9628-d3038cc9e4a2_1280x896.png 848w, https://substackcdn.com/image/fetch/$s_!Igse!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1498ff9-de1a-4725-9628-d3038cc9e4a2_1280x896.png 1272w, https://substackcdn.com/image/fetch/$s_!Igse!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1498ff9-de1a-4725-9628-d3038cc9e4a2_1280x896.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Igse!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1498ff9-de1a-4725-9628-d3038cc9e4a2_1280x896.png" width="1280" height="896" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f1498ff9-de1a-4725-9628-d3038cc9e4a2_1280x896.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/930598b1-a9b2-4af9-a91c-192d0d3cb420_1280x896.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:896,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:899794,&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://www.engstuff.dev/i/170451744?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F930598b1-a9b2-4af9-a91c-192d0d3cb420_1280x896.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_!Igse!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1498ff9-de1a-4725-9628-d3038cc9e4a2_1280x896.png 424w, https://substackcdn.com/image/fetch/$s_!Igse!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1498ff9-de1a-4725-9628-d3038cc9e4a2_1280x896.png 848w, https://substackcdn.com/image/fetch/$s_!Igse!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1498ff9-de1a-4725-9628-d3038cc9e4a2_1280x896.png 1272w, https://substackcdn.com/image/fetch/$s_!Igse!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1498ff9-de1a-4725-9628-d3038cc9e4a2_1280x896.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 you're a senior or staff engineer, or aspiring to be one, you're probably looking to maximize the impact you have. Beyond solving hard technical problems, a very effective way to do that is through mentoring. I've found that a lot of engineers either avoid it or just don't leverage their full potential, so here&#8217;s a short guide to help you get there.</p><div><hr></div><p>The best software teams rely on their senior and staff engineers not only to steer technical direction but also to help their peers become stronger engineers. This second goal can be challenging, we are trained to reason about predictable systems at scale, but working systematically with people is a different skill set. Some might assume that growth and development are solely the responsibility of engineering managers. However, the most impactful mentors are often individual contributors who shape how their colleagues think (mindset) and how they work (behavior).</p><p>Growth impact has many facets, but this article focuses on two:</p><ul><li><p><strong>Depth:</strong> How long the effect of your guidance lasts. This ranges from providing immediate, short-term help to creating deep, long-lasting change in an engineer's skills and mindset.</p></li><li><p><strong>Reach:</strong> The breadth of your impact. This moves from one-on-one interactions to affecting an entire team or even department.</p></li></ul><p>Senior and staff ICs already review code, pair-debug, and answer domain questions. Those actions raise quality now but often evaporate by the next quarter. <strong>Impact Levels</strong> turns each mentoring touch-point into durable leverage, guiding design rigor, ownership habits, and culture well beyond the immediate task.</p><p></p><p><strong>The Depth Axis: Creating Lasting 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_!mIUx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d6ffc1f-7bec-4260-9c50-5f36591caab9_992x360.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mIUx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d6ffc1f-7bec-4260-9c50-5f36591caab9_992x360.png 424w, https://substackcdn.com/image/fetch/$s_!mIUx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d6ffc1f-7bec-4260-9c50-5f36591caab9_992x360.png 848w, https://substackcdn.com/image/fetch/$s_!mIUx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d6ffc1f-7bec-4260-9c50-5f36591caab9_992x360.png 1272w, https://substackcdn.com/image/fetch/$s_!mIUx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d6ffc1f-7bec-4260-9c50-5f36591caab9_992x360.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mIUx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d6ffc1f-7bec-4260-9c50-5f36591caab9_992x360.png" width="992" height="360" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8d6ffc1f-7bec-4260-9c50-5f36591caab9_992x360.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:360,&quot;width&quot;:992,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:35172,&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://www.engstuff.dev/i/170451744?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d6ffc1f-7bec-4260-9c50-5f36591caab9_992x360.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_!mIUx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d6ffc1f-7bec-4260-9c50-5f36591caab9_992x360.png 424w, https://substackcdn.com/image/fetch/$s_!mIUx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d6ffc1f-7bec-4260-9c50-5f36591caab9_992x360.png 848w, https://substackcdn.com/image/fetch/$s_!mIUx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d6ffc1f-7bec-4260-9c50-5f36591caab9_992x360.png 1272w, https://substackcdn.com/image/fetch/$s_!mIUx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d6ffc1f-7bec-4260-9c50-5f36591caab9_992x360.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>Moving from L0 to L3 trades shallow, short-lived help for deep, long-lasting change.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xfeS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b805717-d85a-429b-94ba-00261c14d519_992x384.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xfeS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b805717-d85a-429b-94ba-00261c14d519_992x384.png 424w, https://substackcdn.com/image/fetch/$s_!xfeS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b805717-d85a-429b-94ba-00261c14d519_992x384.png 848w, https://substackcdn.com/image/fetch/$s_!xfeS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b805717-d85a-429b-94ba-00261c14d519_992x384.png 1272w, https://substackcdn.com/image/fetch/$s_!xfeS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b805717-d85a-429b-94ba-00261c14d519_992x384.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xfeS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b805717-d85a-429b-94ba-00261c14d519_992x384.png" width="992" height="384" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8b805717-d85a-429b-94ba-00261c14d519_992x384.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:384,&quot;width&quot;:992,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:50181,&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://www.engstuff.dev/i/170451744?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b805717-d85a-429b-94ba-00261c14d519_992x384.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_!xfeS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b805717-d85a-429b-94ba-00261c14d519_992x384.png 424w, https://substackcdn.com/image/fetch/$s_!xfeS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b805717-d85a-429b-94ba-00261c14d519_992x384.png 848w, https://substackcdn.com/image/fetch/$s_!xfeS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b805717-d85a-429b-94ba-00261c14d519_992x384.png 1272w, https://substackcdn.com/image/fetch/$s_!xfeS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b805717-d85a-429b-94ba-00261c14d519_992x384.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>While deepening impact, broadcast the lesson. Write a short guide, demo in team sync, or embed the pattern in a shared template.</p><p><em>Depth delivers value; extending that impact to more engineers multiplies it.</em></p><p></p><p><strong>The Influence Axis: Scaling Your 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_!rK37!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2815511f-ee38-4b67-bba4-a4664a2f8ee8_992x288.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rK37!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2815511f-ee38-4b67-bba4-a4664a2f8ee8_992x288.png 424w, https://substackcdn.com/image/fetch/$s_!rK37!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2815511f-ee38-4b67-bba4-a4664a2f8ee8_992x288.png 848w, https://substackcdn.com/image/fetch/$s_!rK37!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2815511f-ee38-4b67-bba4-a4664a2f8ee8_992x288.png 1272w, https://substackcdn.com/image/fetch/$s_!rK37!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2815511f-ee38-4b67-bba4-a4664a2f8ee8_992x288.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rK37!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2815511f-ee38-4b67-bba4-a4664a2f8ee8_992x288.png" width="992" height="288" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2815511f-ee38-4b67-bba4-a4664a2f8ee8_992x288.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:288,&quot;width&quot;:992,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:31021,&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://www.engstuff.dev/i/170451744?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2815511f-ee38-4b67-bba4-a4664a2f8ee8_992x288.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_!rK37!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2815511f-ee38-4b67-bba4-a4664a2f8ee8_992x288.png 424w, https://substackcdn.com/image/fetch/$s_!rK37!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2815511f-ee38-4b67-bba4-a4664a2f8ee8_992x288.png 848w, https://substackcdn.com/image/fetch/$s_!rK37!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2815511f-ee38-4b67-bba4-a4664a2f8ee8_992x288.png 1272w, https://substackcdn.com/image/fetch/$s_!rK37!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2815511f-ee38-4b67-bba4-a4664a2f8ee8_992x288.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>Progress here means moving from <strong>1-to-1</strong> guidance to <strong>1-to-many</strong> amplification.</p><p><em>The two axes together form the grid below.</em></p><p><br><strong>The Ripple Grid</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_!Hf0F!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94573854-2ef0-41e9-868b-0c90265ab890_1286x706.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Hf0F!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94573854-2ef0-41e9-868b-0c90265ab890_1286x706.png 424w, https://substackcdn.com/image/fetch/$s_!Hf0F!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94573854-2ef0-41e9-868b-0c90265ab890_1286x706.png 848w, https://substackcdn.com/image/fetch/$s_!Hf0F!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94573854-2ef0-41e9-868b-0c90265ab890_1286x706.png 1272w, https://substackcdn.com/image/fetch/$s_!Hf0F!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94573854-2ef0-41e9-868b-0c90265ab890_1286x706.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Hf0F!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94573854-2ef0-41e9-868b-0c90265ab890_1286x706.png" width="1286" height="706" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/94573854-2ef0-41e9-868b-0c90265ab890_1286x706.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:706,&quot;width&quot;:1286,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:60452,&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://www.engstuff.dev/i/170451744?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94573854-2ef0-41e9-868b-0c90265ab890_1286x706.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_!Hf0F!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94573854-2ef0-41e9-868b-0c90265ab890_1286x706.png 424w, https://substackcdn.com/image/fetch/$s_!Hf0F!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94573854-2ef0-41e9-868b-0c90265ab890_1286x706.png 848w, https://substackcdn.com/image/fetch/$s_!Hf0F!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94573854-2ef0-41e9-868b-0c90265ab890_1286x706.png 1272w, https://substackcdn.com/image/fetch/$s_!Hf0F!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94573854-2ef0-41e9-868b-0c90265ab890_1286x706.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>Read the grid like a map: Move </em><strong>up</strong><em><strong> &#8593;</strong> for </em><strong>deeper</strong><em> impact; Move </em><strong>right</strong><em><strong> &#8594;</strong> for </em><strong>wider</strong><em> impact</em></p><ul><li><p><strong>Shallow + Narrow:</strong> A quick fix for one person; the impact fades fast.</p></li><li><p><strong>Shallow + Broad:</strong> A useful tip shared in a team channel; it's helpful but easily forgotten.</p></li><li><p><strong>Deep + Narrow:</strong> Transformative coaching/mentoring for a single engineer; the impact is significant but limited in reach.</p></li><li><p><strong>Deep + Broad:</strong> Mindset shifts that spread across teams; this is the ideal outcome and where you can have the most significant impact.</p></li></ul><p>When planning for impact, ask:</p><ol><li><p><strong>How deep and long this impact will last?</strong></p></li><li><p><strong>How broadly can the result spread?</strong></p></li></ol><p>Even one step deeper <em>or</em> wider compounds the value of time already invested, turning today&#8217;s actions into next year&#8217;s culture</p>]]></content:encoded></item><item><title><![CDATA[Potential impacts of Large Language Models on Engineering Management]]></title><description><![CDATA[How will LLMs can impact the day-to-day work on Engineering Managers and long term changes.]]></description><link>https://www.engstuff.dev/p/potential-impacts-of-large-language</link><guid isPermaLink="false">https://www.engstuff.dev/p/potential-impacts-of-large-language</guid><dc:creator><![CDATA[Shy Alter]]></dc:creator><pubDate>Tue, 30 May 2023 15:04:51 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/9e6424f9-fafc-46dd-8cba-fb81e06cdf58_1280x896.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Everyone is talking about AI and <a href="https://en.wikipedia.org/wiki/Large_language_model">Large Language Models</a> (i.e GPT), and how they are reshaping the roles of software engineers, designers, customer support, and more. The narrative seems to overlook the impact of AI on management roles.</p><p>I took some time to try and break down some potential areas of disruption in management due to AI and highlight the caveats.</p><h2>Know your people</h2><p>In a previous article, "<a href="https://www.engstuff.dev/p/no-shortcuts-know-your-people">No Shortcuts: Know Your People</a>," I discussed the fundamental aspect of management, which involves a deep understanding of the people you work with. As AI evolves, team members will do more, this means also a lot more information that their manager needs to process and analyze to ensure good growth and performance.</p><p>LLMs can help managers to analyze their team members&#8217; activity, spot repeating patterns, and even monitor progression. This seems like a stretch but a mini-version of this already exists. Products like <a href="https://www.multitudes.co/our-product">Multitudes</a> allow you to connect multiple sources such as GitHub, Jira, Slack, and more, than surface insights and static patterns per person (PRs, Cycle-time).</p><p>With LLMs, we can extend these capabilities and move beyond static metrics. Go into the textual content itself and not the metadata, look into the meaning. </p><p>Imagine receiving a comprehensive report on your team member's coding style, the number and quality of design patterns they used last week or an evaluation of the quality of inter-team communication, in terms of tone and directness. With this report, managers can see a better picture of potential improvements areas and follow-up quickly.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!S-bj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F743d749f-0c5c-4f23-9f4e-d85d752af9cb_1028x618.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!S-bj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F743d749f-0c5c-4f23-9f4e-d85d752af9cb_1028x618.png 424w, https://substackcdn.com/image/fetch/$s_!S-bj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F743d749f-0c5c-4f23-9f4e-d85d752af9cb_1028x618.png 848w, https://substackcdn.com/image/fetch/$s_!S-bj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F743d749f-0c5c-4f23-9f4e-d85d752af9cb_1028x618.png 1272w, https://substackcdn.com/image/fetch/$s_!S-bj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F743d749f-0c5c-4f23-9f4e-d85d752af9cb_1028x618.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!S-bj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F743d749f-0c5c-4f23-9f4e-d85d752af9cb_1028x618.png" width="490" height="294.5719844357977" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/743d749f-0c5c-4f23-9f4e-d85d752af9cb_1028x618.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:618,&quot;width&quot;:1028,&quot;resizeWidth&quot;:490,&quot;bytes&quot;:82053,&quot;alt&quot;:&quot;A demo report&quot;,&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="A demo report" title="A demo report" srcset="https://substackcdn.com/image/fetch/$s_!S-bj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F743d749f-0c5c-4f23-9f4e-d85d752af9cb_1028x618.png 424w, https://substackcdn.com/image/fetch/$s_!S-bj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F743d749f-0c5c-4f23-9f4e-d85d752af9cb_1028x618.png 848w, https://substackcdn.com/image/fetch/$s_!S-bj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F743d749f-0c5c-4f23-9f4e-d85d752af9cb_1028x618.png 1272w, https://substackcdn.com/image/fetch/$s_!S-bj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F743d749f-0c5c-4f23-9f4e-d85d752af9cb_1028x618.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><strong>Caveats</strong></p><ol><li><p>People are complex creatures. While you might get a fantastic view of their visible work there is always <strong>a lot</strong> below the surface. Managers might start to overlook deep understanding and resort to basing their feedback system on the LLM reports.</p></li><li><p>Delivering the feedback is still the most delicate part. You can have all the right information but fail miserably to make a real behavior change. Even if this info will be available to the employee themself (and it should), most of us are not able to easily make the leap from knowing what are the issues to making the improvements.</p></li></ol><p></p><h2>The right person, on the right task, at the right time</h2><p>A big part of the engineering manager's job is the art of assigning work. Done right, this can be a great tool for driving and reinforcing growth. There&#8217;s a limit to how much conversation can impact behavioral changes, there are things that need to be learned by doing. If it&#8217;s learning a new technical skill, leading a project, or improving communication. </p><p>Now, imagine you could fine-tune an LLM model to assign work based on weekly reports and a description of a growth plan.</p><blockquote><p><strong>Inputs fed into the model:</strong></p><ol><li><p>Shy&#8217;s and Maya&#8217;s weekly report</p></li><li><p>Focus on improving Shy&#8217;s distribute systems skills, project leadership and direct communication.</p></li><li><p>Focus on improving Maya&#8217;s team work and DB indexing, give her a complex project which will let her unleash her technical skills.</p></li><li><p>GitHub&#8217;, Jira&#8217;s or Linear&#8217;s issues, bugs and tasks</p></li></ol><p><strong>Outputs:</strong></p><ol><li><p>Shy should work on project A.</p></li><li><p>Assign Shy to work together with Maya.</p></li></ol></blockquote><p>That&#8217;s pretty awesome, isn&#8217;t it? Managers can ensure every team member gets the growth path tailor-made for their needs and reinforce it with real production work.</p><p><strong>Caveats</strong></p><ol><li><p>What about personal details? Life can&#8217;t be summarized into a few lines of the prompt. Our professional life is just a small portion of who we are and an LLM model might make wrong assumptions about who can work with whom or even prioritize some people over others.</p></li><li><p>Managers will need to verify the plans and the assignment. People are not machines and might resist even projects which on paper are perfect for their growth.</p></li></ol><h2>Performance reviews</h2><p>I almost forgot performance reviews. These might become completely automated. </p><p>In the good scenario that might be a summary of all your weekly (or bi-weekly) 1:1s. Where you share feedback and follow up on personal progress. In the bad scenario, it will be an automated summary of the raw activity events as PRs, Commits, Messages, and Zoom transcripts. It will become easier to spot trends and behavior changes as improvements in code and communication quality.</p><p>Performance reviews might become just a ceremony instead of a true analysis (which many managers aren&#8217;t doing at all).</p><p><strong>Caveats</strong></p><ol><li><p>The quality of the review can be as good as the events coming in. If the manager won&#8217;t follow continuous feedback and record every interaction they have, the end results might be inaccurate.</p></li><li><p>As with everything, once things become automated people will start finding ways to trick the system. It is possible for managers to create the wrong incentives if they blindly trust the curated performance conclusions. This is similar to how people can game the system in other areas, for example, Google ranking algorithms.</p></li></ol><h2>Looking forward</h2><p>A more individualistic approach will emerge since people will be able to get good support from tools like copilot or GPT. This means that the manager's role may shift into filling the lack of community and a human touch. </p><p>The ability to engage and fulfill your employees is already an important part of a manager's responsibilities, but the individualistic approach will give these factors even greater significance. Managers must work hard to maintain healthy relationships and strong connections between team members.</p><p>Data quality and supervision of the inputs will become critical. AI models are well-known for biased results and the company that created the model may change it in the future. Managers will need to ensure that the data used to train the models is representative of the real-world.</p><h2>A Reminder</h2><p>Knowing your people means that <strong>you</strong> know your people, not the LLM model.</p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[No Shortcuts: Know Your People]]></title><description><![CDATA[Before applying any management framework, talk and listen to your people, know who they are and what they do.]]></description><link>https://www.engstuff.dev/p/no-shortcuts-know-your-people</link><guid isPermaLink="false">https://www.engstuff.dev/p/no-shortcuts-know-your-people</guid><dc:creator><![CDATA[Shy Alter]]></dc:creator><pubDate>Mon, 08 May 2023 15:31:06 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/28cd9e77-9567-408f-8c7e-c1a750c652ba_1280x896.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="pullquote"><p>For some things, there are no shortcuts.</p></div><p>As a manager in the tech industry, you may feel pressured to implement frameworks and follow best practices to improve team performance. While these tools can be helpful, there is one key factor that can make a substantial impact on your team's success: knowing your people well. In this article, we'll explore why taking the time to understand your team members is more significant than any other task a manager can do.</p><h2>The Framework Manager</h2><p>The rapid growth of the tech industry in recent years has led many companies to hire massive amounts of employees, resulting in a high demand for managers. Most companies require that managers be technical and experienced engineers. This naturally means these new managers must originate from engineers without managerial experience or education.</p><p>I believe that this was a significant advantage. People were not bound to old-style management methods, tried new things, and experimented a lot. That wasn't always pretty, but it helped the industry take another direction.</p><p>Now, a few years later, our industry is a little bit more mature, and more patterns are emerging. Engineers love patterns, so we began to create (or mostly copy) frameworks that we can implement and yield the outcomes we need.</p><ul><li><p>Want to grow your team's personal growth? Use a "Career Ladders" framework.</p></li><li><p>Want to improve performance? Use a quarterly OKR framework.</p></li></ul><p><strong>Using frameworks is great and very advisable!</strong> The challenge starts when managers skip "the fundamentals."</p><h2>The Fundamentals</h2><p>Frameworks are just a tool to reach an outcome; they help us ensure reasonable consistency between teams, departments, and direct reports. Many managers begin to see the framework itself as the goal.</p><blockquote><p>"I do 1:1 every week"</p></blockquote><p>That&#8217;s great, but are these 1:1s helps your reports to grow? Do you feel you are learning new things every session? 1:1s are just a tool to ensure that managers are meeting their reports. They are not the goal.</p><p><strong>Know your people before anything else.</strong></p><p>When I change responsibility with a manager, I do several handoff sessions: the first for ongoing projects and maintenance, the second for domain expertise, and the third for their people. I expect that the manager is well acquainted with each of their reports, what they like and dislike, their strengths and weaknesses, with whom they work best and with whom they have issues, and on which points I should be easy and on which ones strict.</p><p>You'll be surprised how often I found out that managers had no clue about their team members. <strong>They knew some details, but most were superficial. They had never dug deep.</strong></p><h2>Management is Personal</h2><p>So why do so many managers keep things superficial? There are multiple reasons for that, but I suspect that most managers in the tech industry are a bit afraid to make things personal. They prefer to keep things simple and stay behind a safety net to avoid awkward moments and difficult situations.</p><p><em>Remember, this doesn&#8217;t mean you need to like your reports. If you set the right expectations, the manager-report relationship can remain professional.</em>  </p><p>My most successful managers knew their team members so well on a personal level that they could motivate them to reach their full potential while maintaining a healthy work-life balance. The teams operated smoothly because each member was tasked with tasks based on their strengths (or weaknesses). </p><p>The manager's ability to ask difficult questions and follow up every week (or two) made this performance possible.</p><h2>No Shortcuts</h2><p>Some things were not meant to be easy. People are complicated, and therefore managing people is complex. Don't take shortcuts, and learn your people. It may be the most essential foundation for any framework you build on top of it. </p>]]></content:encoded></item><item><title><![CDATA[Operational Minimalism]]></title><description><![CDATA[Say no to advanced features, and embrace simplicity on your way to operational bliss.]]></description><link>https://www.engstuff.dev/p/operational-minimalism</link><guid isPermaLink="false">https://www.engstuff.dev/p/operational-minimalism</guid><dc:creator><![CDATA[Shy Alter]]></dc:creator><pubDate>Tue, 04 Apr 2023 13:29:36 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/5d1b4182-badc-4e34-a4cc-50548cb4fbbb_1280x896.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>Who&#8217;s it for?</strong></p><p>Any organization but mostly for:</p><ol><li><p>Engineering-focused organization.</p></li><li><p>Total of 1-20 engineers.</p></li><li><p>Async.</p></li></ol><p>This could still be relevant if your organization has more than 20+ engineers but will require a proper structure and low level of dependencies.</p><div><hr></div><p><strong>The Era of Mighty Tools</strong></p><p>The average seed to Series A startup uses more tools than the number of team members. Every tool has a unique offering and can do some things better. I&#8217;m not a huge fan of all-in-one solutions, but a team must find the balance that will help them regain control of their operations.</p><p>The ever-going search for the perfect tool will never end. Focus on the tools that make you feel good and help the team be lighter.</p><p><strong>Harder, Better, Faster, Stronger</strong></p><p>With every new feature you introduce to your operational stack, you create a more complex interface for your team. The simpler and cleaner interface to more clarity and efficiency for your team members will get. We often think that a full-featured product will increase productivity, but our organization usually needs less than more.</p><p>Ask yourself the following questions:</p><p>How many buttons do your engineers need to click before they can start writing a system design, writing code, or getting an answer to a blocking question?</p><p>Here is a common scenario for a small startup:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!X0DS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa2b9343-fc14-4100-9ee2-46b80bfbd428_2645x1666.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!X0DS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa2b9343-fc14-4100-9ee2-46b80bfbd428_2645x1666.png 424w, https://substackcdn.com/image/fetch/$s_!X0DS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa2b9343-fc14-4100-9ee2-46b80bfbd428_2645x1666.png 848w, https://substackcdn.com/image/fetch/$s_!X0DS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa2b9343-fc14-4100-9ee2-46b80bfbd428_2645x1666.png 1272w, https://substackcdn.com/image/fetch/$s_!X0DS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa2b9343-fc14-4100-9ee2-46b80bfbd428_2645x1666.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!X0DS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa2b9343-fc14-4100-9ee2-46b80bfbd428_2645x1666.png" width="1456" height="917" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/aa2b9343-fc14-4100-9ee2-46b80bfbd428_2645x1666.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:917,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:417155,&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_!X0DS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa2b9343-fc14-4100-9ee2-46b80bfbd428_2645x1666.png 424w, https://substackcdn.com/image/fetch/$s_!X0DS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa2b9343-fc14-4100-9ee2-46b80bfbd428_2645x1666.png 848w, https://substackcdn.com/image/fetch/$s_!X0DS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa2b9343-fc14-4100-9ee2-46b80bfbd428_2645x1666.png 1272w, https://substackcdn.com/image/fetch/$s_!X0DS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa2b9343-fc14-4100-9ee2-46b80bfbd428_2645x1666.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>Pretty crazy, and here we are talking about a small company of no more than 10 people. Each platform has rich features and abstractions; labels, types, templates, automatons, fields, inline comments, and more.</p><p>This happens because each team member wants to use a system that&#8217;s comfortable for them. Docs should be written in a system that allows rich content and easy to use editor. Projects should be handled with a system that allows a complex dependency system and a beautiful interface to visualize the work. Code review should be managed in a system that allows one to see the changes and make proposals.</p><p>All these are unnecessary features that make you feel good but slow down the actual value the team can bring. Your team is so busy with the work of work. </p><p></p><p><strong>Minimalism bliss</strong></p><p>Your goal is to bring business outcomes while keeping your team happy. Operational clutter is a big issue for both. Let&#8217;s look at an alternative operational solution.</p><ol><li><p><strong>Team&#8217;s Plans</strong> &#8212; GitHub issues.</p></li><li><p><strong>Projects definition</strong> &#8212; GitHub issues.</p></li><li><p><strong>Project&#8217;s Plan</strong> &#8212; In the Project&#8217;s GitHub issue.</p></li><li><p><strong>Tech design</strong> &#8212; In the Project&#8217;s GitHub issue.</p></li><li><p><strong>Code</strong> &#8212; GitHub PRs.</p></li><li><p><strong>RFCs</strong> &#8212; GitHub issues.</p></li><li><p><strong>Decisions</strong> &#8212; GitHub issues.</p></li></ol><p><em>*You can replace GitHub with any other tool (GitLab, Bitbucket, etc.)</em></p><p>You probably think this can&#8217;t scale, or maybe you think that using &#8220;<em><strong>just&#8221; </strong></em>simple markdown and lacking inline comments will slow you down. I believe that&#8217;s not true. The <strong>enforced minimalism</strong> will keep the team more focused on the actual work instead on the meta-work of managing comments and millions of channels. </p><p>The truth is that having a simple text-based list of things you need to get done today (or this week) makes it visible to know how things are going. If you need more than that, you probably lack clarity on your goals or what needs to get done. </p><div class="pullquote"><p>&#8220;If I had more time, I would have written a shorter letter.&#8221; &#8212; <a href="http://en.wikipedia.org/wiki/Cicero">Marcus Tullius Cicero</a>.</p></div><p>If you have more time, spend it reducing content and not flooding your team with many processes and documents to fill up. Don&#8217;t overload abstraction; keep the team very close to their code. </p><p></p><p><strong>Scaling with Minimalism: Addressing Concerns</strong></p><p>I found that the greater the need for complex tools and interfaces, the stronger the signal for either.</p><ol><li><p>Your organizational structure is not effective, which causes too much friction between teams. I suggest looking at <a href="https://teamtopologies.com/">Team Topologies</a>.</p></li><li><p>Your software has too many dependencies, so you need to decouple your modules (or services). </p></li></ol><p>Introducing &#8220;stronger&#8221; operational tools will act as a bandage and increase operational clutter so things move incredibly slowly.</p><p><strong>Looking forward</strong> </p><ol><li><p>Streamlining the toolset: Focus on using a single platform, such as GitHub or GitLab, to manage different aspects of software development, like project planning, tech design, code review, and decision-making.</p></li><li><p>Simplifying processes: Reduce the reliance on inline comments, custom attributes, and complex workflows. Encourage clear and concise communication.</p></li><li><p>Minimizing operational overhead: Limit the number of clicks and tool implementations required to complete tasks, making it easier for team members to get things done.</p></li><li><p>Scaling effectively: Upgrade or merge tools only when they simplify workflows and reduce complexity.</p></li></ol>]]></content:encoded></item><item><title><![CDATA[Team’s Metrics: A Human-Centric Approach]]></title><description><![CDATA[Take a human-centered approach to evaluating your team's metrics and determining how to use them to drive growth.]]></description><link>https://www.engstuff.dev/p/teams-metrics-human-centric-approach</link><guid isPermaLink="false">https://www.engstuff.dev/p/teams-metrics-human-centric-approach</guid><dc:creator><![CDATA[Shy Alter]]></dc:creator><pubDate>Tue, 06 Sep 2022 15:36:45 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/246c839f-41a6-4a07-97ab-84072a921ea5_1280x896.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rZVo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F01b76a37-f400-4baa-b97a-75da244ff612_3332x1663.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rZVo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F01b76a37-f400-4baa-b97a-75da244ff612_3332x1663.png 424w, https://substackcdn.com/image/fetch/$s_!rZVo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F01b76a37-f400-4baa-b97a-75da244ff612_3332x1663.png 848w, https://substackcdn.com/image/fetch/$s_!rZVo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F01b76a37-f400-4baa-b97a-75da244ff612_3332x1663.png 1272w, https://substackcdn.com/image/fetch/$s_!rZVo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F01b76a37-f400-4baa-b97a-75da244ff612_3332x1663.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rZVo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F01b76a37-f400-4baa-b97a-75da244ff612_3332x1663.png" width="1456" height="727" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/01b76a37-f400-4baa-b97a-75da244ff612_3332x1663.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:727,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:270560,&quot;alt&quot;:&quot;Engineering team and thier shadow&quot;,&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="Engineering team and thier shadow" title="Engineering team and thier shadow" srcset="https://substackcdn.com/image/fetch/$s_!rZVo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F01b76a37-f400-4baa-b97a-75da244ff612_3332x1663.png 424w, https://substackcdn.com/image/fetch/$s_!rZVo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F01b76a37-f400-4baa-b97a-75da244ff612_3332x1663.png 848w, https://substackcdn.com/image/fetch/$s_!rZVo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F01b76a37-f400-4baa-b97a-75da244ff612_3332x1663.png 1272w, https://substackcdn.com/image/fetch/$s_!rZVo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F01b76a37-f400-4baa-b97a-75da244ff612_3332x1663.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><figcaption class="image-caption">Just a shadow of the team&#8217;s work</figcaption></figure></div><p>Last week I reread John Cutler's excellent article, <a href="https://amplitude.com/blog/vanity-metrics">"What Are Vanity Metrics and How to Stop Using Them"</a>, where he reflects on product vanity metrics and how to replace them with better KPIs. After reading it, I couldn&#8217;t help but think about the recent blooming of engineering measures.&nbsp;</p><blockquote><p><em>"Vanity metrics are metrics that make us feel good, but don&#8217;t help us do better work or make better decisions. No one is immune to using vanity metrics! The key is ensuring you provide context, state the intent of the metrics you use, and clarify the actions and decisions that the metric (or metrics) will drive. &#8212; John Cutler, What Are Vanity Metrics and How to Stop Using Them</em></p></blockquote><p>It is quite simple to set up a team dashboard with KPIs today. There are a lot of intuitive tools and solutions for gathering and processing your team's signals (i.e., <a href="https://getdx.com/">DX</a>, <a href="https://athenian.com/">Athenian</a>, <a href="https://waydev.co/">Waydev</a>). Consequently, engineering metrics gained popularity, and more teams and leaders are involved in the discussion. People started arguing whether <a href="https://github.com/GoogleCloudPlatform/fourkeys/blob/main/METRICS.md">DORA metrics</a> are useful or useless and whether outputs or outcomes were the best way to measure your team.</p><p>I am glad to hear about the friction in our industry and how it forces our industry to measure and continue improving. However, I think some people miss a fundamental point. <strong>Metrics for your team shouldn't be viewed as goals; rather, they should be viewed as health measures that help identify issues.</strong></p><h2>System of people, not machines</h2><p>Almost all engineering leaders come from engineering backgrounds where they have built and maintained systems of machines (i.e., servers, modules, functions). These systems are constantly measured and validated for performance, stability, security, and many other metrics. It's a winning system that allows teams to improve customer satisfaction while reducing operational costs.&nbsp;</p><p>Assume that customers start to complain about your product performance. You decide to improve them, and to achieve this, you set a requirement for all page loads to be performed within 300ms. Once you find out which queries are problematic, you can start figuring out why they are problematic. There is a solution out there, and it is only a matter of time.</p><p>It would be ideal if our dashboard looked as elegant as the one on our car. You can easily check your oil level and refill it if it's low, and if the tank fills up and gets empty, there is a rational explanation behind the problem that we can diagnose and solve.</p><p>So the thing is that.. <strong>humans are not processing units that you can debug</strong>. We are not pure input-output machines and are full of side effects. That's why we are capable of making beautiful and unexpected things that are also impossible to reason about. Therefore the way we reason and, more importantly, the way we act must be different.</p><p>Ultimately, engineering metrics can't tell your team the whole picture. They just provide a glimpse of what is actually going on. The good news is that they are still incredibly useful. By becoming more "data-informed" rather than "data-driven," you can use them to create experiments and define hypotheses instead. <strong>Focus on behaviors rather than shallow numbers.</strong></p><h2>Incentives shape behavior</h2><p>It is also common for managers to set goals based on metrics' values, such as, "In Q4, we aim to reduce our lead time by 30%". Don't get me wrong, the reasoning behind it is solid. A smaller idea-to-production loop will enable the team to learn faster. However, do you believe reducing lead time by 30% will result in more learning? You're just trying to set a proxy metric because there is no feasible way to measure your learning rate. Reaching four hours lead time means you reached four hours lead time. You are likely to reach this goal if the team is motivated by this, but probably by doing things unrelated to learning. While the team might be shipping faster, they might not look back and learn.</p><blockquote><p><em>&#8220;When a measure becomes a target, it ceases to be a good measure.&#8221; &#8212; Goodhart&#8217;s Law.</em></p></blockquote><p>Imagine we want our city to be safer, so we set a target for our police department's case closure rate. This might result in the opposite. The department might choose to focus on easy-to-solve cases and avoid difficult ones that would significantly impact our community.</p><p>Lead time is a measure that can be used to assess the health of the team. Establish patterns for your team and start tracking anomalies. Has the lead time increased from 4 to 30 hours? Investigate, write your assumptions, and build hypotheses. Then validate them with qualitative research and keep measuring the impact of your changes.</p><h2>Accept that your data is incomplete.</h2><p>Although GitHub, Linear, or Jira can provide quite a lot of information about your team, <strong>these metrics are only a shadow of what actually happens</strong>. The rule of big numbers can help in large teams (100 or more engineers), but it is also more vulnerable to inconsistencies between departments and teams. Accepting this truth will help you to ensure you are leveraging the full potential of your tools and analytics.&nbsp;</p><ul><li><p>Has the number of bugs increased? The problem could be caused by a buggy feature or by a new manager with a higher quality standard.</p></li></ul><ul><li><p>Has the lead time decreased? There could be several reasons for this: either your team is shipping smaller chunks, or maybe they started designing their plans on a new tool that isn't being tracked.</p></li></ul><p>Measurement systems should allow you to reduce your search parameters and focus on a smaller interface. Health metrics can indicate where you should start looking and will help you validate the effects of your decisions.</p><h2>But elite performers&#8217; teams reach XYZ</h2><p>True but lacking context. Logic states that A&#8658;B doesn't imply B&#8658;A. In other words, many outstanding teams indeed share similar metrics and patterns, but that doesn't mean that if your team reaches these results, it will make them outstanding.</p><p>Even if an article suggests presenting a team that merges 10 PRs a week is the new rule, take a moment before setting a new standard. Study the ins and outs of that difference and why your team is doing things differently. It might turn out that having 10 PRs a week comes with a weak code review process and a lot of follow-up work. Are you willing to make this tradeoff?</p><p>Instead of focusing on metrics, identify your team's strengths and weaknesses <strong>by talking to members and stakeholders</strong> (product, design, and customers). Develop theories by being curious and inspired. Don't adopt any system before testing if it fits your specific context.</p><h2>Summary</h2><p>The availability of data gives us managers a lot of new opportunities. If we know how to avoid our desire to rely on qualitative data and mix some qualitative approaches, we can unlock impressive growth for our team. Make sure you don't skimp on assumptions and hypotheses. Research and experiment properly.</p><p><em>Recommended follow-up readings:</em></p><ul><li><p><a href="https://amplitude.com/blog/data-driven-data-informed-data-inspired">Are You Data-driven, Data-informed or Data-inspired?</a></p></li><li><p><a href="https://amplitude.com/blog/vanity-metrics">What Are Vanity Metrics and How to Stop Using Them</a></p></li><li><p><a href="https://www.guildmasterconsulting.com/post/episode-8-big-manager-is-watching">Episode 8: "Big Manager is Watching"</a></p></li></ul><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.engstuff.dev/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 Stuff on Engineering! 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[Tribalism and Leadership]]></title><description><![CDATA[What is Tribalism, and why it's such a critical tool for leaders]]></description><link>https://www.engstuff.dev/p/tribalism-and-leadership</link><guid isPermaLink="false">https://www.engstuff.dev/p/tribalism-and-leadership</guid><dc:creator><![CDATA[Shy Alter]]></dc:creator><pubDate>Tue, 26 Jul 2022 16:56:59 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/h_600,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8c91460-f1a3-4922-ab7f-3783f824aac0_3332x1663.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1MbJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd8b49bf-2477-4b73-9bed-315ca7309376_5243x2349.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1MbJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd8b49bf-2477-4b73-9bed-315ca7309376_5243x2349.png 424w, https://substackcdn.com/image/fetch/$s_!1MbJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd8b49bf-2477-4b73-9bed-315ca7309376_5243x2349.png 848w, https://substackcdn.com/image/fetch/$s_!1MbJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd8b49bf-2477-4b73-9bed-315ca7309376_5243x2349.png 1272w, https://substackcdn.com/image/fetch/$s_!1MbJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd8b49bf-2477-4b73-9bed-315ca7309376_5243x2349.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1MbJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd8b49bf-2477-4b73-9bed-315ca7309376_5243x2349.png" width="1456" height="652" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/cd8b49bf-2477-4b73-9bed-315ca7309376_5243x2349.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:652,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1391060,&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_!1MbJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd8b49bf-2477-4b73-9bed-315ca7309376_5243x2349.png 424w, https://substackcdn.com/image/fetch/$s_!1MbJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd8b49bf-2477-4b73-9bed-315ca7309376_5243x2349.png 848w, https://substackcdn.com/image/fetch/$s_!1MbJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd8b49bf-2477-4b73-9bed-315ca7309376_5243x2349.png 1272w, https://substackcdn.com/image/fetch/$s_!1MbJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd8b49bf-2477-4b73-9bed-315ca7309376_5243x2349.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><figcaption class="image-caption"><em>"People are tribal. The more settled things are, the bigger the tribes can be. The churn comes, and the tribes get small again."</em><strong>&nbsp;</strong><em>&#8211; Amos Burton, The Expanse.</em></figcaption></figure></div><p>Did you ever wonder why tech companies love giving you t-shirts with their logo on them? Why are people willing to work insane hours while getting paid globally?</p><p>In addition to personal and professional reasons, one is based on the survival instinct of our ancestors. In his book Sapiens, Yuval Noah Harari claims that humans managed to reach the top of the food chain by embracing collaboration with strangers. Sounds familiar?</p><p>A company is essentially a group of strangers cooperating to gain market share. The most successful companies were the ones that had built a strong collaborative culture and were very successful at defining their own unique culture. However, there are so many companies out there. How can someone stay when there are so many options?</p><blockquote><p><em>"Ants and bees can also work together in huge numbers, but they do so in a very rigid manner and only with close relatives. Wolves and chimpanzees cooperate far more flexibly than ants, but they can do so only with small numbers of other individuals that they know intimately. Sapiens can cooperate in extremely flexible ways with countless numbers of strangers. That's why Sapiens rule the world, whereas ants eat our leftovers and chimps are locked up in zoos and research laboratories." &#8211;&nbsp;<strong>Yuval Noah Harari, Sapiens.</strong></em></p></blockquote><p><em>Tribalism</em>&nbsp;is a concept in anthropology that refers to a cultural phenomenon through which individuals create groups or organizations of a social nature. These groups or organizations enable individuals to identify and reaffirm themselves as part of something larger.</p><p>Leaders must acknowledge this tendency and its immense impact on the humans who work in their company. Tribalism exerts a two-way influence. People seek to leave a trace of their passage through the organization, and, in turn, the organization itself exerts influence on the person.</p><h2><strong>Loyalty:</strong>&nbsp;If this feelin' flows both ways?</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wqK5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8c91460-f1a3-4922-ab7f-3783f824aac0_3332x1663.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wqK5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8c91460-f1a3-4922-ab7f-3783f824aac0_3332x1663.png 424w, https://substackcdn.com/image/fetch/$s_!wqK5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8c91460-f1a3-4922-ab7f-3783f824aac0_3332x1663.png 848w, https://substackcdn.com/image/fetch/$s_!wqK5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8c91460-f1a3-4922-ab7f-3783f824aac0_3332x1663.png 1272w, https://substackcdn.com/image/fetch/$s_!wqK5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8c91460-f1a3-4922-ab7f-3783f824aac0_3332x1663.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wqK5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8c91460-f1a3-4922-ab7f-3783f824aac0_3332x1663.png" width="1456" height="727" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/c8c91460-f1a3-4922-ab7f-3783f824aac0_3332x1663.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:727,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:375914,&quot;alt&quot;:&quot;An individual gives loyalty but does not necessarily get it back&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="An individual gives loyalty but does not necessarily get it back" title="An individual gives loyalty but does not necessarily get it back" srcset="https://substackcdn.com/image/fetch/$s_!wqK5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8c91460-f1a3-4922-ab7f-3783f824aac0_3332x1663.png 424w, https://substackcdn.com/image/fetch/$s_!wqK5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8c91460-f1a3-4922-ab7f-3783f824aac0_3332x1663.png 848w, https://substackcdn.com/image/fetch/$s_!wqK5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8c91460-f1a3-4922-ab7f-3783f824aac0_3332x1663.png 1272w, https://substackcdn.com/image/fetch/$s_!wqK5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8c91460-f1a3-4922-ab7f-3783f824aac0_3332x1663.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">Are you getting what you are putting?</figcaption></figure></div><p>In the current downturn, while tech companies keep cutting their staff, loyalty starts getting a negative connotation. There is a shame in this because loyalty can be rewarding if both sides are treated with respect.</p><p>In light of our tribal nature, I believe most of us are searching for a loyal relationship that will provide us safety (in different shapes and colors). I also believe companies can be an excellent place for that. How can you tell if this feelin' flows both ways? In the recent downturn, many found themselves asking this question after they received an email thanking them for their time and wishing them good luck with what's next (they got fired).</p><p>Managers must realize that when they ask for high loyalty, they must provide something in return. In some cases, it can be simple loyalty in return, but savvy managers know this is impossible when working in a fast-paced environment. The company needs to ensure its survival which means loyalty can't be achieved at all costs. Nevertheless, you can give something else in return. It could be personal growth, respect, or excellent compensation. The main point is that loyalty doesn't come for free, and as a manager, don't rely on the ability to give it back.</p><p>Once loyalty is established, you have a moral obligation to avoid exploiting it. In many cases, people are reluctant to dissolve even toxic relationships that could be potentially destructive due to their fear of breaking social bonds. Managers often use that to keep an employee while they know it is bad for them or push them for 200% before a deadline while they know it's bullshit. Remember that loyalty takes time to build but once removed, it is nearly impossible to regain.</p><h2>Self-confidence: I've just been fakin' it (fakin' it)</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HQJy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F70f63c37-6d67-4a40-bbea-1132c7c35e13_3332x1663.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HQJy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F70f63c37-6d67-4a40-bbea-1132c7c35e13_3332x1663.png 424w, https://substackcdn.com/image/fetch/$s_!HQJy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F70f63c37-6d67-4a40-bbea-1132c7c35e13_3332x1663.png 848w, https://substackcdn.com/image/fetch/$s_!HQJy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F70f63c37-6d67-4a40-bbea-1132c7c35e13_3332x1663.png 1272w, https://substackcdn.com/image/fetch/$s_!HQJy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F70f63c37-6d67-4a40-bbea-1132c7c35e13_3332x1663.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HQJy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F70f63c37-6d67-4a40-bbea-1132c7c35e13_3332x1663.png" width="1456" height="727" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/70f63c37-6d67-4a40-bbea-1132c7c35e13_3332x1663.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:727,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:193154,&quot;alt&quot;:&quot;Thanks to their team, an individual can fly&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="Thanks to their team, an individual can fly" title="Thanks to their team, an individual can fly" srcset="https://substackcdn.com/image/fetch/$s_!HQJy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F70f63c37-6d67-4a40-bbea-1132c7c35e13_3332x1663.png 424w, https://substackcdn.com/image/fetch/$s_!HQJy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F70f63c37-6d67-4a40-bbea-1132c7c35e13_3332x1663.png 848w, https://substackcdn.com/image/fetch/$s_!HQJy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F70f63c37-6d67-4a40-bbea-1132c7c35e13_3332x1663.png 1272w, https://substackcdn.com/image/fetch/$s_!HQJy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F70f63c37-6d67-4a40-bbea-1132c7c35e13_3332x1663.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">Ride on your team&#8217;s self-confidence</figcaption></figure></div><blockquote><p><em>"Chess and me, it's hard to take them apart. It's like my alter ego". &#8211;&nbsp;<strong>Bobby Fischer</strong></em></p></blockquote><p>Working in tech can be very stressful. A very result-driven culture can leave people in a continuous state of Imposter syndrome.&nbsp;<a href="https://www.healthline.com/health/mental-health/imposter-syndrome#:~:text=Imposter%20syndrome%2C%20also%20called%20perceived,yourself%20to%20ever%20higher%20standards.">"Feelings of self-doubt and personal incompetence that persist despite your education, experience, and accomplishments."</a>&nbsp;While managers can't control the outside environment, they can create a shared identity that can promote self-confidence.</p><p>Employees can leverage their colleagues' confidence and commitment with a second identity:&nbsp;<em>"I'm proud to be part of this team; we make a difference together"</em>. Creating a small tribe and a "team identity" can make people feel part of something bigger than them.&nbsp;</p><p>Refer to your team as "We"; we decided, we need, we will. Whenever possible, discuss things in the team's channel. For example, when you need to allocate a new task for a team member, message them in the team's channel. In addition, develop a team language, your way of speaking, and what you talk about.</p><blockquote><p><em>"Change the language in the tribe, and you have changed the tribe itself." &#8213;&nbsp;<strong>Dave Logan, Tribal Leadership: Leveraging Natural Groups to Build a Thriving Organization</strong></em>.</p></blockquote><p>It is essential to balance that tribal mentality so as not to fall prey to the Us vs. Them mentality; as a result of Tribalism, you cannot altogether avoid this. Therefore, ensure that your team has strong and stable connections with the "outside world". Another critical warning is that the company identity should never come before the individual identity. This can end up in a homogeneous culture which does not accept diversity. Rather than replacing, augment.</p><h2>Safe zone: If you fall, I will catch you, I'll be waiting</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wsXf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8f71556d-2c1a-44d0-a99e-5337d7c66961_3332x1663.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wsXf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8f71556d-2c1a-44d0-a99e-5337d7c66961_3332x1663.png 424w, https://substackcdn.com/image/fetch/$s_!wsXf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8f71556d-2c1a-44d0-a99e-5337d7c66961_3332x1663.png 848w, https://substackcdn.com/image/fetch/$s_!wsXf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8f71556d-2c1a-44d0-a99e-5337d7c66961_3332x1663.png 1272w, https://substackcdn.com/image/fetch/$s_!wsXf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8f71556d-2c1a-44d0-a99e-5337d7c66961_3332x1663.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wsXf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8f71556d-2c1a-44d0-a99e-5337d7c66961_3332x1663.png" width="1456" height="727" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/8f71556d-2c1a-44d0-a99e-5337d7c66961_3332x1663.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:727,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:334043,&quot;alt&quot;:&quot;Individuals fall, but their team's safety nets catch them&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="Individuals fall, but their team's safety nets catch them" title="Individuals fall, but their team's safety nets catch them" srcset="https://substackcdn.com/image/fetch/$s_!wsXf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8f71556d-2c1a-44d0-a99e-5337d7c66961_3332x1663.png 424w, https://substackcdn.com/image/fetch/$s_!wsXf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8f71556d-2c1a-44d0-a99e-5337d7c66961_3332x1663.png 848w, https://substackcdn.com/image/fetch/$s_!wsXf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8f71556d-2c1a-44d0-a99e-5337d7c66961_3332x1663.png 1272w, https://substackcdn.com/image/fetch/$s_!wsXf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8f71556d-2c1a-44d0-a99e-5337d7c66961_3332x1663.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">Your team, Your safety net</figcaption></figure></div><p>A team member once told me,&nbsp;<em>"I feel like I'm supposed to be under pressure, but for some reason, I just don't "</em>. Their sense of belonging made them feel like this was a team responsibility rather than a personal one. People without a tribe may experience intense pressure since they do not have anyone to support them. Studies even suggest that organizational belongingness could mediate stress and post-trauma among firefighters<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a>, which have many similarities with burnout.</p><p>One way to measure the "quality" of a safe zone is by looking at how much the team shares its vulnerabilities. It's a good sign if people share their failures and mistakes openly. But it's a red flag if every meeting is cheerful and no one talks about negative topics.</p><p>Managers can help their team to develop that skill by providing relevant and authentic examples. Talking about uncomfortable topics and surfacing issues that are usually "backchanneled" will show the team that it's ok to share.</p><h2>Takeaways: Dos and don'ts.</h2><ul><li><p><strong>Do:</strong> Recognize the importance of loyalty and compensate accordingly</p></li><li><p><strong>Don't:</strong> Try to give the illusion of loyalty if you can't really do it (outside your control).</p></li><li><p><strong>Do:</strong> Offer a second identity in the form of a team identity</p></li><li><p><strong>Don't:</strong> Lose sight of the individual's identity in the name of the team</p></li><li><p><strong>Do:</strong> Keep an eye on your team's "Us vs. Them" levels to make sure it isn't reaching toxic levels</p></li><li><p><strong>Don't:</strong> Rely on one-to-one relationships or put pressure on individuals</p></li><li><p><strong>Do:</strong> Apply the&nbsp;<a href="https://newsletter.engstuff.xyz/p/the-cone-model-for-teams-support-network-9b87659c8008">Cone model</a>&nbsp;to distribute team pressure and support</p></li></ul><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.engstuff.dev/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">Well done, you've made it all the way to the end! Get this one a month by subscribing</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><p><strong>Reference songs:</strong></p><p>If this feelin' flows both ways? &#8212; <a href="https://www.youtube.com/watch?v=bpOSxM0rNPM">Arctic Monkeys - Do I Wanna Know?</a></p><p>I've just been fakin' it (fakin' it) &#8212; <a href="https://www.youtube.com/watch?v=XLjHt5tkRFo">Simon &amp; Garfunkel - Fakin' It</a></p><p>If you fall, I will catch you, I'll be waiting &#8212; <a href="https://www.youtube.com/watch?v=VdQY7BusJNU">Cyndi Lauper - Time After Time</a></p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>Armstrong D, Shakespeare-Finch J, Shochet I. Organizational belongingness mediates the relationship between sources of stress and posttrauma outcomes in firefighters. Psychol Trauma. 2016 May;8(3):343-7. DOI: 10.1037/tra0000083. Epub 2015 Oct 12. PMID: 26460494.</p><p></p></div></div>]]></content:encoded></item><item><title><![CDATA[The Five-Point Framework for Saying No]]></title><description><![CDATA[Learn to identify the signals that it's time to say no and ask for more information]]></description><link>https://www.engstuff.dev/p/shorty-the-five-point-framework-for</link><guid isPermaLink="false">https://www.engstuff.dev/p/shorty-the-five-point-framework-for</guid><dc:creator><![CDATA[Shy Alter]]></dc:creator><pubDate>Wed, 22 Jun 2022 17:52:53 GMT</pubDate><enclosure url="https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/d6dc52fe-87bb-4d06-905d-dded7f865bb2_1219x823.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The fun part of working as engineers is that we get to solve challenges. We are expected to deliver high-quality solutions on time, which puts us under a lot of pressure. As a result, I find that many engineers (primarily juniors) become silent when they need to say no.</p><p>But how do you know when to say no? What signals that it&#8217;s time to stop?</p><p>Here is an&nbsp;<strong>oversimplified</strong>&nbsp;framework that is easy to remember and use for requests, feedback, bugs, and tasks.&nbsp;</p><h3><strong>The five-point framework</strong></h3><p><strong>Product</strong>&nbsp;&#8212; What are the pain points or opportunities we are addressing? Do I know who will benefit from these changes and how?</p><p><strong>Impact</strong>&nbsp;&#8212; Will the efforts make a difference to the company? Will this be the most valuable thing we can do right now?</p><p><strong>Coding</strong>&nbsp;&#8212; Is it more challenging than it seems? How many &#8220;workaround&#8221; will I have to make?</p><p><strong>Quality</strong>&nbsp;&#8212; Will the final results compromise any existing functionality? Does the final result meet our standards?</p><p><strong>Results</strong>&nbsp;&#8212; Given the requirements, will the project be completed on time?</p><blockquote><p><em>The list can be expanded based on your needs, but I strongly urge keeping it short and straightforward.</em></p></blockquote><h3><strong>How to use it</strong></h3><ol><li><p>Ask yourself these questions, and if you cannot answer one of them or do not feel confident about your answer, then say no until it is resolved.</p></li><li><p>You can also say stop in the middle of a task.</p></li></ol>]]></content:encoded></item><item><title><![CDATA[Top-down, bottom-up, and everything in-between]]></title><description><![CDATA[Balancing strategic work with day-to-day work for a B2B product-led company.]]></description><link>https://www.engstuff.dev/p/top-down-bottom-up-and-everything</link><guid isPermaLink="false">https://www.engstuff.dev/p/top-down-bottom-up-and-everything</guid><dc:creator><![CDATA[Shy Alter]]></dc:creator><pubDate>Tue, 07 Jun 2022 05:35:53 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Zzbu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fef9f6956-64fb-4251-b699-f25d731a694a_3332x1663.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Zzbu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fef9f6956-64fb-4251-b699-f25d731a694a_3332x1663.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Zzbu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fef9f6956-64fb-4251-b699-f25d731a694a_3332x1663.png 424w, https://substackcdn.com/image/fetch/$s_!Zzbu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fef9f6956-64fb-4251-b699-f25d731a694a_3332x1663.png 848w, https://substackcdn.com/image/fetch/$s_!Zzbu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fef9f6956-64fb-4251-b699-f25d731a694a_3332x1663.png 1272w, https://substackcdn.com/image/fetch/$s_!Zzbu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fef9f6956-64fb-4251-b699-f25d731a694a_3332x1663.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Zzbu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fef9f6956-64fb-4251-b699-f25d731a694a_3332x1663.png" width="1456" height="727" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/ef9f6956-64fb-4251-b699-f25d731a694a_3332x1663.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:727,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:166071,&quot;alt&quot;:&quot;Two arrows pointing to a box (top and down)),&quot;,&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="Two arrows pointing to a box (top and down))," title="Two arrows pointing to a box (top and down))," srcset="https://substackcdn.com/image/fetch/$s_!Zzbu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fef9f6956-64fb-4251-b699-f25d731a694a_3332x1663.png 424w, https://substackcdn.com/image/fetch/$s_!Zzbu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fef9f6956-64fb-4251-b699-f25d731a694a_3332x1663.png 848w, https://substackcdn.com/image/fetch/$s_!Zzbu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fef9f6956-64fb-4251-b699-f25d731a694a_3332x1663.png 1272w, https://substackcdn.com/image/fetch/$s_!Zzbu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fef9f6956-64fb-4251-b699-f25d731a694a_3332x1663.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><figcaption class="image-caption">Credit: Author</figcaption></figure></div><p>When a company reaches 50+ people (or sooner), things start to get complex. Departments are starting to form, and each one has different KPIs, targets, and incentives. What was just product engineering became Sales, Marking, Community, and Support. You begin hearing executives talking about budget and the &#8220;corporate strategy&#8221;. At this point, many tech startups feel a bit uncomfortable. They are used to a bottom-up approach where things happen naturally, and direction can be decided quickly.</p><p>The good news are, you do not have to lose your bottom-up approach. Balance it with a few (very few) solid and clear top-down strategies.</p><h2>When you have to shoot, shoot. Don't talk.</h2><blockquote><p>"Plan and prepare for every possibility, and you will never act. It is nobler to have courage as we stumble into half the things we fear than to analyze every possible obstacle and begin nothing. Great things are achieved by embracing great dangers."</p><p>&#8212; Xerexes (maybe)</p></blockquote><p>There is a tendency for leaders to be obsessed with strategies, but the simple truth is that many things don&#8217;t need any strategy. The team will work for a few weeks just to develop the exact same actions they knew they needed to do.&nbsp;</p><p>Save your strategy work for the really complex work that needs research and coordination with other departments.</p><p>But how can you decide what "first things" to do?</p><ol><li><p>The business impact is evident and significant. (10% more subscriptions, close 3 large clients, reduce support pressure by 30%)</p></li><li><p>The engineering impact is evident and significant. (Increase productivity by 10%, Reduce bugs by 25%)</p></li><li><p>Red flag for engineering or product standards. (Developers can&#8217;t deploy quickly, Users don&#8217;t understand how to use the product)</p></li><li><p>Everyone in the company knows about it and wants to do it. (The way we do X sucks)</p></li></ol><h2>Make the Top-down worth it.</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4kKR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F447b54fa-ad5a-4e77-ad58-9bf3ae974d90_3198x1489.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4kKR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F447b54fa-ad5a-4e77-ad58-9bf3ae974d90_3198x1489.png 424w, https://substackcdn.com/image/fetch/$s_!4kKR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F447b54fa-ad5a-4e77-ad58-9bf3ae974d90_3198x1489.png 848w, https://substackcdn.com/image/fetch/$s_!4kKR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F447b54fa-ad5a-4e77-ad58-9bf3ae974d90_3198x1489.png 1272w, https://substackcdn.com/image/fetch/$s_!4kKR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F447b54fa-ad5a-4e77-ad58-9bf3ae974d90_3198x1489.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4kKR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F447b54fa-ad5a-4e77-ad58-9bf3ae974d90_3198x1489.png" width="1456" height="678" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/447b54fa-ad5a-4e77-ad58-9bf3ae974d90_3198x1489.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:678,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:264215,&quot;alt&quot;:&quot;Arrows indicate goo initial direction, and bad initial direction&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="Arrows indicate goo initial direction, and bad initial direction" title="Arrows indicate goo initial direction, and bad initial direction" srcset="https://substackcdn.com/image/fetch/$s_!4kKR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F447b54fa-ad5a-4e77-ad58-9bf3ae974d90_3198x1489.png 424w, https://substackcdn.com/image/fetch/$s_!4kKR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F447b54fa-ad5a-4e77-ad58-9bf3ae974d90_3198x1489.png 848w, https://substackcdn.com/image/fetch/$s_!4kKR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F447b54fa-ad5a-4e77-ad58-9bf3ae974d90_3198x1489.png 1272w, https://substackcdn.com/image/fetch/$s_!4kKR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F447b54fa-ad5a-4e77-ad58-9bf3ae974d90_3198x1489.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>Now that you addressed your "first things&#8221; (I urge you to do them before any strategic work), it&#8217;s time to think of your engineering strategy. You are not alone, and you must acknowledge this. As engineering has a massive impact on the success of your startup, your decision will impact every other department. If you only focus on scalability, you might ignore that new feature sales desperately need to reach their targets.</p><h3><strong>One team, one goal</strong></h3><p>Prioritize your company's few strategies holistically. Seat down with your leadership team and ask them, &#8220;What are your goals, and how are you planning to get there?&#8221;. Pick one of the many fantastic techniques to achieve this (OKRs or <a href="https://www.producttalk.org/opportunity-solution-tree/">Opportunity-Solution Trees</a>) and be sure to know what your fellow department is aiming for. </p><p>Use a collaborative method rather than a validation mechanism - Rather than working in silos and submitting your strategy for approval at the end, have collaborative sessions to discuss things together and create short loop feedback even when you are not sure.</p><h3><strong>Before, after, or in the middle?&nbsp;</strong></h3><p>Once streams are moving, aligning them is much more challenging, but by adjusting their initial azimuth you can avoid a lot of friction. As is true of everything in nature, every friction caused by a direction change will deplete your team's energy. Startups require efficiency at every turn.</p><p>Your meeting with the leadership will help you determine the azimuth that is most appropriate, to begin with. Of course, you will need to keep monitoring the location of your department and make adjustments.</p><h3><strong>Commit to Focus</strong></h3><p>Usually, at this stage, the department will have 5-6 strategies in place that attempt to address all the critical issues. Sounds reasonable, doesn't it? No, that's just too much top-down direction. Choosing 1-2 is the most effective way to make top-down worthwhile. Push the rest.</p><p>Win 1-2 strategies, and then move on. It is easy to preach focus, but only by focusing your team's attention on the right strategy will you truly make a difference.&nbsp;</p><h2>To achieve bottom-up, one must work</h2><p>Top-down can only bring you to a certain point, but bottom-up separates the most successful organizations where individuals lead innovation and hold up the product standards.</p><p>This post isn't going to focus on how to empower the team (maybe in a separate post), but I will mention some things that are often considered a strategy but are actually bottom-up.</p><h3><strong>Direction and vision</strong></h3><p>People link vision/direction documents with strategies, and it&#8217;s not wrong. The vision is critical for starting the discussion, but ultimately they are incredibly impactful for individuals in their day-to-day work.</p><p>Your strategies are focused on bringing you a specific outcome, but meanwhile, the team must keep working on the day-to-day. A well-defined direction will help engineers raise those red flags and identify high-impact work that wasn&#8217;t part of the strategy. Someone might bring to the table a fantastic opportunity they found out about.</p><p>In order to assist your team in identifying an opportunity, including both good and bad signals in your vision, for example:</p><p><strong>Direction:</strong><br>System usability improvements &#8212; we will raise the bar for system usability and level of quality.</p><p><strong>Signals:</strong><br>- <strong>Bad:</strong> We must write articles on how to use the system.<br>- <strong>Good: </strong>Features are adopted quickly.<br>- <strong>Bad:</strong> We often get &#8220;false bugs&#8221; because of misunderstandings.</p><h3><strong>If there is no law, you can't break it.</strong></h3><p>Another piece that can drive your engineers is standards. Setting the expectation for quality, success, velocity, values, and basically, anything you care about, your team can spot gaps and surface opportunities or pain points. The key to creating this culture is actually to do something when things come up. If your answer is always &#8220;not a priority,&#8221; at some point, people will stop coming to you.</p><div><hr></div><p>Here are a few things you can do if you liked the article:</p><p><strong>1) Share</strong> &#8212; Spread the word about this article to someone who may find it helpful.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.engstuff.dev/p/top-down-bottom-up-and-everything?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://www.engstuff.dev/p/top-down-bottom-up-and-everything?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p><strong>2) Comment</strong>  &#8212; Feel free to share your thoughts, questions, or simply your take on things!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.engstuff.dev/p/top-down-bottom-up-and-everything/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.engstuff.dev/p/top-down-bottom-up-and-everything/comments"><span>Leave a comment</span></a></p><p><strong>3) Subscribe</strong> &#8212; If you haven't done so yet!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.engstuff.dev/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://www.engstuff.dev/subscribe?"><span>Subscribe now</span></a></p><div><hr></div>]]></content:encoded></item><item><title><![CDATA[Anti-pattern: The Engineering Managers’ Group]]></title><description><![CDATA[Engineering managers emphasize the importance of growth and teamwork, but forget about their own growth and turn their backs on the techniques they use on their teams. When EMs work as a team, they can get the benefits of a team.]]></description><link>https://www.engstuff.dev/p/anti-pattern-the-ems-group</link><guid isPermaLink="false">https://www.engstuff.dev/p/anti-pattern-the-ems-group</guid><dc:creator><![CDATA[Shy Alter]]></dc:creator><pubDate>Wed, 11 May 2022 11:37:34 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F22fbc83a-8b79-40cd-a749-0a0bc69dd4a7_1101x606.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UH9f!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F22fbc83a-8b79-40cd-a749-0a0bc69dd4a7_1101x606.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UH9f!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F22fbc83a-8b79-40cd-a749-0a0bc69dd4a7_1101x606.png 424w, https://substackcdn.com/image/fetch/$s_!UH9f!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F22fbc83a-8b79-40cd-a749-0a0bc69dd4a7_1101x606.png 848w, https://substackcdn.com/image/fetch/$s_!UH9f!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F22fbc83a-8b79-40cd-a749-0a0bc69dd4a7_1101x606.png 1272w, https://substackcdn.com/image/fetch/$s_!UH9f!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F22fbc83a-8b79-40cd-a749-0a0bc69dd4a7_1101x606.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UH9f!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F22fbc83a-8b79-40cd-a749-0a0bc69dd4a7_1101x606.png" width="1101" height="606" data-attrs="{&quot;src&quot;:&quot;https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F22fbc83a-8b79-40cd-a749-0a0bc69dd4a7_1101x606.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:606,&quot;width&quot;:1101,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:66136,&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_!UH9f!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F22fbc83a-8b79-40cd-a749-0a0bc69dd4a7_1101x606.png 424w, https://substackcdn.com/image/fetch/$s_!UH9f!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F22fbc83a-8b79-40cd-a749-0a0bc69dd4a7_1101x606.png 848w, https://substackcdn.com/image/fetch/$s_!UH9f!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F22fbc83a-8b79-40cd-a749-0a0bc69dd4a7_1101x606.png 1272w, https://substackcdn.com/image/fetch/$s_!UH9f!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F22fbc83a-8b79-40cd-a749-0a0bc69dd4a7_1101x606.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><blockquote><p><em>EM = Engineering manager<br>EMs = Engineering managers</em></p></blockquote><p>Whenever they are given the opportunity, engineering managers emphasize the importance of growth and the importance of teamwork. Yet, they often forget about their development and turn their backs on the techniques they use on their teams.</p><p>The fact is that when EMs work as a team, they can get the benefits of a team. Sounds simple? Well, it isn&#8217;t straightforward.</p><h1>Are we&#8230; a team?</h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Ax6O!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5d33e626-202d-4aff-876c-dac39628a9da_1866x989.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ax6O!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5d33e626-202d-4aff-876c-dac39628a9da_1866x989.png 424w, https://substackcdn.com/image/fetch/$s_!Ax6O!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5d33e626-202d-4aff-876c-dac39628a9da_1866x989.png 848w, https://substackcdn.com/image/fetch/$s_!Ax6O!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5d33e626-202d-4aff-876c-dac39628a9da_1866x989.png 1272w, https://substackcdn.com/image/fetch/$s_!Ax6O!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5d33e626-202d-4aff-876c-dac39628a9da_1866x989.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ax6O!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5d33e626-202d-4aff-876c-dac39628a9da_1866x989.png" width="1456" height="772" data-attrs="{&quot;src&quot;:&quot;https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5d33e626-202d-4aff-876c-dac39628a9da_1866x989.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:772,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:140381,&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;: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_!Ax6O!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5d33e626-202d-4aff-876c-dac39628a9da_1866x989.png 424w, https://substackcdn.com/image/fetch/$s_!Ax6O!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5d33e626-202d-4aff-876c-dac39628a9da_1866x989.png 848w, https://substackcdn.com/image/fetch/$s_!Ax6O!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5d33e626-202d-4aff-876c-dac39628a9da_1866x989.png 1272w, https://substackcdn.com/image/fetch/$s_!Ax6O!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5d33e626-202d-4aff-876c-dac39628a9da_1866x989.png 1456w" sizes="100vw"></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">A team or a group?</figcaption></figure></div><p>As a team, we work as a unit, share a mission, have common goals, and be accountable for our accomplishments. Naturally, engineering managers identify their groups as teams. They have a shared mission and goals they are set to accomplish (hopefully).&nbsp;&nbsp;</p><p>Here are some signs that will allow you to figure out if you are working as a group or a team.</p><h2>Signals</h2><p><em>Some simple signals that can help you understand if you are a group.</em></p><p><strong>What's my name?<br></strong>People usually refer to their fellow EMs as "The EMs group".</p><p><strong>Can you cover for me?<br></strong>Can a fellow manager fill in for one of the EMs if they are absent?</p><p><strong>Do we have a shared memory?<br></strong>Are different teams making the same mistakes and failing on the same issue?</p><p><strong>Do I have 1:1s with other EMs?<br></strong>Is the manager the only one who facilitates communication?</p><h1>Forming a team</h1><h2>Inside jokes</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-75a!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9ec86483-14c3-413b-81ac-a967400d8058_1866x989.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-75a!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9ec86483-14c3-413b-81ac-a967400d8058_1866x989.png 424w, https://substackcdn.com/image/fetch/$s_!-75a!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9ec86483-14c3-413b-81ac-a967400d8058_1866x989.png 848w, https://substackcdn.com/image/fetch/$s_!-75a!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9ec86483-14c3-413b-81ac-a967400d8058_1866x989.png 1272w, https://substackcdn.com/image/fetch/$s_!-75a!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9ec86483-14c3-413b-81ac-a967400d8058_1866x989.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-75a!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9ec86483-14c3-413b-81ac-a967400d8058_1866x989.png" width="1456" height="772" data-attrs="{&quot;src&quot;:&quot;https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9ec86483-14c3-413b-81ac-a967400d8058_1866x989.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:772,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:140195,&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_!-75a!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9ec86483-14c3-413b-81ac-a967400d8058_1866x989.png 424w, https://substackcdn.com/image/fetch/$s_!-75a!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9ec86483-14c3-413b-81ac-a967400d8058_1866x989.png 848w, https://substackcdn.com/image/fetch/$s_!-75a!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9ec86483-14c3-413b-81ac-a967400d8058_1866x989.png 1272w, https://substackcdn.com/image/fetch/$s_!-75a!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9ec86483-14c3-413b-81ac-a967400d8058_1866x989.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">Only the team can understand this joke :)</figcaption></figure></div><p><strong>I decided to start here since most EMs completely miss it, skipping straight to the advanced part. Before you move forward, first ensure your team has some inside jokes.</strong></p><p>Teams need shared moments, a time to create unique behaviors that will make them feel proud. Make some time for fun and discussion. A positive signal will be hearing people say, &#8220;Remember the time we..."</p><p>Each team has its style, and you can try different things until you hit the spot. Maybe it's a fun session or a collaborative effort to resolve a critical situation. Nothing is more powerful than a good battle story to define a team.</p><h2>Designing cross-team goals</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!X07L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F24c170ae-df7e-4754-915a-4d27bed93635_1866x989.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!X07L!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F24c170ae-df7e-4754-915a-4d27bed93635_1866x989.png 424w, https://substackcdn.com/image/fetch/$s_!X07L!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F24c170ae-df7e-4754-915a-4d27bed93635_1866x989.png 848w, https://substackcdn.com/image/fetch/$s_!X07L!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F24c170ae-df7e-4754-915a-4d27bed93635_1866x989.png 1272w, https://substackcdn.com/image/fetch/$s_!X07L!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F24c170ae-df7e-4754-915a-4d27bed93635_1866x989.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!X07L!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F24c170ae-df7e-4754-915a-4d27bed93635_1866x989.png" width="1456" height="772" data-attrs="{&quot;src&quot;:&quot;https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F24c170ae-df7e-4754-915a-4d27bed93635_1866x989.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:772,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:108543,&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_!X07L!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F24c170ae-df7e-4754-915a-4d27bed93635_1866x989.png 424w, https://substackcdn.com/image/fetch/$s_!X07L!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F24c170ae-df7e-4754-915a-4d27bed93635_1866x989.png 848w, https://substackcdn.com/image/fetch/$s_!X07L!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F24c170ae-df7e-4754-915a-4d27bed93635_1866x989.png 1272w, https://substackcdn.com/image/fetch/$s_!X07L!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F24c170ae-df7e-4754-915a-4d27bed93635_1866x989.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">Goals should involve multiple teams</figcaption></figure></div><p>The lack of a truly common goal achieved together instead of separately is a significant issue. EMs may share common goals related to engineering standards or company objectives. Nevertheless, they are often interpreted in terms of team objectives, making EMs feel they are working separately towards these goals.</p><p>Goals are a tool. Usually, they push execution excellence or align the team, but they can be much more than that. Goals set the culture and can bring people together. They can transform a group into a team.</p><p>Design cross-team goals that purposely touch multiple teams and set the expectations for EMs to work together.&nbsp;</p><p>Examples:</p><ol><li><p>We aim to reduce 4-weeks customer churn: team growth and team app will work together and figure out initiatives that lead this change.</p></li><li><p>Under 5-min CI running time for mobile releases: The team platform and the team mobile will work together to develop a solution.</p></li></ol><p>Let the EMs figure out together how to accomplish that goal and split the work between the teams. Make sure to match teams that need to improve their collaboration and keep iterating.</p><h2>Matchmaking game</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nuBq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9dba55df-84c0-44f4-bef4-ce311500b2f5_1866x989.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nuBq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9dba55df-84c0-44f4-bef4-ce311500b2f5_1866x989.png 424w, https://substackcdn.com/image/fetch/$s_!nuBq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9dba55df-84c0-44f4-bef4-ce311500b2f5_1866x989.png 848w, https://substackcdn.com/image/fetch/$s_!nuBq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9dba55df-84c0-44f4-bef4-ce311500b2f5_1866x989.png 1272w, https://substackcdn.com/image/fetch/$s_!nuBq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9dba55df-84c0-44f4-bef4-ce311500b2f5_1866x989.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nuBq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9dba55df-84c0-44f4-bef4-ce311500b2f5_1866x989.png" width="1456" height="772" data-attrs="{&quot;src&quot;:&quot;https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9dba55df-84c0-44f4-bef4-ce311500b2f5_1866x989.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:772,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:89190,&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_!nuBq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9dba55df-84c0-44f4-bef4-ce311500b2f5_1866x989.png 424w, https://substackcdn.com/image/fetch/$s_!nuBq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9dba55df-84c0-44f4-bef4-ce311500b2f5_1866x989.png 848w, https://substackcdn.com/image/fetch/$s_!nuBq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9dba55df-84c0-44f4-bef4-ce311500b2f5_1866x989.png 1272w, https://substackcdn.com/image/fetch/$s_!nuBq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F9dba55df-84c0-44f4-bef4-ce311500b2f5_1866x989.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">Find a partner</figcaption></figure></div><p>For EMs, there is a lot of work to build the system, and this is not day-to-day product work. Things like the hiring process or improvements to your development flow are critical for keeping the system well oiled and reducing friction.</p><p>A common practice is to split these areas between the EMs. This can be done based on individual strengths. The idea is that these are critical projects, and no mistakes can be made.</p><p>In my opinion, this is a big mistake. As with any team, people must be matched to grow each other's skills.&nbsp;</p><p><strong>Example<br></strong>Carlo has never built a hiring process. Every company that he joined already had a very robust process in place. On the other hand, Natasha had experience building a few. Rather than giving Natasha ownership, it would be more appropriate to allow Carlo to conduct research and create a proposal. Then Natasha can review and mentor him to level up his skills. Win-win.</p><h2>Generate a healthy friction</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!T9p6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb9d22a9-0c0d-452c-b8ab-b8e26035bb19_1866x989.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!T9p6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb9d22a9-0c0d-452c-b8ab-b8e26035bb19_1866x989.png 424w, https://substackcdn.com/image/fetch/$s_!T9p6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb9d22a9-0c0d-452c-b8ab-b8e26035bb19_1866x989.png 848w, https://substackcdn.com/image/fetch/$s_!T9p6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb9d22a9-0c0d-452c-b8ab-b8e26035bb19_1866x989.png 1272w, https://substackcdn.com/image/fetch/$s_!T9p6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb9d22a9-0c0d-452c-b8ab-b8e26035bb19_1866x989.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!T9p6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb9d22a9-0c0d-452c-b8ab-b8e26035bb19_1866x989.png" width="1456" height="772" data-attrs="{&quot;src&quot;:&quot;https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb9d22a9-0c0d-452c-b8ab-b8e26035bb19_1866x989.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:772,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:78996,&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_!T9p6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb9d22a9-0c0d-452c-b8ab-b8e26035bb19_1866x989.png 424w, https://substackcdn.com/image/fetch/$s_!T9p6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb9d22a9-0c0d-452c-b8ab-b8e26035bb19_1866x989.png 848w, https://substackcdn.com/image/fetch/$s_!T9p6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb9d22a9-0c0d-452c-b8ab-b8e26035bb19_1866x989.png 1272w, https://substackcdn.com/image/fetch/$s_!T9p6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb9d22a9-0c0d-452c-b8ab-b8e26035bb19_1866x989.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>While it is necessary to keep everyone aligned, healthy friction is needed to produce high-quality results. EM teams must create friction and bring different perspectives to the table. If the team always agrees on every decision and minimal pushback, that&#8217;s a warning signal. In some cases, this has to be artificially created by encouraging a few EMs to be vocal about different points of view.</p><p><strong>Example</strong><br>The company is about to change the systems development life cycle. An EM that used to work in a Scrum-oriented organization has planned to adopt a similar approach. All the other EMs are perfectly fine with that, and with some minor changes, the organization is ready to change. While it appears to be a compelling example, I will argue that there is a lack of friction. There are many different models out there that might fit better for your specific culture and situation. I want to get a few more options and let 2-3 EMs debate each other until the first iteration is ready.</p><p>The team should choose the right battles depending on the level of risk. The above systems development life cycle is an excellent example of a high-risk change.</p><h1>So what?</h1><p>All of the above require a <strong>lot of work</strong>. There are no magic tricks when it comes to building a team. The team must put down the effort and spend the time thinking and designing the culture they would like to have.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.engstuff.dev/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://www.engstuff.dev/subscribe?"><span>Subscribe now</span></a></p>]]></content:encoded></item><item><title><![CDATA[Engineering Levels: A Case Study From Three Perspectives]]></title><description><![CDATA[The power of a good level framework as seen through three different perspectives]]></description><link>https://www.engstuff.dev/p/engineering-levels-a-case-study-from</link><guid isPermaLink="false">https://www.engstuff.dev/p/engineering-levels-a-case-study-from</guid><dc:creator><![CDATA[Shy Alter]]></dc:creator><pubDate>Sun, 24 Apr 2022 20:48:23 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/1433380b-fede-4b23-a85e-4ae88f0d6832_836x426.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Recently, there has been a lot of debate about engineering levels, whether they are good, bad, or just useless. In this story, I hope to show a positive outcome of a good effort. However, before we get started, let&#8217;s take a look at what are the critical elements to make a good framework</p><h2><strong>You have levels, why?</strong></h2><p>Although it may seem like an obvious question, the answers can vary a lot. They can range from deciding salary to career growth. Setting your desired outcomes and prioritizing them is essential before designing your framework.</p><p>Prioritizing the desired outcomes is a significant component of the framework. If you have a level framework, but don't know which outcomes you are looking for, consult your manager, director, or CTO.</p><h2><strong>Principals</strong></h2><h4><strong>1. Designed for team members, used by managers</strong></h4><p>You must focus on the principle that levels are meant for team members and not managers. In assessing where they stand and where they lag, team members can determine where they stand and what their future might hold. There are many places where levels are simply ways for leaders to control team members' compensation or make demands. These organizations fail to realize the substantial value that levels can bring.</p><h4><strong>2. Performance vs. growth</strong></h4><p>Some managers can mix performance and growth. These might sound the same but are fundamentally different.</p><p>A Performance plan focuses on achieving results, whereas A Growth plan focuses on gaining skills, knowledge, and methods to achieve and sustain desired results.</p><p><strong>Your 1-on-1s should drive the growth</strong>, and on a frequent basis adapt and assess expectations (<a href="https://engstuff.substack.com/p/the-magic-of-setting-expectations-978ba7316df8">The Magic of Setting Expectations</a>).&nbsp;<strong>The leveling framework should act as a snapshot to measure the delta.</strong></p><h4><strong>3. Contentious improvements</strong></h4><p>Do not wait for a leveling exercise. Before each 1:1, review the evaluation and determine where there are gaps. Provide opportunities and feedback to address those issues.</p><h2><strong>Chapter 1: Dejen the software engineer</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-z3T!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4451ea7-e696-4914-838f-066f5d200a75_203x172.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-z3T!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4451ea7-e696-4914-838f-066f5d200a75_203x172.png 424w, https://substackcdn.com/image/fetch/$s_!-z3T!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4451ea7-e696-4914-838f-066f5d200a75_203x172.png 848w, https://substackcdn.com/image/fetch/$s_!-z3T!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4451ea7-e696-4914-838f-066f5d200a75_203x172.png 1272w, https://substackcdn.com/image/fetch/$s_!-z3T!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4451ea7-e696-4914-838f-066f5d200a75_203x172.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-z3T!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4451ea7-e696-4914-838f-066f5d200a75_203x172.png" width="205" height="173.69458128078819" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/f4451ea7-e696-4914-838f-066f5d200a75_203x172.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:172,&quot;width&quot;:203,&quot;resizeWidth&quot;:205,&quot;bytes&quot;:28634,&quot;alt&quot;:&quot;Gaps&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="Gaps" title="Gaps" srcset="https://substackcdn.com/image/fetch/$s_!-z3T!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4451ea7-e696-4914-838f-066f5d200a75_203x172.png 424w, https://substackcdn.com/image/fetch/$s_!-z3T!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4451ea7-e696-4914-838f-066f5d200a75_203x172.png 848w, https://substackcdn.com/image/fetch/$s_!-z3T!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4451ea7-e696-4914-838f-066f5d200a75_203x172.png 1272w, https://substackcdn.com/image/fetch/$s_!-z3T!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4451ea7-e696-4914-838f-066f5d200a75_203x172.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">It&#8217;s all about gaps </figcaption></figure></div><h4><strong>Beliefs: I know what I'm worth, do you?</strong></h4><p>Dejen loves his current team. After working together for nearly a year, things looked promising. In his opinion, his skills were improving, and he was ready to undertake complex tasks, but other team members kept getting all the challenging assignments.</p><p>Fortunately, Dejen's company just released a brand-new leveling system. As part of the rollout, he performed a leveling process with his manager. Surprisingly, Dejen realizes that his manager disagrees with his self-evaluation. It was a good turn of events. They found the gaps, and after two months, he was certified as a Senior Software Engineer.</p><h4><strong>Objective: It's not just my manager</strong></h4><p>Dejen has been through two managers in the past three years, and now he is about to pass through another one after a company reorganization. One obstacle that made this transition a bit stressful was that Dejen felt he would need to prove his worth time and time again.</p><p>Fortunately, Dejen's company just released a brand-new leveling system. He and his manager performed a leveling exercise, and his level was established as Senior Engineer. Dejen will still need to prove his impact when he moves to Jan's team (his new Engineering manager), but he won't have to start from scratch. He will be given challenging tasks that meet his experience level.</p><h2><strong>Chapter 2: Jan the Engineering Manager</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!RPPj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8f943a96-0758-4b8b-84c4-a5ba10a84828_208x250.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RPPj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8f943a96-0758-4b8b-84c4-a5ba10a84828_208x250.png 424w, https://substackcdn.com/image/fetch/$s_!RPPj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8f943a96-0758-4b8b-84c4-a5ba10a84828_208x250.png 848w, https://substackcdn.com/image/fetch/$s_!RPPj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8f943a96-0758-4b8b-84c4-a5ba10a84828_208x250.png 1272w, https://substackcdn.com/image/fetch/$s_!RPPj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8f943a96-0758-4b8b-84c4-a5ba10a84828_208x250.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RPPj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8f943a96-0758-4b8b-84c4-a5ba10a84828_208x250.png" width="208" height="250" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/8f943a96-0758-4b8b-84c4-a5ba10a84828_208x250.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:250,&quot;width&quot;:208,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:57904,&quot;alt&quot;:&quot;Different skills&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="Different skills" title="Different skills" srcset="https://substackcdn.com/image/fetch/$s_!RPPj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8f943a96-0758-4b8b-84c4-a5ba10a84828_208x250.png 424w, https://substackcdn.com/image/fetch/$s_!RPPj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8f943a96-0758-4b8b-84c4-a5ba10a84828_208x250.png 848w, https://substackcdn.com/image/fetch/$s_!RPPj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8f943a96-0758-4b8b-84c4-a5ba10a84828_208x250.png 1272w, https://substackcdn.com/image/fetch/$s_!RPPj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8f943a96-0758-4b8b-84c4-a5ba10a84828_208x250.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">Support each other</figcaption></figure></div><h4><strong>Specialists: Strengthen <a href="https://engstuff.substack.com/p/the-cone-model-for-teams-support-network-9b87659c8008?s=w">The Cone Model</a></strong></h4><p>The company hired Jan a few weeks ago with a mission to implement a new strategy. He has assembled a team of five talented engineers. After a few more weeks, Jan noticed that the team's growth was directly related to his presence. Some engineers needed more attention to improving their product mindset, while others needed to focus on quality. Jan knows that he can't be everywhere and decides to use <a href="https://engstuff.substack.com/p/the-cone-model-for-teams-support-network-9b87659c8008?s=w">The Cone Model</a>.</p><p>Leveraging the latest leveling exercise, he was able to identify team members who are strong in these areas and match them with people who needed a push.</p><h4><strong>Local Maxima: Did you try that?</strong></h4><p>It has been six months since Jan and Dejen began working together. Jan is pleased with Dejen's overall performance and decides to perform another leveling exercise. The results present a different picture. While Dejen did a terrific job, he reached his "Local Maxima". The exercise revealed a gap in his leadership abilities. While he maintained an excellent delivery record, he did not demonstrate any mentoring skills. In reviewing his 1:1 notes, Jan noticed that no team member mentioned Dejen as an influential figure.</p><p>Together, they decide to establish an official mentorship between Dejen and a junior member.</p><h2><strong>Chapter 3: Amara the VP of Engineering</strong></h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sX16!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0cbf736e-7c94-4a3a-9f51-f34e77e2e4af_538x258.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sX16!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0cbf736e-7c94-4a3a-9f51-f34e77e2e4af_538x258.png 424w, https://substackcdn.com/image/fetch/$s_!sX16!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0cbf736e-7c94-4a3a-9f51-f34e77e2e4af_538x258.png 848w, https://substackcdn.com/image/fetch/$s_!sX16!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0cbf736e-7c94-4a3a-9f51-f34e77e2e4af_538x258.png 1272w, https://substackcdn.com/image/fetch/$s_!sX16!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0cbf736e-7c94-4a3a-9f51-f34e77e2e4af_538x258.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sX16!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0cbf736e-7c94-4a3a-9f51-f34e77e2e4af_538x258.png" width="538" height="258" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/0cbf736e-7c94-4a3a-9f51-f34e77e2e4af_538x258.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:258,&quot;width&quot;:538,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:98610,&quot;alt&quot;:&quot;New team&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="New team" title="New team" srcset="https://substackcdn.com/image/fetch/$s_!sX16!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0cbf736e-7c94-4a3a-9f51-f34e77e2e4af_538x258.png 424w, https://substackcdn.com/image/fetch/$s_!sX16!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0cbf736e-7c94-4a3a-9f51-f34e77e2e4af_538x258.png 848w, https://substackcdn.com/image/fetch/$s_!sX16!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0cbf736e-7c94-4a3a-9f51-f34e77e2e4af_538x258.png 1272w, https://substackcdn.com/image/fetch/$s_!sX16!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F0cbf736e-7c94-4a3a-9f51-f34e77e2e4af_538x258.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">Building the force</figcaption></figure></div><h4><strong>Framework: a high-quality standard for managers</strong></h4><p>Engineering managers can have different levels of competence, just like everyone else. Some are fantastic leaders who can inspire their teams, while others are capable managers who can plan and execute complex plans.</p><p>As a manager of managers (of directors), Amara needs a tool to ensure all team collaborators receive the best-in-class support and grow healthy. She wants to ensure all Engineering managers have a high-quality feedback loop with their team members. Therefore, all relevant areas are covered, and there are clearly stated expectations for the future. The leveling framework provides some structure for managers who have not yet mastered the skill of evaluating and giving feedback.</p><p>Managers typically benefit from a framework that consists of two dimensions, levels, and areas.</p><h4><strong>Areas of expertise: establish the engineering culture.</strong></h4><p>By defining areas, Amara (VP of Engineering) can influence her organization's focus and make sure that the engineering culture is growing in line with the company's vision. For example, in the pre-product-market fit stage, the areas reflect more innovation, whereas those reflect quality and specialization after a product-market fit. Having identified clear expectations from each area, Amara can set the tone of what high quality or collaboration means for her organization.</p><h4><strong>Levels: organizational planning</strong></h4><p>Generally, a healthy balance of experience and skills between team members facilitates a positive working environment and enhances the value of skills for both juniors and seniors. Juniors help seniors to grow leadership and mentoring skills. This helps keep the team engaged and hungry. On the other hand, seniors can teach juniors from this experience and boost their technical skills.</p><p>Unless Amara pays attention, her organization will develop pockets of senior teams. If new teams need to be created, she'll need to decide carefully who'll be assigned where.</p><p>An effective level evaluation will let her map the distribution of levels within your team and model potential growth scenarios. Amara will be able to answer questions like, how many juniors do we need to hire? Can we open three new teams?&nbsp;</p>]]></content:encoded></item><item><title><![CDATA[The Cone Model for Teams' Support Network]]></title><description><![CDATA[Lay a strong support level for your teams, even when you are away As managers, we need to provide an excellent level of support to our team members, from technical to emotional. This is hard work that requires a lot of patience and trust from both sides and, once established, will help your team to grow pretty quickly.]]></description><link>https://www.engstuff.dev/p/the-cone-model-for-teams-support-network-9b87659c8008</link><guid isPermaLink="false">https://www.engstuff.dev/p/the-cone-model-for-teams-support-network-9b87659c8008</guid><dc:creator><![CDATA[Shy Alter]]></dc:creator><pubDate>Tue, 29 Mar 2022 14:36:08 GMT</pubDate><enclosure url="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%2F83a0e2c9-134c-46b0-b1b0-69c292cb4559_700x308.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h4>Lay a strong support level for your teams, even when you are&nbsp;away</h4><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!IYv0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F83a0e2c9-134c-46b0-b1b0-69c292cb4559_700x308.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IYv0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F83a0e2c9-134c-46b0-b1b0-69c292cb4559_700x308.png 424w, https://substackcdn.com/image/fetch/$s_!IYv0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F83a0e2c9-134c-46b0-b1b0-69c292cb4559_700x308.png 848w, https://substackcdn.com/image/fetch/$s_!IYv0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F83a0e2c9-134c-46b0-b1b0-69c292cb4559_700x308.png 1272w, https://substackcdn.com/image/fetch/$s_!IYv0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F83a0e2c9-134c-46b0-b1b0-69c292cb4559_700x308.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IYv0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F83a0e2c9-134c-46b0-b1b0-69c292cb4559_700x308.png" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/83a0e2c9-134c-46b0-b1b0-69c292cb4559_700x308.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!IYv0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F83a0e2c9-134c-46b0-b1b0-69c292cb4559_700x308.png 424w, https://substackcdn.com/image/fetch/$s_!IYv0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F83a0e2c9-134c-46b0-b1b0-69c292cb4559_700x308.png 848w, https://substackcdn.com/image/fetch/$s_!IYv0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F83a0e2c9-134c-46b0-b1b0-69c292cb4559_700x308.png 1272w, https://substackcdn.com/image/fetch/$s_!IYv0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F83a0e2c9-134c-46b0-b1b0-69c292cb4559_700x308.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><figcaption class="image-caption">Image by&nbsp;author</figcaption></figure></div><p>As managers, we need to provide an excellent level of support to our team members, from technical to emotional.</p><p>This is hard work that requires a lot of patience and trust from both sides and, once established, will help your team to grow pretty&nbsp;quickly.</p><h3>The Triangle</h3><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BhiY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4931b0a9-c428-4608-9b7e-1862f5817a48_262x235.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BhiY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4931b0a9-c428-4608-9b7e-1862f5817a48_262x235.png 424w, https://substackcdn.com/image/fetch/$s_!BhiY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4931b0a9-c428-4608-9b7e-1862f5817a48_262x235.png 848w, https://substackcdn.com/image/fetch/$s_!BhiY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4931b0a9-c428-4608-9b7e-1862f5817a48_262x235.png 1272w, https://substackcdn.com/image/fetch/$s_!BhiY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4931b0a9-c428-4608-9b7e-1862f5817a48_262x235.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BhiY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4931b0a9-c428-4608-9b7e-1862f5817a48_262x235.png" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/4931b0a9-c428-4608-9b7e-1862f5817a48_262x235.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&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_!BhiY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4931b0a9-c428-4608-9b7e-1862f5817a48_262x235.png 424w, https://substackcdn.com/image/fetch/$s_!BhiY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4931b0a9-c428-4608-9b7e-1862f5817a48_262x235.png 848w, https://substackcdn.com/image/fetch/$s_!BhiY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4931b0a9-c428-4608-9b7e-1862f5817a48_262x235.png 1272w, https://substackcdn.com/image/fetch/$s_!BhiY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4931b0a9-c428-4608-9b7e-1862f5817a48_262x235.png 1456w" sizes="100vw"></picture><div></div></div></a><figcaption class="image-caption">"1 to 1" relationship between manager and&nbsp;reports</figcaption></figure></div><p>There are many techniques to build this excellent level of support. 1-on-1s are great, but as you might have noticed, there is a 1-on-1 relationship in "1-on-1s" that can be insufficient and dangerous. Most managers have more than one direct report, and their attention must be spread between everyone. Sometimes some members need more attention, leaving the others with low&nbsp;support.</p><p>Your team support network looks like a triangle, and everyone depends on you. Every person needs a different amount of attention at a particular time.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!XFNW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8c02835f-18a4-43be-8dcc-9e50eac279a2_263x261.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XFNW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8c02835f-18a4-43be-8dcc-9e50eac279a2_263x261.png 424w, https://substackcdn.com/image/fetch/$s_!XFNW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8c02835f-18a4-43be-8dcc-9e50eac279a2_263x261.png 848w, https://substackcdn.com/image/fetch/$s_!XFNW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8c02835f-18a4-43be-8dcc-9e50eac279a2_263x261.png 1272w, https://substackcdn.com/image/fetch/$s_!XFNW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8c02835f-18a4-43be-8dcc-9e50eac279a2_263x261.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!XFNW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8c02835f-18a4-43be-8dcc-9e50eac279a2_263x261.png" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/8c02835f-18a4-43be-8dcc-9e50eac279a2_263x261.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&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_!XFNW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8c02835f-18a4-43be-8dcc-9e50eac279a2_263x261.png 424w, https://substackcdn.com/image/fetch/$s_!XFNW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8c02835f-18a4-43be-8dcc-9e50eac279a2_263x261.png 848w, https://substackcdn.com/image/fetch/$s_!XFNW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8c02835f-18a4-43be-8dcc-9e50eac279a2_263x261.png 1272w, https://substackcdn.com/image/fetch/$s_!XFNW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8c02835f-18a4-43be-8dcc-9e50eac279a2_263x261.png 1456w" sizes="100vw"></picture><div></div></div></a><figcaption class="image-caption">Your attention must be distributed wisely.</figcaption></figure></div><p>This is very natural as each person is unique and might have a different level of skills. On top of that, some might be involved in a complex project while others have a chill week. You probably tell yourself, "This is very natural to me," and you are right. But it also will affect the growth pace of your team and can quickly go out of&nbsp;control.</p><h3>What can go wrong? (or why do I need&nbsp;it)</h3><p>Let's look at a few widespread scenarios. These can be avoided using the Cone&nbsp;Model.</p><h4>1. Neglecting talent</h4><p>Linda (A Senior Engineer) is a very talented engineer in your team. She joined one year ago and had high-speed growth, and since then, you never had any challenges with Linda. She always pushed ahead and took care of her growth. Naturally, you started to shift away from your focus from Linda to Denny (Junior Engineer), who has struggled a bit lately. Linda stopped growing. She started feeling that her growth pace had dropped dramatically and couldn't understand why. A few months later, Linda announced that she had accepted an offer from a different company. She wants to pursue her&nbsp;growth.</p><p><em>Have you made a mistake by shifting your focus?</em> <strong>No</strong>. Denny needed more attention, and you have a limited capacity. The error was that you didn't take care of Linda's&nbsp;needs.</p><h4>2. Blind&nbsp;spots</h4><p>In the past few months, the team has been performing very well. Work gets done on time and with high quality. When you have a spontaneous conversation with another colleague, they mention that Henry (Engineer) has issues at home that affect his focus. You are a bit surprised, you had several 1on1s with Henry, and the topic never came&nbsp;up.</p><p><em>Are you a bad manager for missing that?</em> <strong>No</strong>. It might be that Henry is a very private person and therefore doesn't share his personal issues with most people. It might be something you will be able to catch by yourself.</p><h4>3. Out of your&nbsp;league</h4><p>It was your first time using the tech stack when you joined your team. You have a sound engineering background and understand technical principles and designs, but you are still behind in a deep discussion about the specific ecosystem. Denny (Junior Engineer) is taking his first steps in the development world. He's been coding for eight months now and needs a good level of support. You try your best to push him in the right direction but cannot give him very accurate feedback about his coding&nbsp;skills.</p><p><em>Are you responsible for developing Denny's coding skills?</em> <strong>Yes.</strong> <em>Can you provide him with all the necessary support?</em>&nbsp;<strong>No</strong></p><p>So what can you do to avoid these scenarios? How can a manager provide such comprehensive support without spreading so thin that it will impact their other responsibilities? (execution, strategy, hiring,&nbsp;etc.)</p><h3>The Cone</h3><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zCK6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F532c461c-941e-4477-b4cf-9a53c60de60b_825x364.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zCK6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F532c461c-941e-4477-b4cf-9a53c60de60b_825x364.png 424w, https://substackcdn.com/image/fetch/$s_!zCK6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F532c461c-941e-4477-b4cf-9a53c60de60b_825x364.png 848w, https://substackcdn.com/image/fetch/$s_!zCK6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F532c461c-941e-4477-b4cf-9a53c60de60b_825x364.png 1272w, https://substackcdn.com/image/fetch/$s_!zCK6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F532c461c-941e-4477-b4cf-9a53c60de60b_825x364.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zCK6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F532c461c-941e-4477-b4cf-9a53c60de60b_825x364.png" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/532c461c-941e-4477-b4cf-9a53c60de60b_825x364.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&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_!zCK6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F532c461c-941e-4477-b4cf-9a53c60de60b_825x364.png 424w, https://substackcdn.com/image/fetch/$s_!zCK6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F532c461c-941e-4477-b4cf-9a53c60de60b_825x364.png 848w, https://substackcdn.com/image/fetch/$s_!zCK6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F532c461c-941e-4477-b4cf-9a53c60de60b_825x364.png 1272w, https://substackcdn.com/image/fetch/$s_!zCK6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F532c461c-941e-4477-b4cf-9a53c60de60b_825x364.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Create a many-to-many support&nbsp;network</figcaption></figure></div><p>You should minimize your dependencies and maximize the network between your team members. Instead of letting all your team depend on you for their growth, you should create a connection between people, leveraging the different strengths and weaknesses.</p><h4>Identify the&nbsp;need</h4><p>One way to create a connection is to identify a need for a direct report and surface it up during a 1on1. For example, Henry's need for mentorship in the team's tech stack. It's essential to explicitly indicate that you are not sufficient for the support in this area, but Linda can be a perfect match. You talk with Linda and let her know that you want her to spend more time with Henry and give her the main areas to focus&nbsp;on.</p><h4>Set expectations</h4><p>Sometimes you won't be aware of a specific need. Nevertheless, you must nourish the network. A great way to do so is to set expectations with your team. In your next 1on1, let them know you expect them to watch specific team members and even an area. "Paul (Senior Engineer), I'd like you to pay attention to Linda's system designs. Make sure to review&nbsp;them".</p><p>Read more here on <a href="https://betterprogramming.pub/the-magic-of-setting-expectations-978ba7316df8">The Magic of Setting Expectations</a>.</p><h4>How can a good network&nbsp;look?</h4><ul><li><p><strong>Linda supports Henry</strong>: Coding in our tech&nbsp;stack</p></li><li><p><strong>Paul supports Linda</strong>: On software architecture and system&nbsp;design</p></li><li><p><strong>Paul also supports Denny</strong>: Coding in our tech&nbsp;stack</p></li><li><p><strong>Denny supports Henry: </strong>Team collaboration and communication</p></li><li><p>And <strong>you support everyone&nbsp;:)</strong></p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!M9dF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F053fb6ed-46c9-4544-b30b-af5355a1cc2e_1024x448.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!M9dF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F053fb6ed-46c9-4544-b30b-af5355a1cc2e_1024x448.png 424w, https://substackcdn.com/image/fetch/$s_!M9dF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F053fb6ed-46c9-4544-b30b-af5355a1cc2e_1024x448.png 848w, https://substackcdn.com/image/fetch/$s_!M9dF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F053fb6ed-46c9-4544-b30b-af5355a1cc2e_1024x448.png 1272w, https://substackcdn.com/image/fetch/$s_!M9dF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F053fb6ed-46c9-4544-b30b-af5355a1cc2e_1024x448.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!M9dF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F053fb6ed-46c9-4544-b30b-af5355a1cc2e_1024x448.png" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/053fb6ed-46c9-4544-b30b-af5355a1cc2e_1024x448.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&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_!M9dF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F053fb6ed-46c9-4544-b30b-af5355a1cc2e_1024x448.png 424w, https://substackcdn.com/image/fetch/$s_!M9dF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F053fb6ed-46c9-4544-b30b-af5355a1cc2e_1024x448.png 848w, https://substackcdn.com/image/fetch/$s_!M9dF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F053fb6ed-46c9-4544-b30b-af5355a1cc2e_1024x448.png 1272w, https://substackcdn.com/image/fetch/$s_!M9dF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F053fb6ed-46c9-4544-b30b-af5355a1cc2e_1024x448.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">An internal network of&nbsp;support</figcaption></figure></div><blockquote><p><strong>Managers</strong> should build strong networks and create an environment where they are not critical components. They should be able to stay away for a few weeks without impacting the&nbsp;team.</p></blockquote><h4>PS.</h4><p>The Cone Model can be very efficient for directors of managers.</p><p><em>Thank you, <a href="https://medium.com/u/7425a9d975b6">Damiano Condorelli</a></em></p><div><hr></div><p><a href="https://betterprogramming.pub/the-cone-model-for-teams-support-network-9b87659c8008">The Cone Model for Teams' Support Network</a> was originally published in <a href="https://betterprogramming.pub">Better Programming</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded></item><item><title><![CDATA[5 Heuristics to Decide When It’s Time to Stop Designing and Start Coding]]></title><description><![CDATA[Techniques for balancing design and development planning]]></description><link>https://www.engstuff.dev/p/how-to-decide-when-its-time-to-stop-designing-and-start-coding-eb9b6d8625c</link><guid isPermaLink="false">https://www.engstuff.dev/p/how-to-decide-when-its-time-to-stop-designing-and-start-coding-eb9b6d8625c</guid><dc:creator><![CDATA[Shy Alter]]></dc:creator><pubDate>Wed, 26 Jan 2022 14:42:52 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!KMKc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8303749-06ac-4d75-9158-961bbdaf03bd_647x392.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h4>Techniques for balancing design and development planning</h4><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!KMKc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8303749-06ac-4d75-9158-961bbdaf03bd_647x392.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KMKc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8303749-06ac-4d75-9158-961bbdaf03bd_647x392.png 424w, https://substackcdn.com/image/fetch/$s_!KMKc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8303749-06ac-4d75-9158-961bbdaf03bd_647x392.png 848w, https://substackcdn.com/image/fetch/$s_!KMKc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8303749-06ac-4d75-9158-961bbdaf03bd_647x392.png 1272w, https://substackcdn.com/image/fetch/$s_!KMKc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8303749-06ac-4d75-9158-961bbdaf03bd_647x392.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KMKc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8303749-06ac-4d75-9158-961bbdaf03bd_647x392.png" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/d8303749-06ac-4d75-9158-961bbdaf03bd_647x392.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!KMKc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8303749-06ac-4d75-9158-961bbdaf03bd_647x392.png 424w, https://substackcdn.com/image/fetch/$s_!KMKc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8303749-06ac-4d75-9158-961bbdaf03bd_647x392.png 848w, https://substackcdn.com/image/fetch/$s_!KMKc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8303749-06ac-4d75-9158-961bbdaf03bd_647x392.png 1272w, https://substackcdn.com/image/fetch/$s_!KMKc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8303749-06ac-4d75-9158-961bbdaf03bd_647x392.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><p>As engineers, we divide our work between designing solutions and building them. In this post, I'll focus on deciding how much time and effort should go into design work that happens before any execution (coding).</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!D5UZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa115d456-5001-4c0d-8c45-9689a7dea860_443x258.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!D5UZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa115d456-5001-4c0d-8c45-9689a7dea860_443x258.png 424w, https://substackcdn.com/image/fetch/$s_!D5UZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa115d456-5001-4c0d-8c45-9689a7dea860_443x258.png 848w, https://substackcdn.com/image/fetch/$s_!D5UZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa115d456-5001-4c0d-8c45-9689a7dea860_443x258.png 1272w, https://substackcdn.com/image/fetch/$s_!D5UZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa115d456-5001-4c0d-8c45-9689a7dea860_443x258.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!D5UZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa115d456-5001-4c0d-8c45-9689a7dea860_443x258.png" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/a115d456-5001-4c0d-8c45-9689a7dea860_443x258.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&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_!D5UZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa115d456-5001-4c0d-8c45-9689a7dea860_443x258.png 424w, https://substackcdn.com/image/fetch/$s_!D5UZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa115d456-5001-4c0d-8c45-9689a7dea860_443x258.png 848w, https://substackcdn.com/image/fetch/$s_!D5UZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa115d456-5001-4c0d-8c45-9689a7dea860_443x258.png 1272w, https://substackcdn.com/image/fetch/$s_!D5UZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa115d456-5001-4c0d-8c45-9689a7dea860_443x258.png 1456w" sizes="100vw"></picture><div></div></div></a><figcaption class="image-caption">Iterative Design&nbsp;Process</figcaption></figure></div><p>I'm a big believer in the "Iterative Design Process" which means instead of working in distinctive stages, one after another, you advance in tiny adjustments to the design as you identify challenges, get feedback, or come up with innovative new&nbsp;ideas.</p><p>But here comes the question, how would the team know it's time for prototyping?</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!X_z7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3579b1a-8f91-440d-b402-cbb2d3462171_492x95.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!X_z7!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3579b1a-8f91-440d-b402-cbb2d3462171_492x95.png 424w, https://substackcdn.com/image/fetch/$s_!X_z7!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3579b1a-8f91-440d-b402-cbb2d3462171_492x95.png 848w, https://substackcdn.com/image/fetch/$s_!X_z7!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3579b1a-8f91-440d-b402-cbb2d3462171_492x95.png 1272w, https://substackcdn.com/image/fetch/$s_!X_z7!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3579b1a-8f91-440d-b402-cbb2d3462171_492x95.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!X_z7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3579b1a-8f91-440d-b402-cbb2d3462171_492x95.png" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/a3579b1a-8f91-440d-b402-cbb2d3462171_492x95.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&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_!X_z7!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3579b1a-8f91-440d-b402-cbb2d3462171_492x95.png 424w, https://substackcdn.com/image/fetch/$s_!X_z7!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3579b1a-8f91-440d-b402-cbb2d3462171_492x95.png 848w, https://substackcdn.com/image/fetch/$s_!X_z7!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3579b1a-8f91-440d-b402-cbb2d3462171_492x95.png 1272w, https://substackcdn.com/image/fetch/$s_!X_z7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa3579b1a-8f91-440d-b402-cbb2d3462171_492x95.png 1456w" sizes="100vw"></picture><div></div></div></a><figcaption class="image-caption">Albert Einstein</figcaption></figure></div><p>So how do you determine the amount of time that will go into design? Will it be 10%, maybe 90% (like our dear Albert)?<br>When using agile methodology, this becomes a critical decision for software architects. Should you start iterating or wait for a complete solution?</p><h3>The knowns and unknowns framework</h3><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Awq4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F76545dcc-edd0-402f-a978-f951a54d52cb_479x195.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Awq4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F76545dcc-edd0-402f-a978-f951a54d52cb_479x195.png 424w, https://substackcdn.com/image/fetch/$s_!Awq4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F76545dcc-edd0-402f-a978-f951a54d52cb_479x195.png 848w, https://substackcdn.com/image/fetch/$s_!Awq4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F76545dcc-edd0-402f-a978-f951a54d52cb_479x195.png 1272w, https://substackcdn.com/image/fetch/$s_!Awq4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F76545dcc-edd0-402f-a978-f951a54d52cb_479x195.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Awq4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F76545dcc-edd0-402f-a978-f951a54d52cb_479x195.png" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/76545dcc-edd0-402f-a978-f951a54d52cb_479x195.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&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_!Awq4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F76545dcc-edd0-402f-a978-f951a54d52cb_479x195.png 424w, https://substackcdn.com/image/fetch/$s_!Awq4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F76545dcc-edd0-402f-a978-f951a54d52cb_479x195.png 848w, https://substackcdn.com/image/fetch/$s_!Awq4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F76545dcc-edd0-402f-a978-f951a54d52cb_479x195.png 1272w, https://substackcdn.com/image/fetch/$s_!Awq4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F76545dcc-edd0-402f-a978-f951a54d52cb_479x195.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Donald Rumsfeld</figcaption></figure></div><p>In this framework, there are four levels of knowledge. These levels can help us measure how close we are to finishing our design and moving to implementation.</p><ul><li><p><strong>Known knowns</strong>: Things you're aware of and understand<br><em>Example: Developing SAML Single&nbsp;Sign-on</em></p></li><li><p><strong>Known unknowns</strong>: Things you're aware of but don't understand<br><em>Example: Integrating the SAML Single Sign-on with the exiting authentication flow</em></p></li><li><p><strong>Unknown knowns</strong>: Things you're not aware of but understand<br><em>Example: Additional requirement of Two-factor authentication (that you know how to&nbsp;develop)</em></p></li><li><p><strong>Unknown unknowns</strong>: Things you're neither cognizant of nor understand<br><em>Example: There is a security bug in the Single Sign-on library you are familiar with and planning on&nbsp;using</em></p></li></ul><p>We can work a lot on the first two levels in our upfront design. The last two will require implementation work, which can be the real deal or a&nbsp;PoC.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5XcF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F90a205ed-b06e-46f3-99af-adcf23656b42_340x206.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5XcF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F90a205ed-b06e-46f3-99af-adcf23656b42_340x206.png 424w, https://substackcdn.com/image/fetch/$s_!5XcF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F90a205ed-b06e-46f3-99af-adcf23656b42_340x206.png 848w, https://substackcdn.com/image/fetch/$s_!5XcF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F90a205ed-b06e-46f3-99af-adcf23656b42_340x206.png 1272w, https://substackcdn.com/image/fetch/$s_!5XcF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F90a205ed-b06e-46f3-99af-adcf23656b42_340x206.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5XcF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F90a205ed-b06e-46f3-99af-adcf23656b42_340x206.png" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/90a205ed-b06e-46f3-99af-adcf23656b42_340x206.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&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_!5XcF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F90a205ed-b06e-46f3-99af-adcf23656b42_340x206.png 424w, https://substackcdn.com/image/fetch/$s_!5XcF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F90a205ed-b06e-46f3-99af-adcf23656b42_340x206.png 848w, https://substackcdn.com/image/fetch/$s_!5XcF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F90a205ed-b06e-46f3-99af-adcf23656b42_340x206.png 1272w, https://substackcdn.com/image/fetch/$s_!5XcF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F90a205ed-b06e-46f3-99af-adcf23656b42_340x206.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h3>Heuristics</h3><blockquote><p>A heuristic, or heuristic technique, is any approach to problem solving or self-discovery that employs a practical method that is not guaranteed to be optimal, perfect, or rational, but is nevertheless sufficient for reaching an immediate, short-term goal or approximation.&#8202;&#8212;&#8202;<a href="https://en.wikipedia.org/wiki/Heuristic">https://en.wikipedia.org/wiki/Heuristic</a></p></blockquote><p>We will start by defining our <em><strong>cost function</strong>: <br>How much time spent + level of&nbsp;risk.</em></p><p>Let's go over the desired expectation. We want a strategy that will allow us to decide when to <strong>stop designing</strong> and <strong>start implementation</strong> while <strong>optimizing the cost function.</strong></p><h4>Heuristic #1: There are enough "Known&nbsp;knowns."</h4><p><em>Do you have minimal knowledge to bring&nbsp;value?</em></p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Y42q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff74e884d-67e8-4c04-948a-57c8eeb09a3e_368x200.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Y42q!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff74e884d-67e8-4c04-948a-57c8eeb09a3e_368x200.png 424w, https://substackcdn.com/image/fetch/$s_!Y42q!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff74e884d-67e8-4c04-948a-57c8eeb09a3e_368x200.png 848w, https://substackcdn.com/image/fetch/$s_!Y42q!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff74e884d-67e8-4c04-948a-57c8eeb09a3e_368x200.png 1272w, https://substackcdn.com/image/fetch/$s_!Y42q!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff74e884d-67e8-4c04-948a-57c8eeb09a3e_368x200.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Y42q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff74e884d-67e8-4c04-948a-57c8eeb09a3e_368x200.png" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/f74e884d-67e8-4c04-948a-57c8eeb09a3e_368x200.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&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_!Y42q!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff74e884d-67e8-4c04-948a-57c8eeb09a3e_368x200.png 424w, https://substackcdn.com/image/fetch/$s_!Y42q!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff74e884d-67e8-4c04-948a-57c8eeb09a3e_368x200.png 848w, https://substackcdn.com/image/fetch/$s_!Y42q!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff74e884d-67e8-4c04-948a-57c8eeb09a3e_368x200.png 1272w, https://substackcdn.com/image/fetch/$s_!Y42q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff74e884d-67e8-4c04-948a-57c8eeb09a3e_368x200.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Your project might be massive; therefore, there are many requirements, and it might be that some of them can be delivered without the others. In the "Iterative Design Process," we want to get back feedback as fast as possible. That's why, if you have something you can ship with low risk, do&nbsp;it.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7B14!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf00cd44-2f1a-4e20-9da6-bc061c106a4c_347x349.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7B14!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf00cd44-2f1a-4e20-9da6-bc061c106a4c_347x349.png 424w, https://substackcdn.com/image/fetch/$s_!7B14!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf00cd44-2f1a-4e20-9da6-bc061c106a4c_347x349.png 848w, https://substackcdn.com/image/fetch/$s_!7B14!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf00cd44-2f1a-4e20-9da6-bc061c106a4c_347x349.png 1272w, https://substackcdn.com/image/fetch/$s_!7B14!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf00cd44-2f1a-4e20-9da6-bc061c106a4c_347x349.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7B14!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf00cd44-2f1a-4e20-9da6-bc061c106a4c_347x349.png" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/cf00cd44-2f1a-4e20-9da6-bc061c106a4c_347x349.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&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_!7B14!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf00cd44-2f1a-4e20-9da6-bc061c106a4c_347x349.png 424w, https://substackcdn.com/image/fetch/$s_!7B14!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf00cd44-2f1a-4e20-9da6-bc061c106a4c_347x349.png 848w, https://substackcdn.com/image/fetch/$s_!7B14!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf00cd44-2f1a-4e20-9da6-bc061c106a4c_347x349.png 1272w, https://substackcdn.com/image/fetch/$s_!7B14!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf00cd44-2f1a-4e20-9da6-bc061c106a4c_347x349.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">We want to balance the business value and the design maturity.</figcaption></figure></div><p>Pay attention to the level of risk. While you do want to iterate, you do not want to break the core components of your&nbsp;system.</p><h4>Heuristic #2: There are no more "Known unknowns."</h4><p><em>Did you solve all your "open&nbsp;points"?</em></p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!oH97!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6a539214-a751-4e1d-a245-c67e83f21988_340x170.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oH97!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6a539214-a751-4e1d-a245-c67e83f21988_340x170.png 424w, https://substackcdn.com/image/fetch/$s_!oH97!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6a539214-a751-4e1d-a245-c67e83f21988_340x170.png 848w, https://substackcdn.com/image/fetch/$s_!oH97!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6a539214-a751-4e1d-a245-c67e83f21988_340x170.png 1272w, https://substackcdn.com/image/fetch/$s_!oH97!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6a539214-a751-4e1d-a245-c67e83f21988_340x170.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!oH97!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6a539214-a751-4e1d-a245-c67e83f21988_340x170.png" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/6a539214-a751-4e1d-a245-c67e83f21988_340x170.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&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_!oH97!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6a539214-a751-4e1d-a245-c67e83f21988_340x170.png 424w, https://substackcdn.com/image/fetch/$s_!oH97!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6a539214-a751-4e1d-a245-c67e83f21988_340x170.png 848w, https://substackcdn.com/image/fetch/$s_!oH97!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6a539214-a751-4e1d-a245-c67e83f21988_340x170.png 1272w, https://substackcdn.com/image/fetch/$s_!oH97!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6a539214-a751-4e1d-a245-c67e83f21988_340x170.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>It's very recommended to start any project with some risk assessment. During the evaluation, the team should surface up any open points. It could be a module you didn't touch for a long time or a new technology required for the&nbsp;project.</p><p>A good heuristic that it's time to move on is when you have got one or more solutions for each one of your open point&nbsp;points.</p><h4>Heuristic #3: There are too many "Known unknowns."</h4><p><em>You can't focus as you have too many "open&nbsp;points."</em></p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FJfV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdabfe5af-e256-440a-80ce-2492db6f09e3_340x170.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FJfV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdabfe5af-e256-440a-80ce-2492db6f09e3_340x170.png 424w, https://substackcdn.com/image/fetch/$s_!FJfV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdabfe5af-e256-440a-80ce-2492db6f09e3_340x170.png 848w, https://substackcdn.com/image/fetch/$s_!FJfV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdabfe5af-e256-440a-80ce-2492db6f09e3_340x170.png 1272w, https://substackcdn.com/image/fetch/$s_!FJfV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdabfe5af-e256-440a-80ce-2492db6f09e3_340x170.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FJfV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdabfe5af-e256-440a-80ce-2492db6f09e3_340x170.png" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/dabfe5af-e256-440a-80ce-2492db6f09e3_340x170.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&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_!FJfV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdabfe5af-e256-440a-80ce-2492db6f09e3_340x170.png 424w, https://substackcdn.com/image/fetch/$s_!FJfV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdabfe5af-e256-440a-80ce-2492db6f09e3_340x170.png 848w, https://substackcdn.com/image/fetch/$s_!FJfV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdabfe5af-e256-440a-80ce-2492db6f09e3_340x170.png 1272w, https://substackcdn.com/image/fetch/$s_!FJfV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdabfe5af-e256-440a-80ce-2492db6f09e3_340x170.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>There are so many open points you don't know where to start. This might be a good indication that you need more info. A prototype can focus your efforts. You will probably need to return to the design table again, but this time with much more information (and fewer open&nbsp;points).</p><h4>Heuristic #4: You stop learning new&nbsp;things</h4><p><em>Do you keep discussing the same open point over and&nbsp;over?</em></p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!huj5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2214eaf-3c82-4803-8a79-af8fb626547a_340x196.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!huj5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2214eaf-3c82-4803-8a79-af8fb626547a_340x196.png 424w, https://substackcdn.com/image/fetch/$s_!huj5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2214eaf-3c82-4803-8a79-af8fb626547a_340x196.png 848w, https://substackcdn.com/image/fetch/$s_!huj5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2214eaf-3c82-4803-8a79-af8fb626547a_340x196.png 1272w, https://substackcdn.com/image/fetch/$s_!huj5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2214eaf-3c82-4803-8a79-af8fb626547a_340x196.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!huj5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2214eaf-3c82-4803-8a79-af8fb626547a_340x196.png" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/d2214eaf-3c82-4803-8a79-af8fb626547a_340x196.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&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_!huj5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2214eaf-3c82-4803-8a79-af8fb626547a_340x196.png 424w, https://substackcdn.com/image/fetch/$s_!huj5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2214eaf-3c82-4803-8a79-af8fb626547a_340x196.png 848w, https://substackcdn.com/image/fetch/$s_!huj5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2214eaf-3c82-4803-8a79-af8fb626547a_340x196.png 1272w, https://substackcdn.com/image/fetch/$s_!huj5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2214eaf-3c82-4803-8a79-af8fb626547a_340x196.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>So you did find solutions for all your "open points," but you can't decide on one particular point. There are multiple solutions, but the team keeps arguing which one is the best. You have a few discussions, but nothing sticks. It's time to&nbsp;code.</p><p>If the risk is reasonable, you might consider starting with one of the solutions and having a close follow-up. If the risk is higher, you can consider starting with multiple solutions and evaluating them iteratively.</p><h4>Heuristic #5: F<em>alling</em> <em>down the rabbit&nbsp;hole</em></h4><p><em>Things start getting too complicated and&nbsp;abstract</em></p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UUjq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F70474e8b-87bb-4c96-97ba-0b8a5f1b5143_340x206.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UUjq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F70474e8b-87bb-4c96-97ba-0b8a5f1b5143_340x206.png 424w, https://substackcdn.com/image/fetch/$s_!UUjq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F70474e8b-87bb-4c96-97ba-0b8a5f1b5143_340x206.png 848w, https://substackcdn.com/image/fetch/$s_!UUjq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F70474e8b-87bb-4c96-97ba-0b8a5f1b5143_340x206.png 1272w, https://substackcdn.com/image/fetch/$s_!UUjq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F70474e8b-87bb-4c96-97ba-0b8a5f1b5143_340x206.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UUjq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F70474e8b-87bb-4c96-97ba-0b8a5f1b5143_340x206.png" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/70474e8b-87bb-4c96-97ba-0b8a5f1b5143_340x206.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&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_!UUjq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F70474e8b-87bb-4c96-97ba-0b8a5f1b5143_340x206.png 424w, https://substackcdn.com/image/fetch/$s_!UUjq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F70474e8b-87bb-4c96-97ba-0b8a5f1b5143_340x206.png 848w, https://substackcdn.com/image/fetch/$s_!UUjq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F70474e8b-87bb-4c96-97ba-0b8a5f1b5143_340x206.png 1272w, https://substackcdn.com/image/fetch/$s_!UUjq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F70474e8b-87bb-4c96-97ba-0b8a5f1b5143_340x206.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Yes, we are here to solve complex problems, and yes, some solutions require some pretty deep thinking but try asking yourself, Does my project need that level of complexity?</p><p>Engineers love solving problems. That's why we often invent new ones (Imaginary Problems Are the Root of Bad Software). If you notice the design starts questioning areas that are hardly related to your goal, it's time for a PoC or prototype to keep your feet on the&nbsp;ground.</p><h3>Final words</h3><p>Remember that these are heuristics; hence they do not provide 100% accurate decisions. Your role is to use them wisely as a kick-starter and evaluate your specific situation with your&nbsp;team.</p><p>You will never find the optimal ratio of design/build, but you can train yourself and your team to have a better feeling when it is time to&nbsp;switch.</p><p>Good luck with your next project&nbsp;:)</p><div><hr></div><p><a href="https://betterprogramming.pub/how-to-decide-when-its-time-to-stop-designing-and-start-coding-eb9b6d8625c">5 Heuristics to Decide When It&#8217;s Time to Stop Designing and Start Coding</a> was originally published in <a href="https://betterprogramming.pub">Better Programming</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded></item><item><title><![CDATA[The Magic of Setting Expectations]]></title><description><![CDATA[How to use expectations as a tool for growth and excellence How many times have you reached a performance evaluation, or a retrospective and noticed the following phrases? &#8220;Why didn&#8217;t you help John (a junior developer) with the onboarding?&#8221; &#8220;Based on your experience, I was expecting you will take responsibility on that part&#8221;]]></description><link>https://www.engstuff.dev/p/the-magic-of-setting-expectations-978ba7316df8</link><guid isPermaLink="false">https://www.engstuff.dev/p/the-magic-of-setting-expectations-978ba7316df8</guid><dc:creator><![CDATA[Shy Alter]]></dc:creator><pubDate>Wed, 29 Dec 2021 14:42:53 GMT</pubDate><enclosure url="https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/9fc1d878-1a37-4eb4-a002-380107fa8a93_1114x589.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h4>How to use expectations as a tool for growth and excellence</h4><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jgvz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdebdfd96-7993-4148-8f36-0c60a9f9f799_1024x351.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jgvz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdebdfd96-7993-4148-8f36-0c60a9f9f799_1024x351.png 424w, https://substackcdn.com/image/fetch/$s_!jgvz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdebdfd96-7993-4148-8f36-0c60a9f9f799_1024x351.png 848w, https://substackcdn.com/image/fetch/$s_!jgvz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdebdfd96-7993-4148-8f36-0c60a9f9f799_1024x351.png 1272w, https://substackcdn.com/image/fetch/$s_!jgvz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdebdfd96-7993-4148-8f36-0c60a9f9f799_1024x351.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jgvz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdebdfd96-7993-4148-8f36-0c60a9f9f799_1024x351.png" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/debdfd96-7993-4148-8f36-0c60a9f9f799_1024x351.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!jgvz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdebdfd96-7993-4148-8f36-0c60a9f9f799_1024x351.png 424w, https://substackcdn.com/image/fetch/$s_!jgvz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdebdfd96-7993-4148-8f36-0c60a9f9f799_1024x351.png 848w, https://substackcdn.com/image/fetch/$s_!jgvz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdebdfd96-7993-4148-8f36-0c60a9f9f799_1024x351.png 1272w, https://substackcdn.com/image/fetch/$s_!jgvz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fdebdfd96-7993-4148-8f36-0c60a9f9f799_1024x351.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><figcaption class="image-caption">Image credit:&nbsp;Author</figcaption></figure></div><p>How many times have you reached a performance evaluation, or a retrospective and noticed the following phrases?</p><ul><li><p>&#8220;Why didn&#8217;t you help John (a junior developer) with the onboarding?&#8221;</p></li><li><p>&#8220;Based on your experience, I was expecting you will take responsibility on that&nbsp;part&#8221;</p></li><li><p>&#8220;I didn&#8217;t see any growth in that area, thus you won&#8217;t get the promotion&#8221;</p></li></ul><p>If you would like to avoid this situation, there is a powerful tool called expectations, the key is to set them up, loud and clear,&nbsp;<strong>upfront</strong>.</p><h3>No, it&#8217;s not&nbsp;obvious</h3><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!n5O9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F515e937f-36a8-47ea-9ce9-fcf229df78b5_1024x351.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!n5O9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F515e937f-36a8-47ea-9ce9-fcf229df78b5_1024x351.png 424w, https://substackcdn.com/image/fetch/$s_!n5O9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F515e937f-36a8-47ea-9ce9-fcf229df78b5_1024x351.png 848w, https://substackcdn.com/image/fetch/$s_!n5O9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F515e937f-36a8-47ea-9ce9-fcf229df78b5_1024x351.png 1272w, https://substackcdn.com/image/fetch/$s_!n5O9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F515e937f-36a8-47ea-9ce9-fcf229df78b5_1024x351.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!n5O9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F515e937f-36a8-47ea-9ce9-fcf229df78b5_1024x351.png" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/515e937f-36a8-47ea-9ce9-fcf229df78b5_1024x351.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&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_!n5O9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F515e937f-36a8-47ea-9ce9-fcf229df78b5_1024x351.png 424w, https://substackcdn.com/image/fetch/$s_!n5O9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F515e937f-36a8-47ea-9ce9-fcf229df78b5_1024x351.png 848w, https://substackcdn.com/image/fetch/$s_!n5O9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F515e937f-36a8-47ea-9ce9-fcf229df78b5_1024x351.png 1272w, https://substackcdn.com/image/fetch/$s_!n5O9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F515e937f-36a8-47ea-9ce9-fcf229df78b5_1024x351.png 1456w" sizes="100vw"></picture><div></div></div></a><figcaption class="image-caption">I mean, it&#8217;s obvious, isn&#8217;t&nbsp;it?</figcaption></figure></div><p>Something happen in your team, it might be a task that fell between the cracks or a team member who didn&#8217;t take ownership. You might find yourself saying &#8220;I thought it&#8217;s obvious that X will be done&#8221;. Many things that seem obvious to <em>you</em>, might not be obvious to <em>your&nbsp;team</em>.</p><p>People are coming from different backgrounds, life, and work experiences that shaped their expectations. It&#8217;s very likely that for someone who worked a few years in an empowered team, it will be obvious that the team can influence product decisions, but for another team member it might be the first time. As their manager, it&#8217;s <strong>your responsibility</strong> to ensure people know what is expected from&nbsp;them.</p><h3>A tool for measurement</h3><p>Without expectations it&#8217;s very difficult to benchmark yourself, that&#8217;s why many people aren&#8217;t able to grow at their desired pace. By setting expectations your team members will be able to see the direction and work in iterable&nbsp;mode.</p><p>On the left, you can see growth progress on a person without expectations, their manager assumes they know their value. On the right, the manager kept setting expectations and worked on adapting them with the&nbsp;growth.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qTt7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2c505bd-8200-4b10-86b5-69b9e9b305c6_1024x420.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qTt7!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2c505bd-8200-4b10-86b5-69b9e9b305c6_1024x420.png 424w, https://substackcdn.com/image/fetch/$s_!qTt7!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2c505bd-8200-4b10-86b5-69b9e9b305c6_1024x420.png 848w, https://substackcdn.com/image/fetch/$s_!qTt7!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2c505bd-8200-4b10-86b5-69b9e9b305c6_1024x420.png 1272w, https://substackcdn.com/image/fetch/$s_!qTt7!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2c505bd-8200-4b10-86b5-69b9e9b305c6_1024x420.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qTt7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2c505bd-8200-4b10-86b5-69b9e9b305c6_1024x420.png" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/f2c505bd-8200-4b10-86b5-69b9e9b305c6_1024x420.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&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_!qTt7!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2c505bd-8200-4b10-86b5-69b9e9b305c6_1024x420.png 424w, https://substackcdn.com/image/fetch/$s_!qTt7!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2c505bd-8200-4b10-86b5-69b9e9b305c6_1024x420.png 848w, https://substackcdn.com/image/fetch/$s_!qTt7!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2c505bd-8200-4b10-86b5-69b9e9b305c6_1024x420.png 1272w, https://substackcdn.com/image/fetch/$s_!qTt7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff2c505bd-8200-4b10-86b5-69b9e9b305c6_1024x420.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">With or&nbsp;without</figcaption></figure></div><ol><li><p>I&#8217;m expecting you to be more independent</p></li><li><p>I&#8217;m expecting you to lead this&nbsp;project</p></li><li><p>I&#8217;m expecting you to own the communication outside of the&nbsp;team</p></li><li><p>I&#8217;m expecting you to coach our&nbsp;juniors</p></li><li><p>&#8230;</p></li></ol><h3>Write or&nbsp;forget</h3><p>Having unclear expectations is much worse than having no expectations, thus it is <strong>very critical</strong> that expectations will be written. Many times I hear managers grumble that they <strong>did</strong> set expectations but the team wasn&#8217;t able to meet&nbsp;them.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Yb-V!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F10261b33-a6f0-4590-adab-38a16274be90_1024x354.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Yb-V!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F10261b33-a6f0-4590-adab-38a16274be90_1024x354.png 424w, https://substackcdn.com/image/fetch/$s_!Yb-V!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F10261b33-a6f0-4590-adab-38a16274be90_1024x354.png 848w, https://substackcdn.com/image/fetch/$s_!Yb-V!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F10261b33-a6f0-4590-adab-38a16274be90_1024x354.png 1272w, https://substackcdn.com/image/fetch/$s_!Yb-V!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F10261b33-a6f0-4590-adab-38a16274be90_1024x354.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Yb-V!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F10261b33-a6f0-4590-adab-38a16274be90_1024x354.png" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/10261b33-a6f0-4590-adab-38a16274be90_1024x354.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&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_!Yb-V!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F10261b33-a6f0-4590-adab-38a16274be90_1024x354.png 424w, https://substackcdn.com/image/fetch/$s_!Yb-V!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F10261b33-a6f0-4590-adab-38a16274be90_1024x354.png 848w, https://substackcdn.com/image/fetch/$s_!Yb-V!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F10261b33-a6f0-4590-adab-38a16274be90_1024x354.png 1272w, https://substackcdn.com/image/fetch/$s_!Yb-V!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F10261b33-a6f0-4590-adab-38a16274be90_1024x354.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">What happens when no one remembers&#8230;</figcaption></figure></div><p>When you try to analyze what went wrong, you realize that these expectations were not written anywhere, they were set in a meeting at best or a coffee chat at worst. I do understand that for some people is much easier to express their thought in verbal communication, but&#8230; if it&#8217;s not written it will be forgotten, or changed (which is even&nbsp;worse).</p><p>The process needs to be simple, you think about an expectation, you first write it down, then think about it a bit more, after you made sure it&#8217;s clear you either send it written or verbal communication. You should always get some minimal feedback from your member, it&#8217;s for making sure they understood and for adapting it to their&nbsp;reality.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!D-u0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F52fa0c3a-374a-4e82-8e47-c361479162ca_236x350.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!D-u0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F52fa0c3a-374a-4e82-8e47-c361479162ca_236x350.png 424w, https://substackcdn.com/image/fetch/$s_!D-u0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F52fa0c3a-374a-4e82-8e47-c361479162ca_236x350.png 848w, https://substackcdn.com/image/fetch/$s_!D-u0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F52fa0c3a-374a-4e82-8e47-c361479162ca_236x350.png 1272w, https://substackcdn.com/image/fetch/$s_!D-u0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F52fa0c3a-374a-4e82-8e47-c361479162ca_236x350.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!D-u0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F52fa0c3a-374a-4e82-8e47-c361479162ca_236x350.png" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/52fa0c3a-374a-4e82-8e47-c361479162ca_236x350.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&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_!D-u0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F52fa0c3a-374a-4e82-8e47-c361479162ca_236x350.png 424w, https://substackcdn.com/image/fetch/$s_!D-u0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F52fa0c3a-374a-4e82-8e47-c361479162ca_236x350.png 848w, https://substackcdn.com/image/fetch/$s_!D-u0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F52fa0c3a-374a-4e82-8e47-c361479162ca_236x350.png 1272w, https://substackcdn.com/image/fetch/$s_!D-u0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F52fa0c3a-374a-4e82-8e47-c361479162ca_236x350.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">The ideal flow for setting expectations</figcaption></figure></div><ol><li><p>A need&nbsp;emerge</p></li><li><p>You think of an expected&nbsp;outcome</p></li><li><p>Formulate the thought into&nbsp;text</p></li><li><p>Communicate async or&nbsp;sync</p></li><li><p>Get feedback and&nbsp;improve</p></li><li><p>Save and&nbsp;document</p></li></ol><h3>Some practical use&nbsp;cases</h3><h4>Performance excellence &#127937;</h4><p>Your team is working on a new initiative, it might be a new feature or a refactoring activity. As the leader of the team, you are sure your team will deliver the best results, I mean it&#8217;s obvious&nbsp;&#128521;</p><p>This might be less obvious to your team, by having a written page of the final expectation will help the team to figure out how to plan and validate their outputs. Besides that, the team would be able to get feedback on their work and improve for next&nbsp;time.</p><h4>Personal growth&nbsp;&#128036;</h4><p>One of your senior team members seems to be working in isolation, you notice that junior members are not improving their skills and the team is not&nbsp;growing.</p><p>Your senior team member is likely aware that one of their responsibilities is to coach and mentor their fellow junior members. In your next one-on-one, let them know that you expect them to work together with others, even at the cost of&nbsp;tasks.</p><h4>Team culture&nbsp;&#127918;</h4><p>Things seem to go in the right direction for your team. You managed to deliver challenging activities with great results, but you start noticing that many people are becoming toxic. Many sessions are ending with bad&nbsp;taste.</p><p>This is a substantial issue, it won't be solved by itself. One of the first actions you must do is to declare how do you expect team members to communicate with each other. Important to mention, this is only the starting point but it will provide the team a way to measure if things are going in the right&nbsp;way.</p><p>So let&#8217;s&nbsp;recap,</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!b7zQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F186598be-d912-4878-9df1-552d389fccd2_992x389.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!b7zQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F186598be-d912-4878-9df1-552d389fccd2_992x389.png 424w, https://substackcdn.com/image/fetch/$s_!b7zQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F186598be-d912-4878-9df1-552d389fccd2_992x389.png 848w, https://substackcdn.com/image/fetch/$s_!b7zQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F186598be-d912-4878-9df1-552d389fccd2_992x389.png 1272w, https://substackcdn.com/image/fetch/$s_!b7zQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F186598be-d912-4878-9df1-552d389fccd2_992x389.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!b7zQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F186598be-d912-4878-9df1-552d389fccd2_992x389.png" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/186598be-d912-4878-9df1-552d389fccd2_992x389.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&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_!b7zQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F186598be-d912-4878-9df1-552d389fccd2_992x389.png 424w, https://substackcdn.com/image/fetch/$s_!b7zQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F186598be-d912-4878-9df1-552d389fccd2_992x389.png 848w, https://substackcdn.com/image/fetch/$s_!b7zQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F186598be-d912-4878-9df1-552d389fccd2_992x389.png 1272w, https://substackcdn.com/image/fetch/$s_!b7zQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F186598be-d912-4878-9df1-552d389fccd2_992x389.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><div><hr></div><p><a href="https://betterprogramming.pub/the-magic-of-setting-expectations-978ba7316df8">The Magic of Setting Expectations</a> was originally published in <a href="https://betterprogramming.pub">Better Programming</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded></item><item><title><![CDATA[Some Beginner Tips for Concurrency with Async/Await and Promise.all]]></title><description><![CDATA[How you can make good use of concurrency to reduce execution time.]]></description><link>https://www.engstuff.dev/p/some-beginner-tips-for-concurrency-with-async-await-and-promise-all-dc28b5a4411e</link><guid isPermaLink="false">https://www.engstuff.dev/p/some-beginner-tips-for-concurrency-with-async-await-and-promise-all-dc28b5a4411e</guid><dc:creator><![CDATA[Shy Alter]]></dc:creator><pubDate>Fri, 03 Aug 2018 10:37:12 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Sr43!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1c131f1-1483-4601-80a9-5525973854eb_1000x795.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Sr43!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1c131f1-1483-4601-80a9-5525973854eb_1000x795.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Sr43!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1c131f1-1483-4601-80a9-5525973854eb_1000x795.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Sr43!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1c131f1-1483-4601-80a9-5525973854eb_1000x795.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Sr43!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1c131f1-1483-4601-80a9-5525973854eb_1000x795.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Sr43!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1c131f1-1483-4601-80a9-5525973854eb_1000x795.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Sr43!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1c131f1-1483-4601-80a9-5525973854eb_1000x795.jpeg" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/c1c131f1-1483-4601-80a9-5525973854eb_1000x795.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!Sr43!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1c131f1-1483-4601-80a9-5525973854eb_1000x795.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Sr43!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1c131f1-1483-4601-80a9-5525973854eb_1000x795.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Sr43!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1c131f1-1483-4601-80a9-5525973854eb_1000x795.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Sr43!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1c131f1-1483-4601-80a9-5525973854eb_1000x795.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><h4>How you can make good use of concurrency to reduce execution time.</h4><p>So you are using <strong>Async/Await </strong>and enjoying all the great benefits of&nbsp;it:</p><ol><li><p>Clean Code</p></li><li><p>Better error&nbsp;handling</p></li><li><p>Easy Branching (if/else)</p></li><li><p>Debugging</p></li><li><p>Much more&#8230;</p></li></ol><p>Yet it&#8217;s a good idea not to let the nice and clean syntax take your mind away from concurrency and how you can benefit from running tasks concurrently.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Sjwu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd4e85bb-ef58-4a9b-b4c9-70a5f9ae8de2_500x359.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Sjwu!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd4e85bb-ef58-4a9b-b4c9-70a5f9ae8de2_500x359.gif 424w, https://substackcdn.com/image/fetch/$s_!Sjwu!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd4e85bb-ef58-4a9b-b4c9-70a5f9ae8de2_500x359.gif 848w, https://substackcdn.com/image/fetch/$s_!Sjwu!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd4e85bb-ef58-4a9b-b4c9-70a5f9ae8de2_500x359.gif 1272w, https://substackcdn.com/image/fetch/$s_!Sjwu!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd4e85bb-ef58-4a9b-b4c9-70a5f9ae8de2_500x359.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Sjwu!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd4e85bb-ef58-4a9b-b4c9-70a5f9ae8de2_500x359.gif" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/bd4e85bb-ef58-4a9b-b4c9-70a5f9ae8de2_500x359.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&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_!Sjwu!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd4e85bb-ef58-4a9b-b4c9-70a5f9ae8de2_500x359.gif 424w, https://substackcdn.com/image/fetch/$s_!Sjwu!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd4e85bb-ef58-4a9b-b4c9-70a5f9ae8de2_500x359.gif 848w, https://substackcdn.com/image/fetch/$s_!Sjwu!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd4e85bb-ef58-4a9b-b4c9-70a5f9ae8de2_500x359.gif 1272w, https://substackcdn.com/image/fetch/$s_!Sjwu!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd4e85bb-ef58-4a9b-b4c9-70a5f9ae8de2_500x359.gif 1456w" sizes="100vw"></picture><div></div></div></a><figcaption class="image-caption">Multitasking</figcaption></figure></div><blockquote><p><strong>Concurrent computing</strong> is a form of <a href="https://en.wikipedia.org/wiki/Computing">computing</a> in which several <a href="https://en.wikipedia.org/wiki/Computation">computations</a> are executed during overlapping time periods&#8202;&#8212;&#8202;<a href="https://en.wikipedia.org/wiki/Concurrency_(computer_science)">concurrently</a>&#8202;&#8212;&#8202;instead of sequentially (one completing before the next&nbsp;starts).</p></blockquote><p>I will show the benefits by presenting two cases where <strong>concurrency shines.</strong></p><h3>Case 1: List of&nbsp;tasks</h3><p>Let&#8217;s say you have a list of posts that need to be published on an external service. Before publishing you want to validate some post fields and if they&#8217;re OK to&nbsp;publish.</p><h4><strong>The </strong>sequential<strong> solution&nbsp;</strong>&#128564;</h4><p>You can iterate over the list and check validation for each post, then if the post is valid proceed and publish&nbsp;it.</p><p>&lt;a href="https://medium.com/media/b7132bdd98af811a2fee8d2591028fba/href"&gt;https://medium.com/media/b7132bdd98af811a2fee8d2591028fba/href&lt;/a&gt;</p><p>This solution works, but you need to pay attention that each post has to wait<strong> until the end of the previous</strong> <strong>one </strong>to&nbsp;finish.</p><p>There is no reason why we should not execute all of them simultaneously.</p><h4><strong>The </strong>concurrent<strong> solution&nbsp;</strong>&#128526;</h4><p>First we will create a publishing pipeline: <em><strong>validate</strong> <strong>&#8594;</strong>&nbsp;<strong>publish</strong></em></p><p>Second, we will map all our posts to the pipeline and get back a list of tasks (Promises). Now we can call <strong>&#8220;Promise.all&#8221;</strong> to wait until all of the pipelines are done. Execution time has been reduced to almost one pipeline because each pipeline is running independently from one&nbsp;other.</p><p><strong>If you are dealing with very long sequences of posts it&#8217;s a good idea to split the pipelines into chunks and execute them one by&nbsp;one.</strong></p><p>&lt;a href="https://medium.com/media/51970e13094ed603478f0e5a43feb245/href"&gt;https://medium.com/media/51970e13094ed603478f0e5a43feb245/href&lt;/a&gt;</p><pre><code>Posting time: 200ms</code></pre><pre><code>Number of posts: 20</code></pre><pre><code>Seq solution: 200ms * 20 = 4sec </code></pre><pre><code>Concurrent solution: approximately 200ms</code></pre><pre><code>4sec vs 200ms - 20x faster</code></pre><h3>Case 2: Independent sources</h3><p>Sometimes you relay on several independent data sources, same as having multiple arguments for a function. they are not blocking each other and can be fetched in concurrent.</p><p>Now let&#8217;s imagine you need to compare all users&#8217; <em>payments, invoices </em>and <em>receipts</em> in your platform.</p><h4><strong>The </strong>sequential<strong> solution&nbsp;</strong>&#128564;</h4><p>You can get each resource one by one and then use&nbsp;them.</p><p>But now each data source will be fetched only after the previous one is finished, causing a slower execution time.</p><p>&lt;a href="https://medium.com/media/264b64cbf1835575faa8ed90fd5e7981/href"&gt;https://medium.com/media/264b64cbf1835575faa8ed90fd5e7981/href&lt;/a&gt;</p><h4>A concurrent <strong>solution&nbsp;</strong>&#128526;</h4><p>Create 3 different tasks and wait until all of them are&nbsp;done.</p><p>Here all of the calls are made in concurrent, which means we now have a faster preparation time, especially when calls are expensive in terms of&nbsp;time.</p><p>&lt;a href="https://medium.com/media/d39b7b5e9137114b65de86eeda7a575a/href"&gt;https://medium.com/media/d39b7b5e9137114b65de86eeda7a575a/href&lt;/a&gt;</p><pre><code>Get payments: 900ms</code></pre><pre><code>Get invoices: 800ms</code></pre><pre><code>Get receipts: 2000ms</code></pre><pre><code>Seq solution: 900ms + 800ms + 2000ms = 3700ms = 3.7s</code></pre><pre><code>Concurrent solution: Max(900ms, 800ms, 2000ms) = 2000ms = 2sec</code></pre><pre><code>3.7s vs 2sec - 1.85x faster</code></pre><h3>Conclusion</h3><p><em>Async/Await</em> can give us a lot of benefits in terms of readability and error handling, but we should not forget to use this feature wisely and always look for the tasks that could be handled <em><a href="https://en.wikipedia.org/wiki/Concurrency_(computer_science)">concurrently</a>.</em></p><ul><li><p>Always try to think which calls are non blocking and which ones have to run one by&nbsp;one.</p></li><li><p>Every time you&#8217;re finding yourself writing a loop with <strong>await</strong> try to figure out if you can use <strong>Promise.all </strong>based on the dependency of the&nbsp;calls.</p></li></ul>]]></content:encoded></item><item><title><![CDATA[How to use a Concurrent Task Queue in your Redux-Sagas]]></title><description><![CDATA[Learn what a concurrent task queue is, the best use cases, and how to write one.]]></description><link>https://www.engstuff.dev/p/how-to-use-a-concurrent-task-queue-in-your-redux-sagas-39e598c4fcae</link><guid isPermaLink="false">https://www.engstuff.dev/p/how-to-use-a-concurrent-task-queue-in-your-redux-sagas-39e598c4fcae</guid><dc:creator><![CDATA[Shy Alter]]></dc:creator><pubDate>Fri, 18 May 2018 21:33:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!qCU8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9ebae44-56a8-4864-bc78-a053f4ab7cc8_1000x663.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h4>Learn what a concurrent task queue is, the best use cases, and how to write&nbsp;one.</h4><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qCU8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9ebae44-56a8-4864-bc78-a053f4ab7cc8_1000x663.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qCU8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9ebae44-56a8-4864-bc78-a053f4ab7cc8_1000x663.jpeg 424w, https://substackcdn.com/image/fetch/$s_!qCU8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9ebae44-56a8-4864-bc78-a053f4ab7cc8_1000x663.jpeg 848w, https://substackcdn.com/image/fetch/$s_!qCU8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9ebae44-56a8-4864-bc78-a053f4ab7cc8_1000x663.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!qCU8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9ebae44-56a8-4864-bc78-a053f4ab7cc8_1000x663.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qCU8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9ebae44-56a8-4864-bc78-a053f4ab7cc8_1000x663.jpeg" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/f9ebae44-56a8-4864-bc78-a053f4ab7cc8_1000x663.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!qCU8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9ebae44-56a8-4864-bc78-a053f4ab7cc8_1000x663.jpeg 424w, https://substackcdn.com/image/fetch/$s_!qCU8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9ebae44-56a8-4864-bc78-a053f4ab7cc8_1000x663.jpeg 848w, https://substackcdn.com/image/fetch/$s_!qCU8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9ebae44-56a8-4864-bc78-a053f4ab7cc8_1000x663.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!qCU8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9ebae44-56a8-4864-bc78-a053f4ab7cc8_1000x663.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><p>The queue is one of the most used data structures.</p><p>You probably use it every day when you shop for groceries (even online) or when you send a text message to your&nbsp;friends.</p><p>The concurrent task queue is a very powerful pattern that can really help you handle tasks over time or improve your performance.</p><h3>Let&#8217;s start with the&nbsp;basics</h3><h4>What is a Queue?&nbsp;&#128694;&#128694;&#128694;&#8205;</h4><p>A queue is a linear structure in which values are added at one end and removed from the other. This discipline gives rise to a first-in/first-out behavior (FIFO) that is the defining feature of queues. The two fundamental queue operations are enqueued (add to back) and dequeue (remove from the front) (<a href="https://stanford.edu/~stepp/cppdoc/Queue-class.html">source</a>).</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vEaM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fae17da92-fabf-4cb4-b7b9-cc6db0964b45_405x265.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vEaM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fae17da92-fabf-4cb4-b7b9-cc6db0964b45_405x265.png 424w, https://substackcdn.com/image/fetch/$s_!vEaM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fae17da92-fabf-4cb4-b7b9-cc6db0964b45_405x265.png 848w, https://substackcdn.com/image/fetch/$s_!vEaM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fae17da92-fabf-4cb4-b7b9-cc6db0964b45_405x265.png 1272w, https://substackcdn.com/image/fetch/$s_!vEaM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fae17da92-fabf-4cb4-b7b9-cc6db0964b45_405x265.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vEaM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fae17da92-fabf-4cb4-b7b9-cc6db0964b45_405x265.png" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/ae17da92-fabf-4cb4-b7b9-cc6db0964b45_405x265.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&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_!vEaM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fae17da92-fabf-4cb4-b7b9-cc6db0964b45_405x265.png 424w, https://substackcdn.com/image/fetch/$s_!vEaM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fae17da92-fabf-4cb4-b7b9-cc6db0964b45_405x265.png 848w, https://substackcdn.com/image/fetch/$s_!vEaM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fae17da92-fabf-4cb4-b7b9-cc6db0964b45_405x265.png 1272w, https://substackcdn.com/image/fetch/$s_!vEaM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fae17da92-fabf-4cb4-b7b9-cc6db0964b45_405x265.png 1456w" sizes="100vw"></picture><div></div></div></a><figcaption class="image-caption">Representation of a <a href="https://en.wikipedia.org/wiki/FIFO_(computing_and_electronics)">FIFO</a> (first-in, first-out) queue (<a href="https://en.wikipedia.org/wiki/Queue_(abstract_data_type)">Wikipedia</a>)</figcaption></figure></div><h4>Ok, when should we use&nbsp;it?</h4><p>Use a queue when you need to maintain the order of events and process the value by that&nbsp;order.</p><h4>Great, you convinced me! But why do I need the concurrency thing?</h4><p>As I mentioned above, a queue is able to process one value at a time. But sometimes it&#8217;s not fast&nbsp;enough.</p><h4><strong>Consider the following case</strong>&nbsp;&#128588;:</h4><p>You are at your favorite grocery store and have just arrived at the cashier, but unfortunately, there are many people waiting. To speed up the process, the store opened several more registers and each additional cashier has its own queue. So you just have to choose one. If one of the cashiers is having a technical problem or they&#8217;re just slow, that queue will be delayed even if the other slots are&nbsp;free.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pfIM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0877499-c7e0-4080-9d52-f11b2cc9c266_1024x728.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pfIM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0877499-c7e0-4080-9d52-f11b2cc9c266_1024x728.png 424w, https://substackcdn.com/image/fetch/$s_!pfIM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0877499-c7e0-4080-9d52-f11b2cc9c266_1024x728.png 848w, https://substackcdn.com/image/fetch/$s_!pfIM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0877499-c7e0-4080-9d52-f11b2cc9c266_1024x728.png 1272w, https://substackcdn.com/image/fetch/$s_!pfIM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0877499-c7e0-4080-9d52-f11b2cc9c266_1024x728.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pfIM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0877499-c7e0-4080-9d52-f11b2cc9c266_1024x728.png" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/a0877499-c7e0-4080-9d52-f11b2cc9c266_1024x728.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&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_!pfIM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0877499-c7e0-4080-9d52-f11b2cc9c266_1024x728.png 424w, https://substackcdn.com/image/fetch/$s_!pfIM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0877499-c7e0-4080-9d52-f11b2cc9c266_1024x728.png 848w, https://substackcdn.com/image/fetch/$s_!pfIM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0877499-c7e0-4080-9d52-f11b2cc9c266_1024x728.png 1272w, https://substackcdn.com/image/fetch/$s_!pfIM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0877499-c7e0-4080-9d52-f11b2cc9c266_1024x728.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">(<a href="http://twitter.com/andreagiuliaderba">@andreagiuliaderba</a>)</figcaption></figure></div><p>Concurrent task queue to the rescue!&nbsp;&#128170;</p><p>We will use only one queue for our purposes. In that way, every time a slot becomes free, we will dequeue a person from the queue and send him/her to the free&nbsp;slot.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-4u2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4a37425-7e8a-49b8-9d2f-9d1d7d4a97ab_1024x728.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-4u2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4a37425-7e8a-49b8-9d2f-9d1d7d4a97ab_1024x728.png 424w, https://substackcdn.com/image/fetch/$s_!-4u2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4a37425-7e8a-49b8-9d2f-9d1d7d4a97ab_1024x728.png 848w, https://substackcdn.com/image/fetch/$s_!-4u2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4a37425-7e8a-49b8-9d2f-9d1d7d4a97ab_1024x728.png 1272w, https://substackcdn.com/image/fetch/$s_!-4u2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4a37425-7e8a-49b8-9d2f-9d1d7d4a97ab_1024x728.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-4u2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4a37425-7e8a-49b8-9d2f-9d1d7d4a97ab_1024x728.png" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/f4a37425-7e8a-49b8-9d2f-9d1d7d4a97ab_1024x728.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&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_!-4u2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4a37425-7e8a-49b8-9d2f-9d1d7d4a97ab_1024x728.png 424w, https://substackcdn.com/image/fetch/$s_!-4u2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4a37425-7e8a-49b8-9d2f-9d1d7d4a97ab_1024x728.png 848w, https://substackcdn.com/image/fetch/$s_!-4u2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4a37425-7e8a-49b8-9d2f-9d1d7d4a97ab_1024x728.png 1272w, https://substackcdn.com/image/fetch/$s_!-4u2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4a37425-7e8a-49b8-9d2f-9d1d7d4a97ab_1024x728.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">single concurrent queue (<a href="http://twitter.com/andreagiuliaderba">@andreagiuliaderba</a>)</figcaption></figure></div><p>Hooray! &#127881;</p><h3>Let&#8217;s examine a use&nbsp;case</h3><p>Last week, I was working on a Google Chrome extension that sniffs and downloads HLS <a href="https://en.m.wikipedia.org/wiki/HTTP_Live_Streaming">streams</a> (HTTP Live&nbsp;stream).</p><p>HLS streams are combined from multiple chunks that are fetched one by one and streamed to your browser as a single video. You can have thousands of files per stream, and you need to download them&nbsp;all.</p><p>We will use our beloved <strong>queue</strong> to speed up the process and make sure that one slow fetch is not gonna hold up the&nbsp;others.</p><h3><strong>TL;DR: here&#8217;s the&nbsp;code</strong></h3><p>&lt;a href="https://medium.com/media/e3e893d2c8e3dfbf70703ed75ed07963/href"&gt;https://medium.com/media/e3e893d2c8e3dfbf70703ed75ed07963/href&lt;/a&gt;</p><p>Now let&#8217;s look at it piece-by-piece.</p><h4>1. The&nbsp;handler</h4><p>&lt;a href="https://medium.com/media/10cd4512fe167910e06fdedc4559f221/href"&gt;https://medium.com/media/10cd4512fe167910e06fdedc4559f221/href&lt;/a&gt;</p><p>This simple handler gets the URI from the payload and&nbsp;then:</p><ul><li><p>fetches the&nbsp;chunk</p></li><li><p>transforms it to a&nbsp;blob</p></li><li><p>emits a <strong>chunk-ready</strong> redux&nbsp;event</p></li><li><p>gets the current count of ready&nbsp;chunks</p></li><li><p>checks if it&#8217;s <strong>&#8220;all&nbsp;done&#8221;</strong></p></li></ul><h4>2. Create the&nbsp;queue</h4><p>&lt;a href="https://medium.com/media/01b3b84e98100cbcaabc663269e353d7/href"&gt;https://medium.com/media/01b3b84e98100cbcaabc663269e353d7/href&lt;/a&gt;</p><p>Using the handler, we create a new queue with <strong>5 workers.</strong> We get back the <strong>watcher</strong> task and a <strong>queue channel.</strong> Then we are going to run (fork) the watcher task so it will start listening to&nbsp;tasks.</p><h4>3. Push the&nbsp;tasks</h4><p>&lt;a href="https://medium.com/media/03897e90b6ebc2b002f08d2307c018e4/href"&gt;https://medium.com/media/03897e90b6ebc2b002f08d2307c018e4/href&lt;/a&gt;</p><p>We map all the segments to a put task (into the <strong>queue channel </strong>that we got back), and then we fire all the tasks together.</p><h4>4. Wait for all the chunks to be ready or for the action to be cancelled</h4><p>&lt;a href="https://medium.com/media/56b752d8889ce6e2e30bce01cf7cdb71/href"&gt;https://medium.com/media/56b752d8889ce6e2e30bce01cf7cdb71/href&lt;/a&gt;</p><p>Now we are waiting for the first action to be called <strong>all-done</strong> or to be <strong>canceled.</strong> After that, we can cancel the watcher and act according to the action that has been received.</p><h3>And that&#8217;s&nbsp;it!</h3><p>If you want to see it live, visit <a href="https://github.com/puemos/hls-downloader-chrome-extension">https://github.com/puemos/hls-downloader</a>, and download the Chrome extension.</p><p>I hope you learned something new! If you have any questions, please comment below so everybody can&nbsp;benefit.</p>]]></content:encoded></item><item><title><![CDATA[Dos and don’ts when convincing colleagues to do functional programming.]]></title><description><![CDATA[A shortlist to help you persuade your teammates to adopt functional programming (or any technology/practice/tool currently unknown to your team).]]></description><link>https://www.engstuff.dev/p/dos-and-donts-while-trying-to-persuade-functional-programming-69a472c28580</link><guid isPermaLink="false">https://www.engstuff.dev/p/dos-and-donts-while-trying-to-persuade-functional-programming-69a472c28580</guid><dc:creator><![CDATA[Shy Alter]]></dc:creator><pubDate>Fri, 27 Apr 2018 07:06:38 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!7kmG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6de82ee6-06dc-4ce7-85e0-ce0877237dc8_1000x667.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h4>A shortlist to help you persuade your teammates to adopt functional programming (or any technology/practice/tool currently unknown to your&nbsp;team).</h4><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7kmG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6de82ee6-06dc-4ce7-85e0-ce0877237dc8_1000x667.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7kmG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6de82ee6-06dc-4ce7-85e0-ce0877237dc8_1000x667.jpeg 424w, https://substackcdn.com/image/fetch/$s_!7kmG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6de82ee6-06dc-4ce7-85e0-ce0877237dc8_1000x667.jpeg 848w, https://substackcdn.com/image/fetch/$s_!7kmG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6de82ee6-06dc-4ce7-85e0-ce0877237dc8_1000x667.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!7kmG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6de82ee6-06dc-4ce7-85e0-ce0877237dc8_1000x667.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7kmG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6de82ee6-06dc-4ce7-85e0-ce0877237dc8_1000x667.jpeg" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/6de82ee6-06dc-4ce7-85e0-ce0877237dc8_1000x667.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!7kmG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6de82ee6-06dc-4ce7-85e0-ce0877237dc8_1000x667.jpeg 424w, https://substackcdn.com/image/fetch/$s_!7kmG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6de82ee6-06dc-4ce7-85e0-ce0877237dc8_1000x667.jpeg 848w, https://substackcdn.com/image/fetch/$s_!7kmG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6de82ee6-06dc-4ce7-85e0-ce0877237dc8_1000x667.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!7kmG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F6de82ee6-06dc-4ce7-85e0-ce0877237dc8_1000x667.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><figcaption class="image-caption"><a href="https://unsplash.com/@anikinearthwalker">@anikinearthwalker</a></figcaption></figure></div><p>Like many others, I fell in love with functional <a href="https://hackernoon.com/tagged/programming">programming</a>, the problem was that I was the only one in my&nbsp;team.</p><p>I believed that functional programming could have a great impact on our code base that&#8217;s why I&#8217;ve tried to convince my fellow developers to make the&nbsp;change.</p><p>These are my dos and don&#8217;ts from that experience.</p><h3>Don&#8217;t sell it as the solution for everything</h3><p><strong>First,</strong> <strong>it&#8217;s not&nbsp;&#128556;.</strong></p><p>Yeah sure, functional programming is awesome and solves many issues but it&#8217;s not a silver bullet and has many other pitfalls. Telling everybody that it will solve all their problems will just create very high expectations that will crash on the first obstacle.</p><h3>Do present it as another approach to solving&nbsp;problems</h3><p>Try to take a specific issue and show your team how it can be done in a functional way. In that way, the benefits will be clear and a lot easier to digest. Choose a complicated pipeline that, with the help of <a href="https://github.com/folktale/data.either#readme">Either monad</a>, will become&nbsp;clearer.</p><h3>Don&#8217;t write your next feature in a completely functional way</h3><p>Okay, so the feature is written flawlessly <strong>but</strong> you are the only one that can understand that code &#129299;. It&#8217;s way more important to have a unified code base than having your feature written in an <a href="https://drboolean.gitbooks.io/mostly-adequate-guide-old/content/">adequate way</a>. You will create <strong>confusion</strong> and make your team feel <strong>overwhelmed</strong> by the names and unfamiliar patterns.</p><pre><code>const simple = fn1 =&gt; fn2 =&gt; fn3 =&gt; fn4 =&gt; fn1(fn2(fn3, fn4)); WTF?!?</code></pre><h3>Do a&nbsp;workshop</h3><p>A workshop is a wonderful way to teach new techs and paradigms. Start from the very basic and move to more advanced areas, take an existing feature, and refactor it together while indicating the best practices and the benefits.</p><h3>Don&#8217;t fight</h3><p>Many people just love wasting time and fighting over stupid things like tabs vs. spaces, vim vs. emacs&nbsp;&#8230; <strong>imperative vs. functional </strong>&#128548;. Try as much as possible to avoid any battle because they will make people automatically reject the functional <a href="https://hackernoon.com/tagged/ideas">ideas</a>.</p><h3>Do be&nbsp;flexible</h3><p>It&#8217;s ok if someone mixed some imperative code inside your beautiful functional module. Go to this developer and open a discussion about why he/she chose that way and show him the other approach and be open to accepting his&nbsp;way.</p><p><em>Changes are a process, don&#8217;t give up and stop writing functional code in your job projects.</em></p><p><em>Do you have any <strong>tips</strong> from your experience? Please share&nbsp;them!</em></p>]]></content:encoded></item><item><title><![CDATA[Why You Should Start a Side Project — and How]]></title><description><![CDATA[Why You Should Start a Side Project &#8212; and How]]></description><link>https://www.engstuff.dev/p/why-you-should-start-a-side-project-and-how-8e63a33187e5</link><guid isPermaLink="false">https://www.engstuff.dev/p/why-you-should-start-a-side-project-and-how-8e63a33187e5</guid><dc:creator><![CDATA[Shy Alter]]></dc:creator><pubDate>Wed, 11 Apr 2018 09:35:04 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!mt50!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7aaae53-cca5-4372-8a77-57a2985a50f8_1000x667.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h3>Why You Should Start a Side Project&#8202;&#8212;&#8202;and&nbsp;How</h3><h4>A two-part article about how you can benefit from working on a side project and how you can start your&nbsp;own.</h4><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mt50!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7aaae53-cca5-4372-8a77-57a2985a50f8_1000x667.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mt50!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7aaae53-cca5-4372-8a77-57a2985a50f8_1000x667.jpeg 424w, https://substackcdn.com/image/fetch/$s_!mt50!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7aaae53-cca5-4372-8a77-57a2985a50f8_1000x667.jpeg 848w, https://substackcdn.com/image/fetch/$s_!mt50!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7aaae53-cca5-4372-8a77-57a2985a50f8_1000x667.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!mt50!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7aaae53-cca5-4372-8a77-57a2985a50f8_1000x667.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mt50!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7aaae53-cca5-4372-8a77-57a2985a50f8_1000x667.jpeg" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/d7aaae53-cca5-4372-8a77-57a2985a50f8_1000x667.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!mt50!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7aaae53-cca5-4372-8a77-57a2985a50f8_1000x667.jpeg 424w, https://substackcdn.com/image/fetch/$s_!mt50!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7aaae53-cca5-4372-8a77-57a2985a50f8_1000x667.jpeg 848w, https://substackcdn.com/image/fetch/$s_!mt50!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7aaae53-cca5-4372-8a77-57a2985a50f8_1000x667.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!mt50!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7aaae53-cca5-4372-8a77-57a2985a50f8_1000x667.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><h3>First part: The&nbsp;Why</h3><p>Side projects are a big part of my life, they helped me get my first student position and later on a job right after I relocated to Europe. I feel that one of the reasons why I love developing is the fact that we are creators, so why restrict ourselves?</p><p>I found <strong>7 reasons</strong> why I really believe you should start your own creation&nbsp;today.</p><h3>1. Improve your&nbsp;skills</h3><p>We&#8217;ve all had the feeling that we&#8217;re a little behind. It could be with basic programming skills, like data structures or algorithms, a specific technology that you&#8217;re using at work (apache spark), or maybe a service that you don&#8217;t have a clue how it works like AWS. A side project is your opportunity to take a specific skill and build something that uses&nbsp;it.</p><p>Most of us are part of a team, and we can&#8217;t work all day on a specific skill because we need to deliver features and solve bugs; but in our field, you can&#8217;t lag behind and need to develop your set of&nbsp;skills.</p><h3>2. Try new technologies</h3><p>Last year I found out about functional programming and it was a pleasure. At work, we were using some other technologies and I really wanted to use my knowledge, so I ended up <strong>creating a small game in the wonderful </strong><em><strong>#elm language. </strong></em>This simple game forced me to use the &#8220;elm architecture&#8221; and, by that, to improve my skills dealing with impossible states. Many times you find an amazing piece of technology that could solve all your problems, but perhaps your team is using a different stack.</p><p>In a side project, you&#8217;re choosing the technologies that you like to explore. And as a bonus, <em>you may be able to convince everyone to adopt that&nbsp;tech</em>.</p><h3>3. Get&nbsp;feedback</h3><p>We all need feedback because it&#8217;s the best tool to improve. Sometimes you may be working on internal projects or, in the worst-case scenario, on unused projects.</p><p><em><strong>The benefit of building your own thing is the freedom to decide who can use it</strong></em><strong>. </strong>You can build a smart home system and share it with your family and friends or even with the entire&nbsp;world.</p><h3>4. Be a part of a community</h3><p>A big part of building stuff is asking questions and struggling with unsolvable bugs. Luckily, there are many <strong>awesome communities</strong> that can help you with bugs and even with your motivation. You can find them on <a href="https://slofile.com/">Slack</a>, <a href="https://reddit.com">Reddit</a>, IRC, and <a href="https://stackoverflow.com">Stack Overflow,</a> among others. You just need to&nbsp;look.</p><h3>5. Build it from&nbsp;scratch</h3><p>What&#8217;s the first project I worked on? A large-scale application that involved many pieces and technologies. I understood most of the parts, but I lacked the opportunity to really understand how things work. I believe that the only way to really understand complex systems is to try and build one yourself. Yes, you will struggle, but the struggle is actually the progress of learning and understanding all the small&nbsp;gotchas.</p><h3>6. Unleash your creativity</h3><p>You always tell your friends that you have this crazy idea, so why don&#8217;t you just try to build it? &#129299; Sure, maybe you will ditch it after a couple of weeks, but at least you will stop this itching. <em>And prove to yourself that it&#8217;s doable. Or that it&#8217;s&nbsp;not.</em></p><h3>7. Start something new</h3><p>If you have an entrepreneurial soul, a side project is your opportunity to start something new. Many of today&#8217;s products <strong>started as side projects</strong>. So, give yourself a chance and build your dream&nbsp;product.</p><p>Some of the most famous examples are <a href="https%3A%2F%2Fwww.instagram.com">Instagram</a>, <a href="https%3A%2F%2Fwww.slack.com">Slack</a>, <a href="https%3A%2F%2Fwww.groupon.com">Groupon</a>, <a href="https%3A%2F%2Fwww.twitter.com">Twitter</a>, <a href="https%3A%2F%2Fwww.pinterest.com">Pinterest</a>. So, give yourself a chance, don&#8217;t be lazy, and build your dream&nbsp;product.</p><p><em>You can find my side project here <a href="https://github.com/puemos">https://github.com/puemos</a></em></p><p><strong>Happy coding!</strong></p>]]></content:encoded></item></channel></rss>