Como o livro Managing the unmanageable pode ajudar líderes de tecnologia
Um dos principais desafios de um líder é conhecer e entender bem o seu time. Vários aspectos são importantes como compreender os seus pontos fortes, pontos de desenvolvimento, expectativas, necessidades e interesses. Como líder, entendo que devo ter esses fatores com o máximo de clareza para melhores entregas e desenvolvimento individual. Mas e se a gente der um passo atrás modificando o problema para “Quem é o time”? Cada área profissional tem suas características e tecnologia não é diferente, então como podemos entender melhor quem são essas pessoas e quem faz parte dos nossos times?
O objetivo desse artigo é apresentar um pouco de aprendizados que obtive nessa busca em entender melhor os profissionais de tecnologia, especialmente os programadores, por meio da leitura do livro Managing the Unmanageable: Rules, Tools, and Insights for Managing Software People and Teams. O livro tem autoria de Mickey W. Mantle e Ron Lichty e sua segunda edição foi lançada em 2019. Para escrever esse artigo tive a difícil tarefa de escolher 4 temas de destaque. Abaixo vamos aos pontos:
1. Falando sobre o título do livro e seu significado: Managing the Unmanageable.
Como o título do livro já propõe, os autores trazem a discussão sobre como os profissionais em programação parecem incontroláveis, suas personalidades e características.
Uma das primeiras classificações interessantes que é feita no livro é de a programação se assemelhar mais a escrever um romance do que a engenharia elétrica e civil. Esse ponto é particularmente interessante pela ligação de programação com aspectos de criação e artes, mas também de interação do usuário com sistemas, computadores, dispositivos, etc.
Um segundo aspecto é de que a programação não depende nem obriga alguém a ter uma certificação ou curso específico. Apesar de existirem grandes empresas que buscam criar meios de certificar profissionais, existem inúmeras tecnologias, linguagens e serviços de empresas ou feitas por comunidades, gerando um caráter de colaboração entre os profissionais, inclusive por meio de fóruns públicos.
Como terceiro aspecto é citado as tentativas de formalizar etapas de desenvolvimento por meio de frameworks de maturidade, por exemplo. Entretanto, esses processos dificilmente são seguidos em larga escala e quando são, não auxiliam na formação do programador ou em gerencialmente.
2. Programadores: Quem são, o que comem, onde vivem.
Para os autores, a melhor forma de gerenciar é entender o que eles fazem. A resposta pode ser simples como “uma área que possui muita oportunidade de emprego”, ou mais complexa e com inúmeros fatores. Acredito que as duas possibilidades estejam ligadas. Entender o que um programador faz também é etapa para entender o que precisa para ser um ótimo programador.
“First and perhaps foremost, programmers have fun!” Fred Brooks (1975)
Os autores enumeram 4 pontos: Alegria em fazer coisas; prazer em fazer coisas que são úteis para outras pessoas; moldar objetos complexos como quebra-cabeça que se relacionam com outros objetivos; e animação em sempre aprender e o espírito em não fazer as mesmas coisas sempre.
Basicamente, diversão e prazer podem nos ajudar a entender porque é tão complexo o gerenciamento de programadores. Existe uma outra separação proposta no livro sobre o que programadores seriam se não fossem programadores: 50% seriam contadores, engenheiros ou educadores e 50% são difíceis de categorizar, mas provavelmente seriam artistas, músicos, escritores, freespirited persons.
Nesse momento do livro, os autores fazem uma grande classificação dos programadores por meio de diversos fatores que os influenciam. Essa parte não tem como objetivo rotular os diferentes tipos de profissionais de programação, mas sim explicar a complexidade de fatores que os aproximam mas também diferenciam. As características apresentadas são:
- Por disciplina de programação;
- Tipos de programadores;
- Domínio;
- Requerimento de trabalho e habilidades;
- Proximidade e relacionamento;
- Estilo geracional;
- Estilo pessoal.
3. Onboarding dos programadores
Os autores dedicam dois capítulos para falar sobre desafio de encontrar, contratar e realizar onboarding da melhor maneira com os programadores.
Tudo começa sabendo quem você quer contratar. Não é só contratar um programador, mas uma pessoa para ocupar uma posição importante na sua empresa. Qual o perfil de programador que precisamos?
Precisamos de:
- Um programador que possa ser um mentor do time nas melhores práticas?
- Um programador com a cabeça preparada para descobrir falhas na arquitetura?
- Um arquiteto que consiga ter uma visão global de como dividir as necessidades em módulos e componentes?
- Um desenvolvedor que possa ser proativo e colaborativo?
Ou precisamos de:
- Produção de milhares de linhas de código em pouco tempo?
- Produzir itens importantes para os clientes que os programadores mais experientes consideram como “simples”?
- Flexibilidade e velocidade para repetir rotinas?
“Management is about human beings. Its task is to make people capable of joint performance, to make their strengths effective and their weaknesses irrelevant” Peter Drucker
Outro fator importante é gastar energia para escrever o job description da sua vaga, tendo em mente que o objetivo vai ser atrair o maior número de candidatos qualificados possíveis. Fatores como localização (e trabalho remoto), contato, aspectos culturais da empresa, habilidades, entre outros, são exemplos citados pelos autores.
Além de outros temas sobre recrutamento, o livro passa também por tópicos como preparação para entrevistas e a própria entrevista, momento chave para realização de notas e estar preparado para obter as respostas que buscamos.
São apresentadas durante a leitura várias ferramentas para auxiliar em diferentes momentos, na parte de contratação e onboarding não é diferente. Checklists com tudo que precisa ser apresentado e contatos simples antes da data inicial são citados como ações de engajamento e apoio ao novo membro do time. Encontros para apresentar a equipe, falar sobre a cultura da empresa e sua missão, visão e valores, métricas importantes e overview da arquitetura tecnológica são fundamentais.
Além de realizar o recrutamento com o perfil adequado a sua posição no time aberta, os dias e semanas iniciais do programador são fundamentais para que o novo membro da equipe esteja feliz, produtivo e conhecendo as expectativas. É o momento de fazer a nova contratação se sentir parte do time e adotar a cultura da empresa.
4. Gerenciando de todos os lados
Além de entender os programadores, o livro também discute o modo de gerenciar da melhor forma para todos os lados, ou seja, ampliando o tema programadores mas também que envolve a programação e partes interessadas. Nesse caminho você não precisa conhecer apenas os programadores da sua equipe, você precisa conhecer os gestores da empresa que possuem expectativas, as áreas e partes interessadas na tecnologia e se conhecer.
Primeiro sobre os seus gestores é importante que você entenda que são e o que eles precisam e esperam. Temas financeiros? Técnicos? Marketing? Se comunique usando as informações, o meio de comunicação adequado e o tempo que vocês possuem juntos da melhor forma para ser efetivo.
As demais áreas, pares e partes interessadas são denominadas no livro como gerenciar para fora. É o relacionamento entre diferentes setores mas também com outras empresas, parceiros, competidores, etc. Nessa parte um dos fatores citados com maior importância é o da necessidade de entender a estrutura da empresa e o que as demais áreas fazem. Por exemplo quais são os processos chave do time de vendas? E os indicadores de marketing? É importante ter clareza sobre seus pares para manter uma boa colaboração.
Para finalizar a pessoa mais difícil de gerenciar — Nós mesmos. Para os autores o primeiro passo é transcender sobre hábitos ruim, práticas pobres e comportamentos duvidosos que não toleramos nos outros mas negligenciamos em nós para entender o que queremos. Esses aspectos podem ser de estilo pessoal, priorização, práticas de gerenciamento, comunicação, entre outros.
Para se aprofundar no assunto
O livro discute mais sobre os tópicos citados nesse artigo, trazendo profundidade a cada assunto e abrindo caminhos para exploração dos temas. Entre outros temas os autores também falam sobre aspectos de motivação dos programadores e o impacto da agilidade para os gestores, entre outros diversos temas que rendem muitos artigos e discussões.
Nesse artigo eu destaquei alguns pontos em um pequeno resumo mas espero que seja um incentivo para a leitura do livro pelos profissionais de tecnologia interessados no assunto, profissionais de outras áreas interessadas no assunto, líderes de times de desenvolvimento mas em especial para os jovens líderes, no desafio de auxiliar pessoas incríveis nessa profissão cada vez mais necessária e apaixonante.