8 maneiras de reter os mais talentosos desenvolvedores

O trabalho centrado no ser humano é um movimento crescente que se concentra nas necessidades das pessoas, colhendo recompensas comerciais no processo. Como mostra uma pesquisa recente do Gartner, as práticas de trabalho centradas no ser humano levam a um melhor desempenho dos funcionários, com 3,8 vezes mais chances de serem considerados de alto desempenho nesses ambientes.

Como alguns de seus funcionários mais valiosos, os desenvolvedores de software devem ser considerados especificamente como a melhor forma de aplicar esses insights. No mundo do software, a “experiência do desenvolvedor” é um aspecto fundamental para a satisfação no trabalho — algo que não é bem compreendido por não desenvolvedores.

Ao reunir os insights do trabalho centrado no ser humano e a experiência do desenvolvedor, os líderes de TI podem criar uma cultura de trabalho que desenvolve e retém os desenvolvedores de melhor desempenho. Aqui estão maneiras de cultivar um ambiente centrado no desenvolvedor que pagará dividendos.

Entenda o que é a experiência do desenvolvedor

O líder que entende o que é a experiência do desenvolvedor e entende porque ela é importante para os programadores está à frente do jogo.

No nível mais básico, a experiência do desenvolvedor (DX) é sobre como é usar uma ferramenta ou sistema ao criar software. Ele se estende desde o muito específico, como a diferença em como as linguagens lidam com a programação funcional, até o geral, como a diferença na “sensação” de usar diferentes plataformas de nuvem. A DX não para por aí, abrangendo a cultura e a atitude do que significa viver o estilo de vida do desenvolvedor. Nesse sentido mais amplo, DX é uma característica importante de como os desenvolvedores, especialmente os experientes, se sentem ao trabalhar em uma organização.

No cerne da filosofia centrada no ser humano está a ideia de responsabilidade autônoma, o que significa dar às pessoas metas e responsabilizá-las pelo desempenho, ao mesmo tempo em que lhes dá o máximo de controle possível sobre como realizar as coisas. A ideia é que as pessoas saibam o que está funcionando e o que não está, e sejam mais capazes de corrigir o curso de maneira rápida e iterável. E está muito alinhado com uma valiosa experiência de desenvolvedor.

Entenda porque a DX é importante

Os desenvolvedores têm um relacionamento autorreferencial com a experiência do desenvolvedor: eles geralmente constroem as ferramentas que usam, apreciando a maneira como as coisas funcionam e a engenharia criativa que envolve a construção das coisas que usam.

A arte e a apreciação impulsionam a comunidade de software. Desde os primeiros dias de mainframes compartilhados, os desenvolvedores se uniram para criar e colaborar em projetos que estimulam suas mentes. O interesse e a aceitação dos desenvolvedores em projetos de tecnologia tornou-se um elemento-chave para determinar quais projetos são financiados e encontram seu caminho para uso comum. DX é o que distingue esses projetos entre os desenvolvedores e atua como uma espécie de indicador de adequação evolutiva.

Dan Moore, Chefe de Relações com Desenvolvedores da FusionAuth, faz uma distinção útil sobre a DX, dizendo: “A experiência do desenvolvedor pode ser dividida em interna e externa. O primeiro é sobre permitir que as equipes internas construam de maneira mais coerente, segura e rápida, fornecendo blocos de construção e proteções junto com ferramentas de autoatendimento. O último é para aumentar as vendas e construir uma plataforma aderente para desenvolvedores fora de sua organização”.

Para garantir esses resultados, os líderes de TI devem perguntar continuamente como é ser um desenvolvedor em sua organização e encontrar maneiras de melhorar essa experiência.

De DevOps para ‘DevEx’ – e vice-versa

A expansão do DevOps capacitou os desenvolvedores a se envolverem em todo o ciclo de vida do produto e a influenciar esse ciclo de vida de maneira holística. Se você ainda não adotou o DevOps, esse é um bom primeiro passo na direção de práticas centradas no desenvolvedor.

A DX leva o DevOps para o próximo nível. Como me disse Guillermo Rauch, CEO e fundador da Vercel: “As organizações passarão do DevOps para a experiência de desenvolvimento. Uma ótima experiência do desenvolvedor leva a uma melhor produtividade e maior velocidade do desenvolvedor, melhorando diretamente seus resultados. Toda organização deve pensar: ‘Como posso capacitar meus desenvolvedores a gastar mais tempo na camada de aplicativo e produto enquanto gastam o mínimo de tempo na camada de back-end e infraestrutura?’”

Visto dessa maneira, focar na DX é uma maneira de permitir que os desenvolvedores controlem melhor como eles trabalham: em vez de descobrir quais processos de DevOps são melhores e depois impô-los às equipes, capacite a equipe para criar processos e tecnologias que melhor se adaptem a eles. Afinal, equipes capacitadas envolvidas em processos em primeira mão podem projetar e construir ferramentas para suas tarefas em resposta a mudanças nas condições.

Dito de outra forma, um bom DevOps é um resultado natural de uma boa DX e vice-versa.

Ter alguém próprio de DX

