<?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[padz.dev: Building Culture]]></title><description><![CDATA[Abordagens sobre os aspectos humanos da engenharia: cultura técnica, liderança, colaboração, processos de desenvolvimento e tudo que contribui para times saudáveis e produtos sustentáveis.]]></description><link>https://blog.padz.dev/s/building-culture</link><image><url>https://substackcdn.com/image/fetch/$s_!d0XQ!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F28f3aae4-c6f9-4a2b-9671-b0ff6175501a_512x512.png</url><title>padz.dev: Building Culture</title><link>https://blog.padz.dev/s/building-culture</link></image><generator>Substack</generator><lastBuildDate>Thu, 30 Apr 2026 13:35:42 GMT</lastBuildDate><atom:link href="https://blog.padz.dev/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Bruno Padilha]]></copyright><language><![CDATA[pt-br]]></language><webMaster><![CDATA[brunopadz@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[brunopadz@substack.com]]></itunes:email><itunes:name><![CDATA[Bruno Padilha]]></itunes:name></itunes:owner><itunes:author><![CDATA[Bruno Padilha]]></itunes:author><googleplay:owner><![CDATA[brunopadz@substack.com]]></googleplay:owner><googleplay:email><![CDATA[brunopadz@substack.com]]></googleplay:email><googleplay:author><![CDATA[Bruno Padilha]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Evitando bolhas de negatividade]]></title><description><![CDATA[O conselho de carreira que ningu&#233;m quer ouvir, mas todo mundo precisa.]]></description><link>https://blog.padz.dev/p/evitando-bolhas-de-negatividade</link><guid isPermaLink="false">https://blog.padz.dev/p/evitando-bolhas-de-negatividade</guid><dc:creator><![CDATA[Bruno Padilha]]></dc:creator><pubDate>Tue, 23 Dec 2025 12:48:36 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!288p!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F520da97c-9443-47b7-a575-5c4ebb78b1ee_6000x4000.jpeg" 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_!288p!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F520da97c-9443-47b7-a575-5c4ebb78b1ee_6000x4000.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!288p!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F520da97c-9443-47b7-a575-5c4ebb78b1ee_6000x4000.jpeg 424w, https://substackcdn.com/image/fetch/$s_!288p!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F520da97c-9443-47b7-a575-5c4ebb78b1ee_6000x4000.jpeg 848w, https://substackcdn.com/image/fetch/$s_!288p!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F520da97c-9443-47b7-a575-5c4ebb78b1ee_6000x4000.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!288p!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F520da97c-9443-47b7-a575-5c4ebb78b1ee_6000x4000.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!288p!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F520da97c-9443-47b7-a575-5c4ebb78b1ee_6000x4000.jpeg" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/520da97c-9443-47b7-a575-5c4ebb78b1ee_6000x4000.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2486878,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://blog.padz.dev/i/181440566?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F520da97c-9443-47b7-a575-5c4ebb78b1ee_6000x4000.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!288p!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F520da97c-9443-47b7-a575-5c4ebb78b1ee_6000x4000.jpeg 424w, https://substackcdn.com/image/fetch/$s_!288p!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F520da97c-9443-47b7-a575-5c4ebb78b1ee_6000x4000.jpeg 848w, https://substackcdn.com/image/fetch/$s_!288p!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F520da97c-9443-47b7-a575-5c4ebb78b1ee_6000x4000.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!288p!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F520da97c-9443-47b7-a575-5c4ebb78b1ee_6000x4000.jpeg 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">Foto por <a href="https://unsplash.com/@pawel_czerwinski?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Pawel Czerwinski</a> no <a href="https://unsplash.com/photos/a-black-background-with-a-blue-wave-of-light-eybM9n4yrpE?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a></figcaption></figure></div><p>Esse post &#233; baseado em <a href="https://brooker.co.za/blog/2025/06/20/career.html">um dos melhores artigos</a> que li esse ano e que tenho tentado seguir. Sim, &#233; um exerc&#237;cio constante e para mudar esse comportamento leva tempo. Afinal, somos humanos e reclamar &#233; inerente. </p><p>No texto do <a href="https://brooker.co.za/blog/">Marc Brooker</a>, ele toca em um ponto que a maioria das pessoas prefere ignorar (ou que n&#227;o se atentaram ainda), que s&#227;o as pessoas e grupos que voc&#234; escolhe ouvir, dar aten&#231;&#227;o e participar moldam de forma silenciosa a sua ambi&#231;&#227;o, a sua energia e a sua capacidade de evolu&#231;&#227;o.</p><p>E uma grande verdade &#233; que se voc&#234; passa tempo demais em ambientes e/ou grupos onde o normal &#233; reclamar, voc&#234; vira parte do problema, mesmo achando que est&#225; s&#243; desabafando.</p><h2><strong>Evitando o ru&#237;do negativo</strong></h2><blockquote><p>&#8220;If I could offer you a single piece of career advice, it&#8217;s this: avoid negativity echo chambers.&#8221;</p></blockquote><p>Grupos onde a reclama&#231;&#227;o reina v&#227;o drenar sua capacidade de pensar com clareza e ser&#225; criada uma distor&#231;&#227;o onde todo desafio parece muito complicado, toda empresa &#233; t&#243;xica e todo l&#237;der &#233; incompetente.</p><p>Voc&#234; pode n&#227;o perceber, mas a sua ambi&#231;&#227;o &#233; enfraquecida por osmose.</p><p>E a verdade &#233; simples, pessoas que vivem reclamando n&#227;o progridem e tamb&#233;m n&#227;o querem que voc&#234; progrida.</p><p>E &#233; a&#237; que o pessimismo em grupo vira identidade.</p><blockquote><p>&#8220;Sometimes, it becomes a cultural norm&#8230; pessimistic people end up dominating.&#8221;</p></blockquote><p>Essa &#233; a real, quando a negatividade vira a linguagem comum, quem tenta construir algo novo se torna o ing&#234;nuo que n&#227;o conhece o ambiente que trabalha.</p><p>E na minha opini&#227;o, esse tipo de grupo/comunidade &#233; bem confort&#225;vel para quem desistiu silenciosamente da pr&#243;pria evolu&#231;&#227;o. Se voc&#234; est&#225; cercado disso, voc&#234; com certeza j&#225; sabe. E sabe tamb&#233;m que, quanto mais tempo passa, mais dif&#237;cil se desligar dessas comunidades.</p><p>Outra grande verdade &#233; que reclamar com pares tamb&#233;m n&#227;o adianta e essa &#233; uma das frases mais verdadeiras do texto:</p><blockquote><p>&#8220;DMing away about how much things suck doesn&#8217;t make change.&#8221;</p></blockquote><p>Sair mandando mensagem privada para seus pares pode criar a sensa&#231;&#227;o de a&#231;&#227;o, mas a real &#233; que n&#227;o. Ainda mais se &#233; um problema cultural e/ou estrutural da empresa. No fim, &#233; autoengano com um custo emocional alto.</p><p>Quando voc&#234; passa um tempo demais alimentando essas conversas de bastidores, est&#225; tentando dizer para si mesmo que est&#225; tentando melhorar&#8230; mas, na pr&#225;tica, s&#243; est&#225; mantendo o status quo. &#201; um v&#237;cio que parece inofensivo, mas destr&#243;i clareza e motiva&#231;&#227;o.</p><p>Vale ressaltar que o oposto tamb&#233;m &#233; prejudicial:</p><blockquote><p>&#8220;Positive echo chambers can be bad too.&#8221;</p></blockquote><p>Sim, entusiasmo e positivismo cego &#233; t&#227;o t&#243;xico quanto o pessimismo cr&#244;nico. O ponto central n&#227;o &#233; ser positivo e good vibes o tempo todo. &#201; ter clareza da situa&#231;&#227;o. </p><p>Todo esse otimismo sem a&#231;&#227;o gera ilus&#227;o e a negatividade sem a&#231;&#227;o gera corros&#227;o e entre esses dois extremos est&#225; o &#250;nico caminho que importa, a realidade com movimento.</p><h2><strong>E como sair desse ciclo?</strong></h2><p>O Marc prop&#245;e algo bem direto:</p><blockquote><p>&#8220;If more than 20% of the content is negative, I move on.&#8221; </p></blockquote><p>Marc tamb&#233;m define um limite objetivo para se livrar desses ambientes e voc&#234; n&#227;o precisa se explicar, n&#227;o precisa convencer ningu&#233;m, &#233; s&#243; sair. Se voc&#234; est&#225; consumindo e interagindo de forma negativa mais de 20% do seu tempo ou mais de 20% das conversas s&#227;o s&#243; reclama&#231;&#245;es, voc&#234; j&#225; sabe o que isso est&#225; fazendo com seu c&#233;rebro e com seu &#226;nimo.</p><p>Meu conselho aqui &#233; fazer uma reflex&#227;o do que voc&#234; consome em m&#237;dias sociais (principalmente LinkedIn) e em grupos/comunidades que voc&#234; participa hoje e se voc&#234; achar que &#233; t&#243;xico, saia. Novamente, voc&#234; n&#227;o precisa se explicar, nem convencer ningu&#233;m. </p><p>Outra sa&#237;da &#233; onde voc&#234; vai e deve colocar sua energia:</p><blockquote><p>&#8220;Spend your energy at work doing great work and improving. Or, do the minimum and disconnect.&#8221;</p></blockquote><p>Em uma tradu&#231;&#227;o livre &#8220;Gaste sua energia no trabalho fazendo um trabalho bacana e sempre melhorando, ou fa&#231;a o m&#237;nimo e desconecte&#8221; e ponto final.</p><p>Esse clima morno onde voc&#234; nem cresce, nem descansa e nem se preserva n&#227;o leva a nada, s&#243; estagna&#231;&#227;o.</p><p>Se quer evoluir, aprenda, construa, se exponha ao que te desafia. Se aproxime de pessoas que constroem, que tentam, que erram, que corrigem e que seguem nesse ritmo. Isso vale para pessoas no seu trabalho ou de comunidades.</p><p>O que n&#227;o d&#225; &#233; tentar justificar essa estagna&#231;&#227;o com discursos sobre &#8220;como o mercado &#233; cruel&#8221; ou &#8220;como ningu&#233;m sabe o que faz&#8221;. Infelizmente, esse discurso s&#243; te faz continuar na mesma.</p><h2><strong>Pontos finais</strong></h2><p>Como disse inicialmente, &#233; dif&#237;cil quebrar esse ciclo e a maioria das pessoas subestima o impacto das comunidades que fazem parte e o conte&#250;do que consomem. </p><p>Voc&#234; pode ser super competente, ser &#243;timo tecnicamente, mas se a sua refer&#234;ncia di&#225;ria s&#227;o grupos onde as pessoas s&#227;o frustradas e beiram o cinismo, n&#227;o existem atalhos, mentoria e nem ajuda profissional que ajude. </p><p>Meu conselho &#233;, se quiser evoluir, remova todo o ru&#237;do negativo, saia de grupos, fa&#231;a uma boa limpa em suas redes sociais, n&#227;o d&#234; bola para aquele colega de trabalho que s&#243; sabe ver o lado negativo das coisas e comece a se aproximar de quem est&#225; construindo e evoluindo.</p>]]></content:encoded></item><item><title><![CDATA[Como medir a produtividade de um time de engenharia de software? ]]></title><description><![CDATA[A resposta &#233; simples, DORA Metrics!]]></description><link>https://blog.padz.dev/p/como-medir-a-produtividade-de-um</link><guid isPermaLink="false">https://blog.padz.dev/p/como-medir-a-produtividade-de-um</guid><dc:creator><![CDATA[Bruno Padilha]]></dc:creator><pubDate>Tue, 30 Jul 2024 15:12:33 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!V3Gr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9928ee66-be47-4ac8-ab1c-5871340967e8_1920x1280.jpeg" 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_!V3Gr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9928ee66-be47-4ac8-ab1c-5871340967e8_1920x1280.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!V3Gr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9928ee66-be47-4ac8-ab1c-5871340967e8_1920x1280.jpeg 424w, https://substackcdn.com/image/fetch/$s_!V3Gr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9928ee66-be47-4ac8-ab1c-5871340967e8_1920x1280.jpeg 848w, https://substackcdn.com/image/fetch/$s_!V3Gr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9928ee66-be47-4ac8-ab1c-5871340967e8_1920x1280.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!V3Gr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9928ee66-be47-4ac8-ab1c-5871340967e8_1920x1280.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!V3Gr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9928ee66-be47-4ac8-ab1c-5871340967e8_1920x1280.jpeg" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9928ee66-be47-4ac8-ab1c-5871340967e8_1920x1280.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:390888,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&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_!V3Gr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9928ee66-be47-4ac8-ab1c-5871340967e8_1920x1280.jpeg 424w, https://substackcdn.com/image/fetch/$s_!V3Gr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9928ee66-be47-4ac8-ab1c-5871340967e8_1920x1280.jpeg 848w, https://substackcdn.com/image/fetch/$s_!V3Gr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9928ee66-be47-4ac8-ab1c-5871340967e8_1920x1280.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!V3Gr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9928ee66-be47-4ac8-ab1c-5871340967e8_1920x1280.jpeg 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">Foto por <a href="https://unsplash.com/@mcverry?utm_content=creditCopyText&amp;utm_medium=referral&amp;utm_source=unsplash">Mikail McVerry</a> no <a href="https://unsplash.com/photos/black-speedometer--yBvef_mAaQ?utm_content=creditCopyText&amp;utm_medium=referral&amp;utm_source=unsplash">Unsplash</a></figcaption></figure></div><p>Imagine voc&#234;, como Engenheiro/a DevOps ou Engenheiro/a de Software, como voc&#234; mediria seu desempenho, do seu time ou da engenharia como um todo? Existe algum framework ou m&#233;todo para isso? A resposta &#233; &#8220;sim&#8221;, como o <a href="https://blog.codacy.com/space-framework">SPACE</a> e o <a href="https://getdx.com/blog/measuring-developer-productivity/">DevEx</a>, mas o framework que vou abordar hoje &#233; o DORA Metrics.</p><p>Medir a efic&#225;cia das pr&#225;ticas de DevOps vai al&#233;m de apenas implementar CI/CD e afirmar que se est&#225; praticando DevOps. As DORA Metrics, desenvolvidas pela <a href="https://dora.dev/">DevOps Research and Assessment</a>, s&#227;o fundamentais para obter uma vis&#227;o precisa e baseada em dados sobre o desempenho de entrega de software. Elas se concentram em quatro m&#233;tricas principais que revelam o desempenho real das equipes de engenharia, destacando de forma clara as &#225;reas que precisam de melhorias. Com essas m&#233;tricas, voc&#234; consegue ir direto ao ponto, identificando gargalos e oportunidades para otimizar processos e entregar mais valor.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.padz.dev/subscribe?&quot;,&quot;text&quot;:&quot;Inscreva-se&quot;,&quot;language&quot;:&quot;pt-br&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">padz.dev &#233; uma publica&#231;&#227;o apoiada por leitores. Para receber novos posts e apoiar meu trabalho, considere tornar-se um assinante gratuito ou pago.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Digite seu e-mail&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Inscreva-se"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Al&#233;m disso, as DORA Metrics podem ser alinhadas com os objetivos estrat&#233;gicos da empresa, garantindo que as pr&#225;ticas de DevOps estejam em sintonia com as metas de neg&#243;cio. Por exemplo, ao melhorar a Frequ&#234;ncia de Deploys e reduzir o tempo m&#233;dio de recupera&#231;&#227;o de um incidente, a empresa pode acelerar o tempo de lan&#231;amento de novos produtos no mercado e consequentemente aumentando sua competitividade e satisfa&#231;&#227;o do cliente.</p><h2>As quatro m&#233;tricas</h2><p>Entendido o que s&#227;o as DORA Metrics, vamos passar por cada uma delas e dar mais contexto:</p><p><strong>Deployment Frequency</strong></p><p>Deployment Frequency mede quantas vezes novas vers&#245;es de c&#243;digo sobem para produ&#231;&#227;o em um determinado per&#237;odo. &#201; um indicador que mede a agilidade da equipe de desenvolvimento e da capacidade de entregar valor continuamente aos usu&#225;rios e ao neg&#243;cio. Ou seja, uma alta frequ&#234;ncia de deploy corresponde a equipes que respondem rapidamente a feedbacks (feedback loops) e mudan&#231;as nas regras de neg&#243;cios. </p><p>Para medir, basta calcular o n&#250;mero de deploys realizados em um per&#237;odo espec&#237;fico, como por dia ou semana. Um processo importante, que minimiza depend&#234;ncias e &#8220;burocracias&#8221; no processo de deploy e que j&#225; &#233; bem difundido &#233; o CI/CD. Vale ressaltar que CI/CD n&#227;o &#233; ter um Jenkins ou GitHub Actions rodando, CI/CD &#233; de fato o processo cont&#237;nuo e sem interven&#231;&#245;es manuais para rodar uma su&#237;te de testes, processo de build e deploy.</p><p><strong>Lead Time for Changes</strong></p><p>Mede o tempo que leva desde o commit inicial at&#233; o deploy para produ&#231;&#227;o. Essa m&#233;trica reflete a efici&#234;ncia das pipelines, fluxos de desenvolvimento e a capacidade e velocidade de entregar valor.</p><p>Diferente do deployment frequency, a ideia &#233; ter essa m&#233;trica com indicadores baixos, ou seja, subir pequenas altera&#231;&#245;es para produ&#231;&#227;o e com mais frequ&#234;ncia. A utiliza&#231;&#227;o de metodologias &#225;geis, tamb&#233;m ajuda muito no processo.  </p><p><strong>Mean Time to Recovery ou MTTR</strong></p><p>O MTTR mede o tempo m&#233;dio que um time leva para recuperar um sistema ap&#243;s uma falha em produ&#231;&#227;o. &#201; um indicador da resili&#234;ncia e estabilidade do sistema. Adotar pr&#225;ticas SRE, como a cria&#231;&#227;o de playbooks para incidentes, observabilidade, e chaos engineering, pode melhorar significativamente o MTTR.</p><p>Ter um bom processo de gerenciamento de incidentes, com revis&#227;o de post-mortems e ferramentas que alertem a qualquer comportamento an&#244;malo e que possam indicar uma poss&#237;vel falha, ajudam na identifica&#231;&#227;o de melhorias e recupera&#231;&#227;o/corre&#231;&#227;o mais r&#225;pida. </p><p><strong>Change Failure Rate</strong></p><p>Mede a porcentagem de deploys que resultam em falhas em produ&#231;&#227;o. &#201; um indicador importante para avaliar a qualidade do processo de desenvolvimento e a estabilidade do sistema.</p><p>Implementar su&#237;te de testes automatizados, realizar revis&#245;es de c&#243;digo de forma mais regular e utilizar pipelines de CI/CD para valida&#231;&#227;o cont&#237;nua s&#227;o m&#233;todos eficazes para reduzir a taxa de falhas.</p><h2>Como implementar</h2><p>A maior parte das ferramentas de CI/CD e observabilidade atualmente conseguem demonstrar os indicadores das quatro m&#233;tricas. Por exemplo, a <a href="https://docs.datadoghq.com/dora_metrics/">Datadog</a> possui em beta uma funcionalidade para extra&#231;&#227;o e an&#225;lise, a <a href="https://developer.harness.io/docs/continuous-delivery/monitor-deployments/dora-metrics-dashboard/">Harness</a> tem algo um pouco mais s&#243;lido, por&#233;m mais simples. J&#225; o GitLab oferece uma <a href="https://docs.gitlab.com/ee/user/analytics/dora_metrics.html">an&#225;lise bem mais completa</a>, por&#233;m apenas no plano Ultimate.</p><p>Por&#233;m, ambas solu&#231;&#245;es s&#227;o pagas e isso vai muito da ferramenta que voc&#234; utiliza, por isso, recomendo uma ferramenta que tenho estudado h&#225; algumas semanas, o <a href="https://devlake.apache.org/">Apache DevLake</a>. Nela, &#233; poss&#237;vel plugar v&#225;rias solu&#231;&#245;es de mercado e centralizar a extra&#231;&#227;o e visualiza&#231;&#227;o de m&#233;tricas em um s&#243; lugar. Outro ponto bem positivo, &#233; que caso na sua empresa seja utilizado alguma ferramenta desenvolvida internamente, o DevLake aceita Webhooks.</p><p>Al&#233;m das quatro m&#233;tricas, o DevLake consolida <a href="https://devlake.apache.org/docs/Metrics">v&#225;rias outras adicionais</a>, como tamanho das Pull Requests, dura&#231;&#227;o dos builds, linhas adicionadas ou deletadas em um commit e por a&#237; vai.</p><p>Obviamente, que conseguir integrar a medi&#231;&#227;o das m&#233;tricas no dia a dia, requer pr&#225;ticas e processos bem definidos. Uma dica &#233; incorporar revisar essas m&#233;tricas durante as dailies ou em retrospectivas. Criar uma dashboard para que todo time possa acompanhar as m&#233;tricas pode aumentar a transpar&#234;ncia e incentivar a responsabilidade compartilhada.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YzHF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1f52d2a-77fa-4a81-8cb5-4ed0f6d66f25_4088x2783.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YzHF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1f52d2a-77fa-4a81-8cb5-4ed0f6d66f25_4088x2783.png 424w, https://substackcdn.com/image/fetch/$s_!YzHF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1f52d2a-77fa-4a81-8cb5-4ed0f6d66f25_4088x2783.png 848w, https://substackcdn.com/image/fetch/$s_!YzHF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1f52d2a-77fa-4a81-8cb5-4ed0f6d66f25_4088x2783.png 1272w, https://substackcdn.com/image/fetch/$s_!YzHF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1f52d2a-77fa-4a81-8cb5-4ed0f6d66f25_4088x2783.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YzHF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1f52d2a-77fa-4a81-8cb5-4ed0f6d66f25_4088x2783.png" width="1456" height="991" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d1f52d2a-77fa-4a81-8cb5-4ed0f6d66f25_4088x2783.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:991,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;DORA&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="DORA" title="DORA" srcset="https://substackcdn.com/image/fetch/$s_!YzHF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1f52d2a-77fa-4a81-8cb5-4ed0f6d66f25_4088x2783.png 424w, https://substackcdn.com/image/fetch/$s_!YzHF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1f52d2a-77fa-4a81-8cb5-4ed0f6d66f25_4088x2783.png 848w, https://substackcdn.com/image/fetch/$s_!YzHF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1f52d2a-77fa-4a81-8cb5-4ed0f6d66f25_4088x2783.png 1272w, https://substackcdn.com/image/fetch/$s_!YzHF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1f52d2a-77fa-4a81-8cb5-4ed0f6d66f25_4088x2783.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">Exemplo de dashboard DORA Metrics com Grafana e Apache DevLake</figcaption></figure></div><h2>Estabilidade e Velocidade</h2><p>Todo mundo quer uma baixa taxa de erros e que sistemas sejam restaurados rapidamente em caso de falha, &#233; uma verdade que todo mundo tamb&#233;m quer colocar features de forma mais r&#225;pida em produ&#231;&#227;o. E inicialmente, parece que h&#225; uma diverg&#234;ncia entre elas, certo? Se o time colocar mais features em produ&#231;&#227;o sem bons testes ou controle de qualidade, a taxa de erros pode aumentar.</p><p>Algo muito importante, &#233; que observabilidade vai muito de encontro com o tema. Quando h&#225; um incidente em produ&#231;&#227;o, &#233; poss&#237;vel entender de forma mais r&#225;pida, o problema olhando para qual foi a mudan&#231;a. Com um lead time mais curto, a compreens&#227;o da mudan&#231;a &#233; mais f&#225;cil e consequentemente, sabemos qual &#233; o problema. Ou seja, entender a causa ra&#237;z reduz o MTTR, que tamb&#233;m reduz a taxa de falhas em mudan&#231;as (Change Failure Rate).</p><p>O contexto e os recursos s&#227;o importantes nesses momentos. Por&#233;m, essas quatro m&#233;tricas se influenciam mutuamente e muitas vezes ajudam dar insights que seriam mais dif&#237;ceis de compreender de outra forma. Analisar essa &#8220;dualidade&#8221; entre velocidade e estabilidade &#233; uma abordagem eficaz para avaliar o desempenho das pr&#225;ticas DevOps.</p><p>Vou deixar alguns livros que recomendo demais para quem quer se aventurar mais na melhoria de fluxo de entrega de software e DevOps.</p><ul><li><p><a href="https://amzn.to/3LJS2s9">Accelerate: The Science of Lean Software and DevOps</a> (<a href="https://amzn.to/46H8wuZ">Vers&#227;o Kindle</a>)</p></li><li><p><a href="https://amzn.to/3YHqZFN">The DevOps Handbook</a> (<a href="https://amzn.to/46p9YSu">Vers&#227;o Kindle</a>)</p></li><li><p><a href="https://amzn.to/4cWcodE">Measuring Continuous Delivery</a></p></li><li><p><a href="https://amzn.to/3zVP2pR">Observability Engineering</a> (<a href="https://amzn.to/3SupKpo">Vers&#227;o Kindle</a>)</p></li></ul><p>Boa leitura e at&#233; a pr&#243;xima.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.padz.dev/subscribe?&quot;,&quot;text&quot;:&quot;Inscreva-se&quot;,&quot;language&quot;:&quot;pt-br&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">padz.dev &#233; uma publica&#231;&#227;o apoiada por leitores. Para receber novos posts e apoiar meu trabalho, considere tornar-se um assinante gratuito ou pago.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Digite seu e-mail&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Inscreva-se"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item></channel></rss>