Com certeza esse pensamento passa pela cabeça de todo desenvolvedor.
Com o passar do tempo isso é de certa forma esperado, não que seja sempre correto, mas o comum hoje em dia é as pessoas mais velhas e experientes liderarem as mais novas.
Em um navio, o capitão, além de ser o líder de seus marinheiros, provavelmente é o mais experiente deles, e conhece muito bem o que cada um deve fazer e como.
Escutei algumas histórias de colegas que trabalharam com a equipe de Unix na IBM, lá existem níveis que vão crescendo conforme a experiência da pessoa. Existem também vários níveis de chefia, e o líder de todos era o tipo de pessoa que consegue falar pra você uma seqüência de uns 10 comandos sem errar um parâmetro sequer.
Por que atualmente a maioria dos líderes de TI não é assim ?
Existem vários motivos que levaram a isso. Hoje, por exemplo, é muito comum que o desenvolvedor conheça muito mais tecnologia que o seu líder. Você pode achar que isso não é correto, mas que é algo comum não resta dúvida.
I. Ter um líder que não é da área de TI
O principal motivo disso é basicamente que algo que infelizmente tornou-se mais comum é pessoas que não são da área de informática assumirem esse papel. A história de que “não foi isso que ele pediu” ou “a migração não é tão simples” nem sempre convence. E isso se complica se nem da área de exatas a pessoa veio.
Note que quando eu falo “ser da área” não é necessariamente ter um diploma de TI. Eu já tive líderes excelentes tecnicamente que possuíam graduação em outra área, por não existir um curso de computação na época em que cursaram a faculdade.
Também ter diploma não significa ser da área, tem que ser aquela coisa de desenvolvedor, de ser curioso, de adorar desafios, aprender coisas novas, estar no sangue, é por aí.
Quando me perguntam como eu identifico alguém dá área eu explico fazendo uma analogia que vi uma vez no filme “Gênio Indomável“: se eu olho para um piano, eu não vejo nada mais além de um instrumento musical, talvez imagine uma música. Se Mozart visse um piano, ele imaginaria uma ópera inteira. Se alguém olha para um site qualquer na internet, imagina apenas um simples meio de comunicação. Eu já tento imaginar o que foi utilizado da parte web, javascript,CSS, na parte de persistência se foi utilizado algum banco de dados, na implementação que linguagem usou, que arquitetura usou, como eu poderia melhorar aquele site, etc.
II – Ter um líder que já foi da área, mas parou no tempo
Já conheci líderes que haviam programado em Assembly e não conseguiam usar o Windows direito. Já negociei com clientes cujo líder defendia Pascal como a melhor linguagem de todos os tempos, e quando você tentava explicar algo mais atual, como um comportamento de uma sessão web, ainda escutava comentários como “há, mas esse pessoal de Java só inventa!“.
Dentro desse mar de ignorância, como mesmo assim esses líderes conseguem se manter?
A – Na base do terrorismo
Aquelas famosas frases: “Se não ficar pronto amanhã, tá demitido!” ou então “Não está satisfeito? Passe no RH!” são de líderes que só conseguem liderar na base do terrorismo. Algumas pessoas chamam de falta de educação, hoje os especialistas no ramo apontam como não só amadorismo, mas também como insegurança.
As literaturas atuais comprovam que o método do Taylorismo era eficaz quando o operário ( o desenvolvedor, o pião, isso, é você mesmo!) tinha menos conhecimentos que o patrão. Hoje em dia a coisa é diferente, conceitos de uma tecnologia depois de um ano podem mudar completamente.
B – QI
O jeito “Quem Indicou” , ou ter “costa quente” , ou pertencer ao cabide de empregos é tudo farinha do mesmo saco. A casa pode cair, o projeto atrasar, mas não tem problema, a vaga do cidadão tá garantida.
Ok, mas você é apenas um desenvolvedor, será que vai ser um bom líder algum dia?
Bom, primeiro temos que analisar o que é ser um bom líder , talvez na sua ótica ele seja ruim, mas na ótica da empresa ele seja excelente.
Isso é algo bem subjetivo, mas eu considero que para ser um bom líder, você precisa:
1. Estar atualizado com as tecnologias
Um líder que você possa discutir algum aspecto técnico é algo muito útil, além disso o líder ganha respeito da equipe. O líder não precisa saber por exemplo todos os construtores de uma API em Java, mas ele deve pelo menos saber o que é possível fazer com essa API e quais as vantagens de utilizá-la.
2. Conhecer bem o negócio
Muitas vezes o líder é o escudo entre a implementação dos desenvolvedores e os requisitos solicitados pelos usuários. Ele deve saber exatamente o que é pedido e,principalmente, ter a capacidade de raciocinar o impacto do que está sendo solicitado. Exigir implementações impossíveis ou até mesmo já existentes mostra a total alienação que um líder não pode ter.
3. Conhecer os membros de sua equipe
É importante saber que cada membro tem um ritmo de trabalho e uma certa facilidade para algumas funções. Conforme a metodologia de desenvolvimento utilizada, cabe ao líder decidir o que é o melhor para o projeto. Normalmente uma conversa com a equipe ajuda na decisão final.
4. Defender sua equipe
Para identificar a postura de um líder, basta reparar como ele se refere aos problemas encontrados em uma implantação. Se a frase começar com “a culpa foi do fulano” , então está claro que ele não enxerga a coisa como uma equipe onde ele também é responsável por qualquer problema. A postura correta seria assumir o problema como uma equipe, por exemplo: “Foi falha nossa, corrigiremos assim que possível“.
Acha isso um exagero? Imagine então você comprovasse que um caixa de banco fizesse o pagamento de maneira errada de um boleto e gerente da sua conta te respondesse: “ah, eu não tenho nada a ver com isso, vá se entender com ele!“.
5. Marketing
O CP/M-DOS e MS-DOS eram praticamente idênticos, mas um deles sumiu do planeta e o outro virou padrão por um tempo, tornando os seus donos milionários.
Qual deles era o melhor? Hoje isso não interessa, sobreviveu o com o melhor marketing.
Não adianta fazer um trabalho excelente se “os que mandam” não sabem disso.
Acredito que essas são as cinco principais atitudes de um bom líder.
E como conseguir tudo isso?
Bom, eu sempre digo: Não basta só ler, é preciso implementar!
Fernando Boaglio, para a comunidade. =)