Incluir desenvolvedores e equipe de TI em discussões sobre quais ferramentas usar – e dar a eles influência de compra – fornece um ciclo de feedback inestimável sobre o que está e o que não está funcionando. Isso também garante que os desenvolvedores sintam que estão sendo ouvidos, tornando-os mais propensos a investir no projeto.

A chave para cultivar ciclos benevolentes entre as equipes de negócios e tecnologia é encontrar e capacitar os ampliadores de força na organização, aqueles indivíduos que podem ajudar a falar pela experiência do desenvolvedor e fornecer uma ponte para o lado comercial. Uma ótima maneira de ajudar aqui é colocar explicitamente alguém, ou várias pessoas, no comando da DX. Isso pode ser parte da responsabilidade de alguém ou o foco exclusivo de um grupo, dependendo do escopo da sua organização.

Estabelecer um foco explícito no gerenciamento da saúde da DX e fornecer uma maneira para os envolvidos com a DX interagirem com o negócio contribuirá muito para o sucesso geral de seus esforços de DX.

Não force os desenvolvedores a falhar em seu segundo público

Os desenvolvedores criam software para dois públicos: usuários e desenvolvedores — ou seja, os desenvolvedores que trabalharão no produto. Para os usuários, a excelência do produto é crítica. Mas para os desenvolvedores, a excelência dentro do produto também é extremamente importante, e isso tem grandes implicações para os negócios que usam o software. Nesse sentido, DX é um indicativo de qualidade de código, que diz tudo sobre a viabilidade de um software.

Aqui, a importância para o negócio é dupla. Em primeiro lugar, os sistemas com boa DX são mais fáceis de manter e estender, sendo a qualidade do software um importante diferenciador entre o código que pode crescer e evoluir e o código que está fadado à degradação e decadência. Em segundo lugar, quando o DX é alto, os desenvolvedores – especialmente os seniores – têm maior probabilidade de ficarem satisfeitos com o trabalho no projeto. Por isso, a importância da qualidade do código mostra porque a velocidade do projeto não é uma métrica a ser vista isoladamente como costuma ser.

Como a experiência humana de trabalhar em projetos, DX é a característica mais indicativa da saúde de um projeto. A sensação de trabalhar nas partes internas de um projeto é afetada por tudo, desde as ferramentas até o cumprimento do ritmo, e se isso é agradável ou desagradável diz tudo sobre como as coisas estão indo bem, como elas continuarão e se as pessoas vão querer continuar trabalhando nele.

Ofereça oportunidades para aprender, ensinar, compartilhar

Aprender, ensinar e compartilhar são os principais incentivos para os desenvolvedores. E quanto mais talentoso, apaixonado e atencioso for o desenvolvedor, mais eles importam. A capacidade de criar DX e ajudar os outros a ver seu valor é essencial. Ao inculcar uma cultura em que todos participam de uma jornada maior que inclui o compartilhamento, todos encontram um poço mais profundo de inspiração.

Incorporar contribuições a projetos de código aberto é uma ótima maneira de conseguir isso. Muitas empresas orientadas a software incluem um componente de código aberto por um bom motivo. Ele permite que os desenvolvedores expressem suas criações, atraia contribuições do mundo mais amplo e chame a atenção para o que está sendo feito na organização.

A experiência de todo desenvolvedor é aprimorada quando seu trabalho faz parte de algo maior.

Reduza a burocracia que mata a DX

A empresa anseia por métricas e insights sobre o que está acontecendo no interior sombrio da criação de software. Mas muita intrusão no fluxo de trabalho do desenvolvedor é um verdadeiro matador de DX. Em vez disso, minimize reuniões e relatórios desnecessários e fique de olho no que funciona com mais eficiência. Até mesmo a sensação de que a liderança está incorporando esse fator em sua estratégia ajudará.

Os melhores desenvolvedores de software prosperam em um ambiente em que podem se concentrar no que fazem de melhor — criar software — e passam a maior parte do tempo em atividades que consideram valiosas. Eles aprimoraram e investiram naquilo em que são bons e querem gastar o máximo de tempo possível nessas tarefas.

Reduzir o atrito entre equipes e áreas de propriedade também é importante. Os líderes de TI estão em posição de ajudar a quebrar os silos de propriedade e exclusividade.

Automatize (e desestresse) a entrega

Pesquisas recentes mostram que 7 em cada 10 desenvolvedores desistem de projetos por causa do estresse na entrega. Milhões de coisas entram na atividade detalhada de construção de software e quando tudo é agrupado em uma única coisa discreta que deve ser entregue sem problemas, é muito estressante. Há uma sensação de nunca realmente fazer o suficiente, apesar de seus melhores esforços.

A melhor maneira de resolver isso é construir sistemas automatizados confiáveis. Integração e entrega contínuas, testes automatizados e afins estão se tornando partes padrão e obrigatórias dos processos de desenvolvimento atualmente, mas são apenas parte da história. Uma cultura de apoio é igualmente necessária. A forma como os desenvolvedores se sentem tratados em seus momentos de dificuldade e incerteza tem um grande impacto na DX. Se as organizações de sucesso mantêm uma via de mão dupla entre negócios e TI, DX é a condição da estrada.