Meu post anterior resultou em alguns comentários interessantes. Nele eu disse que se um desenvolvedor quer virar gerente de projetos você tem problemas. Como pode ter muita gente que discorda do que eu disse e não comentou, resolvi, em vez de responder aos comentários, fazer este post. Aproveito aos que não comentaram e não concordam, a saírem do modo read-only e comentarem. Assim como os que concordam também.

A maior parte dos comentários passou pelo fato de eu estar generalizando, como de fato estava, e que nem sempre o caso cairia em uma das duas situações. Bom, toda regra tem suas exceções, mas eu sustento que as duas opções que dei atendem a imensa maioria do mercado. Eu resumi as opções assim:

"Em resumo: o cara quer ganhar mais, e você perdeu um desenvolvedor e ganhou um mau gerente; ou o cara não gosta do que faz e você perdeu um desenvolvedor e a empresa pode ou não ganhar um bom gerente."

Vou pular a discussão sobre remuneração, porque ela desperta menos polêmica. Seguindo na outra, bem mais interessante:

Porque eu não acho que uma pessoa com talento para gestão de projetos pode ser também um bom desenvolvedor? Porque eu acho que uma pessoa que ama codificar não dá um bom gerente de projeto? Porque?

Porque, como diz o título deste post, gerenciar projetos não tem nada a ver com desenvolvimento de software. Gestão de projetos sequer devia ser ensinada como parte de um currículo de tecnologia, e sim de administração de empresas, algo que já está começando a acontecer nas melhores faculdades. Gestão de projetos não tem nada, N-A-D-A, em comum com tecnologia. Ainda assim, os cursos nasceram em TI, e seguem focados em TI. E muitos codificadores vêem o cargo de gerente de projetos como progressão natural na carreira. Entendo que algumas pessoas busquem esta profissão, afinal, todo projeto precisa de um gerente de projetos (isso não é verdade, mas vou assumir como verdade e comento no final). Os codificadores estão, o tempo todo, trabalhando lado a lado com um GP. É natural que alguns se interessem.

A questão é que são coisas muito diferentes. As competências exigidas de um GP são absolutamente diferentes – senão opostas – às esperadas em um desenvolvedor de software. O primeiro deve saber lidar muito bem com pessoas, liderá-las, ser extremamente bem organizado, político e ter capacidade de raciocínio subjetivo, adorar se comunicar, gostar de fazer cálculos financeiros e projeções, e ter prazer em trabalhar com regras sociais. Do segundo espera-se análises concretas, lógica apurada, raciocínio rápido, capacidade de trabalhar longas horas focado na solução de um problema, ser interessado em maneiras novas de resolver velhos problemas, amar tecnologia, ser criativo dentro de um padrão lógico. Essas qualidades todas podem existir em uma única pessoa? Podem. É comum que isso aconteça? Não. Em geral são pessoas muito diferentes.

Aos que discordam de mim, e vão seguir este caminho, deixo uma mensagem clara: investigue, dentro de si mesmo, se você quer abandonar o Visual Studio, e passar a usar o Word e o Outlook o dia inteiro como principal ferramenta de trabalho. Se é capaz de, em vez de executar, somente assistir à execução. De ficar de fora do caminho de quem faz, e, na verdade, auxiliá-lo quando ele tiver problemas. Gerenciar não é mandar, é facilitar. Diante disso, acredito muito na figura do líder servidor. Você é capaz de servir à equipe, de, em vez de mandar, correr atrás do que eles precisam? Você vê um dia de trabalho que o dia inteiro foi gasto em reuniões de orçamentação como um dia divertido? E outro dia passado revisando performance do time com o RH? E outro ainda realizando resolução de conflitos interdepartamentais? Essas são tarefas de um gerente, e é bom que ele goste, ou vai viver infeliz, como acontece frequentemente. O trabalho tem uma visão interessante, quase romântica, mas será que os que o aspiram já se imaginaram nele pelo resto da vida? E se vê, então investigue em si mesmo o oposto: você realmente gosta de codificar? É algo que faz por paixão, do qual sente falta se fica algum tempo sem fazer? É algo que te dá prazer e gratificação?

Se você se vê nessa posição de gerente e gosta do que vê, perfeito! No entanto, não entendo ser possível que o ideal de felicidade de alguém seja ao mesmo tempo passar o dia em orçamentação e passar o dia codificando. São coisas muitos diferentes. É por isso que eu disse: uma das duas coisas essa pessoa não vai gostar de fazer. Eu jamais recomendo a uma pessoa que é apaixonada por codificação que trabalhasse em um cargo gerencial. Como não recomendo a alguém apaixonado por gerenciar pessoas que codifique.

Há uma pergunta que costumo fazer à pessoas que entrevisto: Você codifica nas horas vagas? Se a resposta é não, eu quero saber o porque. Isso diz muito sobre o quanto você gosta do que faz. Da mesma forma que gerentes apaixonados pela gestão financeira fazem planilhas para controlar seus gastos pessoais, programadores apaixonados às vees automatizam pequenas coisas com programas que fizeram, avaliam uma nova linguagem só porque ela parece interessante, e quando vêem um código na tela do cinema tentam entender o que ele quer dizer.

 

Apenas para fechar: Volto ao tema de projetos de software precisarem de um gerente de projetos. Não precisam. O mundo de TI está começando a perceber agora, conforme as metodologias ágeis afundam a figura do gerente de projetos e escancaram o fato de que times autogerenciáveis são muito mais eficientes. Esse perfil em TI vai virar peça de museu conforme percebe-se que o modelo baseado na figura controladora, responsável por ações de comando-e-controle, que o GP representa na maioria das organizações, é improdutiva, além de dispensável. Você pode até não concordar, mas somente se já viveu dos dois lados do muro (e nesse caso gostaria de ouvir suas experiências concretas).
Eu? Acredito na figura do facilitador de projetos, do derrubador de barreiras, algo que em Scrum chamamos de ScrumMaster. E ele não é um gerente de projetos.

Giovanni Bassi

Arquiteto e desenvolvedor, agilista, escalador, provocador. É fundador e CSA da Lambda3. Programa porque gosta. Acredita que pessoas autogerenciadas funcionam melhor e por acreditar que heterarquia é mais eficiente que hierarquia. Foi reconhecido Microsoft MVP há mais de dez anos, dos mais de vinte que atua no mercado. Já palestrou sobre .NET, Rust, microsserviços, JavaScript, TypeScript, Ruby, Node.js, Frontend e Backend, Agile, etc, no Brasil, e no exterior. Liderou grupos de usuários em assuntos como arquitetura de software, Docker, e .NET.