Fábio Câmara é MVP da Microsoft em Visual Developer – Team System, autor de mais de 15 livros e inúmeros artigos, palestrante, Delphi Developer, .NET Architect, MSF Practitioner, SCRUM Practitioner, consultor de metodologias ágeis, empreendedor na área de informática, diretor técnico da F|C Formação e Consutoria (www.fcamara.com.br), MVP de VSTS, entre outras atividades.
Fábio Câmara
Tive a satisfação de assistir a uma de suas palestras, e um traço que mais me agradou foi o foco humano dado, e não somente à parte técnica. Nesta primeira parte da entrevista, vou focar justamente este lado mais humano e filosófico, muitas vezes deixado de lado por nós profissionais de tecnologias. Na segunda etapa da entrevista, falaremos de tecnologia e metodologia de desenvolvimento de software.
Thomas: Fábio, gostaria que você contasse um pouco sobre o começo da sua carreira. O que fazia, quais os desafios mais marcantes e como os superou?
Fábio: Fui um jovem cheio de sonhos que queria escrever uma história com rock’n’roll. Por causa da música, aos 14 anos, montei uma fanzine (espécie de jornal alternativo e underground) e me aventurei a virar um “candidato” a jornalista. Eu montava este fanzine em um computador modelo CP500 e foi aí, sem perceber, que comecei minha dedicação à informática. Como muitos jovens, demorei para entender que meu projeto não era a música, e sim o computador, por isso tive vários insucessos antes de iniciar minha carreira em informática aos 24 anos.
Quando você tem certeza sobre seu projeto de vida, parece que a natureza conspira a favor do projeto, penso assim pois tive uma carreira bem rápida e pulei de desenvolvedor júnior para diretor de tecnologia em 7 anos – passando por DBA, analista de negócios e outros títulos. Nesse início, eu tive a fortuna de conhecer e programar com Borland Delphi. Foi mágico, em pouco tempo eu estava escrevendo livros, ministrando aulas… eu podia ter escolhido Clipper ou Visual Basic, mas escolhi o Delphi. Nesta época, esta escolha fez toda a diferença.
Meus maiores desafios vieram quando me tornei coordenador de projetos, todos marcantes e significativos, pois estavam relacionados a questões humanas. Era muito difícil liderar pessoas para um mesmo objetivo, era difícil até se comunicar com estas pessoas. Por causa disso comecei, no final da década de 90, investimentos sérios em metodologias, que depois converteram-se em estudos de psicologia e atualmente transformaram-se em estudos de filosofia e assuntos ligados à liderança.
Além de atuar na área técnica, você possui uma especialização em filosofia. Qual o principal motivo para que você se especializasse nesta área?
Quando percebi que os desafios que eu estava vivendo, nos projetos que eu coordenava, não estavam totalmente ligados a questões de metodologia, fiquei apavorado. Nesta época eu era fã de uma promissora, mas ainda desconhecida metodologia, chamada MSF – Microsoft Solutions Framework. O MSF me recomendava papéis funcionais como uma espécie de delegação de responsabilidades que eu atribuía ao time, porém os resultados eram diversos. Alguns projetos funcionavam, outros não, e eu estava desconfortável com esta instabilidade nos resultados.
Comecei a procurar avidamente por respostas e os únicos livros técnicos que me ajudaram foram The Mythical Man Month, do Fredericks Brooks, e Peopleware, do Tom DeMarco. Através de assuntos que compreendi com estes livros, resolvi estudar disciplinas de psicologia e temas afins, como autodidata. Encontrei muitos livros chatos ou de auto-ajuda. Neles encontrei boas intenções, algumas orientações, mas tinha a sensação de que ainda faltava algo.
Conheci, depois, alguns livros de liderança e filosofia de um autor italiano chamado Antonio Meneghetti. Nestes livros tive a seguinte percepção: tudo que havia aprendido com temas de psicologia tratavam o efeito do comportamento humano, com filosofia eu começaria a entender as causas do comportamento humano.
Atualmente estou cursando MBA em liderança em uma instituição de metodologia humanista. Encontrei muito do que eu buscava, pois tenho aulas de psicologia, filosofia e liderança aplicada a negócios.
Estes estudos me trouxeram uma aplicabilidade prática em meus projetos, pois me ensinaram que líder é aquele que dá função a todas as coisas. Hoje uso SCRUM, MSF Agile, às vezes até CMMi ou PMI, pois com essa compreensão sobre liderança, as metodologias tornaram-se instrumentos funcionais para potencialização do valor humano presente no projeto.
Desenvolvimento de software é algo que está se profissionalizando. Apesar de existirem muitos amadores, em linhas gerais os softwares estão sendo desenvolvidos com absolutamente mais qualidade nos últimos tempos, o que deixa menos espaço para os amadores e exige mais dos profissionais. Em sua opinião, quais as principais qualidades que um bom profissional de TI precisa ter?
Durante muito tempo eu acreditei que entre a teoria e a prática existia um grande hiato. Enquanto se acreditar nisso, você será um amador por princípio. O profissional de hoje sabe que a teoria é o fundamento base para uma boa prática e que adquirir conhecimento deve ser seu cotidiano hábito.
Este profissional do novo milênio, além da busca por uma sólida formação, seja acadêmica ou autodidata – pois acho que hoje existem bons livros para isso -, deve organizar seus investimentos da seguinte forma:
- Conhecimento horizontal: deve conhecer um pouco de muito, saber mais de uma linguagem de programação, saber usar mais de uma ferramenta, saber os atalhos do windows form e os macetes do web forms;
- Conhecimento vertical: deve conhecer muito de pouco, e aplicar este conhecimento para seu crescimento profissional. Ou seja, você conhece Visual Basic, Delphi, mas em C# é uma referência de conhecimento.
Você é importante para uma empresa pelo seu conhecimento horizontal, mas é valioso pelo seu conhecimento vertical.
Agora, respondendo como um visionário, eu acredito que muito em breve será exigência básica para um profissional de TI ter experiência em alguma metodologia de desenvolvimento, preferencialmente ágil, pois o mercado está cansado de prejuízos em projetos. Além disso, ter sólidos conhecimentos em projetos com a web, seja Webclients, Smartclients, Thinclients e propostas afins, pois é inevitável que os novos projetos sejam integrados com inúmeros sistemas legados que podem estar em qualquer site no mundo.
O software está altamente ligado ao negócio do cliente, sendo assim ele deve saber tudo o que ocorre no projeto, não somente os sucessos, mas principalmente as falhas para que possa tomar decisões executivas que supram por um período a eventual falha ou atraso do projeto. Na sua visão, qual a melhor maneira de motivar a equipe por resultados? E como apontar as falhas individuais de cada um?
Temos uma questão bem séria aqui, sua pergunta é muito inteligente. Primeiro temos que entender a questão de delegar, ou seja, o processo de delegação. Delegar é passar uma responsabilidade que é sua para outro fazer. A empresa cliente delega um projeto de software que irá gerir negócios para uma empresa de informática. A empresa de informática delega este projeto para um gerente de projetos. O gerente delega o projeto para um time de desenvolvedores. Como vimos, no fim, uma empresa cliente está na mão de um desenvolvedor. Então nossa questão é: como motivar um desenvolvedor para fazer um projeto para uma empresa cliente?
Nas minhas pesquisas, não há uma resposta única que serve a todos. Há muita psicologia nesta interação, que muda conforme o indivíduo. Deve-se investir em conhecer este indivíduo, descobrir seus prazeres e seus limites de competências e, em posse desta informação, educar o desenvolvedor para superar seus limites e criar sempre ambientes prazerosos para realização do trabalho.
Quanto à segunda pergunta, sobre apontar falhas, considero importante dar feedback pessoal sempre, pois encobrir erros é uma espécie de assistencialismo cancerígeno, porque além de não fazer o indivíduo crescer como profissional e como ser humano, reduz o indivíduo a uma zona de conforto falsa que o levará à regressão.
Em uma de suas palestras, você disse que gosta do SCRUM, pois abrange bastante o lado humano. Você considera hoje o SCRUM a melhor metodologia para desenvolvimento de software?
Eu gosto muito da forma como o SCRUM sugere as interações entre os participantes do time. As reuniões diárias, de SPRINT Review e principalmente de retrospectiva, quando aplicadas corretamente, trazem magníficos resultados. Gosto também da forma de priorizar e organizar as atividades direcionadas a ciclos de tempo ao invés de ciclos de escopo.
Talvez a polêmica sobre a necessidade de uma liderança no projeto e esta função ser assumida pelo SCRUM Master tem me afastado de grandes pensadores e idealizadores de SCRUM no Brasil, mas estou certo de que é apenas uma parcial divergência de semântica. O líder não precisa ser o SCRUM Master e pode surgir naturalmente dentro do próprio time, porém sempre haverá um líder.
Defendo isso porque acredito muito em liderança. Quando há um grupo de pessoas sem liderança instaura-se uma guerra civil ou algum tipo de motim. Não há nenhuma organização que eu conheça que funcione sem liderança, seja esta liderança formal ou informal.
*
Na primeira parte da entrevista, conhecemos um pouco do lado humano de Fábio Câmara. Na segunda etapa vamos bater um papo com ele sobre tecnologia e metodologia. Para entrar em contato com o Fábio Câmara acesse: http://www.fcamara.com.br/