Os 10 mandamentos para controlar o seu égo
August 23rd, 2008 | Published in diversos, programação
Apenas pense, se você já não passou por uma situação parecida:
programador jr: estou fazendo uma alteração nesta classe, o que você acha de…
programador ego senior: Eeiiii.. eu implementei esta classe !!! Porque você está mexendo nisso agora ?!?!?!”
Na maioria dos projetos que participei, enfrentei muitos problemas técnicos. Mas nenhum destes problemas, foram tão desgastantes, como os conflitos de relacionamento dentro das equipes. As vezes, os égos das pessoas se tornam maiores do que o próprio projeto, e isso, definitivamente não é bom.
Sobre o esse tema, não posso deixar de citar um artigo bem interessante que havia encontrado já fazia algum tempo no builder.com. O texto nos remete a psicologia da programação e descreve os 10 mandamentos da programação colaborativa, para que você não se prenda ao seu égo. Abaixo, segue a minha tradução/interpretação do artigo:
- Aceite que você irá cometer erros. A questão aqui é encontrá-los cedo, antes que estes sejam enviados para produção. Contudo, com exceção de alguns poucos programadores que desenvolvem sistemas para guiar mísseis na JPL, erros de programação raramente são fatais. Por isso nós, programadores, devemos rir e apreender com nossos erros.
- Você não é o seu código. Lembre-se que o objetivo da revisão de código é encontrar problemas, e pode ter certeza, que problemas serão encontrados. Não leve para o lado pessoal, quando um erro for apontado por alguém. Isso é normal, acredite.
- Não importa o quanto você sabe de “karate”, alguém sempre vai saber mais. Alguém sempre vai poder ensinar à você alguns “movimentos especiais” se você souber pedir e der o mínimo de espaço. Procure aceitar feedbacks dos outros, especialmente, quando você “tem certeza” que nenhum feedback é necessário.
- Não reescreva código sem consultar alguém. É tênue a linha entre “corrigir código” e “reescrever código”. Saiba a diferença e conseguirá realizar avanços na revisão e melhoria de código fonte.
- Trate as pessoas menos experientes com respeito e paciência. A maioria das pessoas não técnicas que trabalham com programadores geralmente tem a mesma opnião sobre nós: somos metidos, irritantes e egoístas. Não queira piorar ainda mais este estereótipo, tratando mal as pessoas que apenas querem apreender com você.
- A única constante nesse mundo é a mudança. Esteja aberto as mudanças e aceite-as com um sorriso. Veja cada mudança de requisitos, plataformas e ferramentas como um novo desafio e não como mais um problema que precisa ser combatido.
- A verdadeira autoridade nasce do conhecimento, não da posição ou cargo. Conhecimento é o que promove autoridade, e autoridade é o que gera respeito. Portanto, se você quiser ser respeitado, dessimine o conhecimento entre a sua equipe.
- Lute pelo que você acredita, mas aprenda a aceitar uma derrota. Aceite que muitas vezes suas melhores ideias não serão aceitas pelos outros. E mesmo que depois, você consiga prova que estava certo, não tenha pensamentos vingativos, nem faça comentários do tipo “Viu, eu te disse”. Muito menos faça a recusa de uma opnião sua, uma oportunidade para se tornar um mártir ou um inconformado que só reclama.
- Não se isole, mantenha contato. Não seja aquele cara incomunicável programando numa sala escura, que só é visto quando saí para comprar pizza ou coca-cola. Mantenha contato com as pessoas, fale com elas, apareça e esteja presente quando necessário. Num ambiente colaborativo, é fundamental que as outras pessoas saibam que podem contar com você.
- Faça críticas ao código fonte e não às pessoas. Seja gentil com o programador, não com o código. Sempre que possível, faça com que todos os seus comentários sejam positivos e direcionados para melhoria do código fonte. De feedbacks sobre padrões, especificações ou performance. Critique o que foi implementado, mas nunca, quem implementou.
Sinceramente, nunca havia encontrado algo que definisse tão acertadamente o comportamento humano na programação. Algumas pontos parecem clichês de tão óbvios, mas diariamente eu vejo problemas relacionados à eles. Particularmente, estou trabalhando exaustivamente nos itens 2 e 8 dessa lista a algum tempo, mas devo confessar, não é fácil. Reconhecer um erro, aceitar uma crítica e apreender com ela, é algo que vai se apreendendo com o passar dos anos.
O artigo está baseado no livro de Gerald M. Weinberg: The Psychology of Computer Programming. O que mais me impressiona, é como um livro escrito em 1971 descreve com tamanha precisão os problemas que ainda enfrentamos hoje em dia. Sem dúvida, este merece estar entre as minhas “pendências” bibliográficas.
Por enquanto, toda manhã, ao sentar à frente de meu computador, repito em mantra:
“Eu não sou o meu código.. eu não sou o meu código… eu não sou o meu código… ”