Desenvolvimento de software é um esporte de equipe

Dãã, grande notícia, certo? Todo mundo sabe disso, não precisa nenhum anúncio. Bem, pelo menos não era pra precisar. Todavia, pelo que converso com outros amigos desenvolvedores e pela minha própria experiência mesmo, seria muito bom se fôssemos lembrados disso mais vezes.

Há uns dias li o fantástico livrito Team Geek, a Software Developer’s Guide to Working Well with Others (ou Equipe Geek, um Guia do Desenvolvedor para Trabalhar Bem com Outros). Deixa ver, como descrever... Um exercício catártico! Um banho na alma! Todo mundo envolvido em desenvolvimento de software deveria ler esse livro e colocar nos seus top 10! E a capa é joinha:

Contrastando com Peopleware, que está por aí (sendo ignorado) há já alguns anos e é mais voltado para gerentes, Team Geek é para os desenvolvedores/engenheiros de software aprenderem a trabalhar com humanos -- e justamente por isso que é tão urgente.

Bem, andaram me reclamando do tamanho dos posts, por isso vou tentar pegar leve dessa vez aqui, mas você terá que ler o livro -- até porque ele é curto (194 páginas) e barato (10 dólares a edição Kindle). Além disso, tenho receio de tentar resumi-lo: além de deixar grande demais, eu esqueceria coisas importantes e você acabaria não lendo o livro -- o que você deve. Serve também como uma boa desculpa para a minha preguiça, é claro. Mas ei, eu tenho outros livros pra ler, ok? Faz meses que estou em 30% do Agile Principles, Patterns and Practices in C# e tremo só de pensar em escrever sobre!

Enfim, hoje você terá que se contentar com minha tradução livre de algumas quotes não muito selecionadas, e depois decidir se vai ler o livro sofregamente ou ver algum dos vídeos da dupla Fitz e Ben Sussman antes.

Citações -- livre tradução:

O fator que vai fazer ou ferrar* sua carreira é quão bem você colabora com outras pessoas.

* Tenho uma tradução alternativa um pouco mais colorida para esse verbo que rima com o primeiro, mas que cai melhor numa conversa de bar... :D


Pessoas são inerentemente imperfeitas. Mas antes de entender os bugs em  seus colegas, você precisa entender os bugs em você mesmo.


O Mito do Programador Gênio* é só mais um aspecto da nossa insegurança. A maioria dos programadores temem compartilhar um trabalho que recém começaram porque isto significa que os colegas vão enxergar seus erros e saber que o autor do código não é um gênio. [...] A reação natural a isso é se esconder em uma caverna e trabalhar sozinho. [...] Se você está trabalhando sozinho, você está aumentando o risco de falhar e reduzindo seu potencial de crescimento.

* No Youtube tem um vídeo dos dois autores em busca do programador gênio, funny stuff.


Trabalhar sozinho é mais arriscado do que trabalhar com outros. Você pode estar com medo que alguém roube sua idéia ou descubra que você não é um gênio, mas você deveria estar com mais medo de gastar enormes quantidades de tempo e energia trabalhando na coisa errada.


Os três pilares que fundamentam toda interação e colaboração saudável são: 

  • Humildade: você não é o centro do Universo, não é onisciente e nem infalível. você está aberto a se melhorar:
  • Respeito: Você se importa genuinamente com as pessoas com quem trabalha, trata-os como seres humanos e aprecia suas habilidades e realizações.
  • Confiança: Você acredita que os outros são competentes e farão a coisa certa, e está confortável em deixá-los pilotar quando apropriado.   [..] Quase todo conflito social pode ser rastreado a uma falta de humildade, respeito ou confiança.

Às vezes, a melhor coisa a se fazer é apenas dizer: "Eu não sei."

Às vezes, a melhor coisa a se fazer é apenas dizer: "Eu não sei."

Quanto mais você for aberto a influência, mais você conseguirá influenciar; quanto mais vulnerável você for, mais forte você parece. [...] Lembre-se que para ser ouvido adequadamente, você precisa primeiro ouvir os outros. [...] Admitir que você errou engloba os três pilares: você demonstra humildade, é um sinal que você confia na opinião dos outros, e as pessoas acabarão por respeitar sua honestidade e integridade.


Políticos profissionais são notórios por não admitir erro ou ignorância, mesmo quando está patentemente óbvio que estão errados ou não têm conhecimento sobre um assunto, e por causa disso as pessoas não acreditam em nenhuma palavra do que eles dizem. Este comportamento existe porque os políticos estão constantemente sob ataque dos oponentes. Contudo, quando você está desenvolvendo software, é desnecessário estar num estado constante de defesa -- seus colegas são colaboradores, não competidores.


Uma forte cultura de equipe está aberta a mudanças que a melhorem e resistente a mudanças radicais que a prejudiquem.


Se você é um gerente e está se sentindo inseguro por algum motivo, uma maneira de fazer que ninguém questione sua autoridade ou ameace seu emprego é contratar pessoas que você pode manipular mais facilmente. [...] Em vez disso, você deve se esforçar para contratar pessoas que são mais inteligentes que você e que possam substituí-lo.


Esperança não é uma estratégia. Todavia, esperança é muito usada como estratégia ao lidar com um funcionário que não está rendendo bem.


Falhar é uma opção. Se você não está falhando de vez em quando, é sinal que não está sendo inovador nem tomando riscos o suficiente.

So... that's it for today and thank you very much. :)