Investindo

Ontem estava conversando com um amigo sobre investimentos. Estava comentando que para um determinado projeto eu teria um orçamento pequeno e precisava otimizá-lo, falei sobre a minha idéia para gerar o máximo possível com a grana em mãos e tive um comentário do tipo: “Cara, caia na real. Aliás, faça as pessoas caírem na real. não adianta você tentar fazer este projeto com este orçamento, não vai sair certo! As pessoas têm que investir para ter alguma grana”. Aí eu fiquei pensando no que faz uma pessoa pensar assim. Não se se concordam comigo mas acho que é “síndrome do oprimido“.

Hoje eu coordeno uma equipe com 8 desenvolvedores, entre seniors e estagiários. As decisões que tenho que tomar são 30% técnicas e o restante de gerência, dizem que a técnica tende a ficar em quase zero mas eu prefiro acreditar numa posição de gerente de desenvolvimento que parece mais com meu perfil.

Há uns sete anos atrás eu peguei meu primeiro projeto relativamente grande naquele esquema completamente ineficiente (e muitas vezes ineficaz) de “analista analisa, programador programa…”. Bom, eu era programador e tinha que apenas implementar um design qualquer. O design era uma grande furada, era tão claro isso que eu achava que todos ao redor eram bestas quadradas. Eu tentei avisar de várias maneiras mas não fui ouvido.

A solução foi continuar avisando enquanto fazia meu trabalho. Dentro daquele design…uhm… não-ótimo eu tentei fazer o melhor que consegui, aplicando o que eu estava aprendendo na época sobre boas práticas, muitas vezes indo contra a filosofia do design, apenas me mantendo compatível o suficiente para não ser despedido. O projeto foi relativamente bem sucedido tecnicamente (os prazos e satisfação do cliente eram os típicos de processos burocrátios, próximos de qualidade zero). É geralmente assim que o programador age.

E foi assim quando assumi posições mais importantes, era um “projetista” (incrível como te gente que acredita que esses cargos realmente existem) e a arquitetura era uma porcaria, era um “arquiteto” e a análise era uma grande bola de nada… e eu como qualquer programador que gosta do que faz fiz o melhor que conseguia dentro daquelas limitações. Óbvio que existiram falhas miseráveis mas a grande parte do trabalho foi um sucesso dentro do possível e este modo de agir contagia quem está em volta e mostra por A+B que as coisas podem ser melhores. Eu introduzi técnicas como Test-Driven Development, Refactoring, Domain-Driven Design, SOA, Componentes, Ruby e outras coisas desta maneira. Eu falava para meu gestor “Ora, precisamos de tempo para fazer Refactoring!” e obviamente era ignorado. Daí eu arrumava um tempinho, fazia meus próprios e mostrava com um gráfico de bugs em partes do código que aquilo dava certo. Geralmente era seguido por um “Ok, vamos tentar alocar mais um tempinho nas próximas tarefas…”.

É engraçado, dê para um programador a tarefa de implementar um POS com recursos modernos em um Pentium 100. Ele vai rir da sua cara, depois vai implorar pro mais recursos, depois vai chorar como criança, depois vai te ameaçar e por último vai ameaçar sua família. Mas, quer saber? No final ele vai sentar na cadeira e tentar fazer o melhor que conseguir. Não, ele não vai fazer mágica, se o que você deu para ele é uma tarefa impossível ele vai seguir até te mostrar isso, mas se não for ele vai tentar conseguir fazer o melhor possível com aquele ambiente tosco.

É interessante que o problema listado acima é exatamente este. Eu tenho que rodar um programa em Java multi-threaded para um 486. É difícil? É. Vou conseguir implementar todos os recursos? Não, mas vou conseguir fazer algumas coisas e falar para meu gerente: “se quiser mais eu preciso de mais”. Quer saber? Talvez ele não queira mais, talvez seja o suficiente.

Cruzar os braços não ajuda em nada. Se algo não é possível prove que não é com números e deixe a decisão para quem deve tomar. Se algo não vai ser bom o suficiente com os insumos supridos e você não consegue mais faça o que conseguir e mostre o quanto mais você poderia fazer com mais recursos.

4 Responses to “Investindo”

  1. A síndrome do oprimido é algo inerente aos latino-americanos, mais conhecido como síndrome do vira-lata. Medo de competição, medo de concorrência, medo de ter que se esforçar, medo de botar a cara no mundo…

  2. Muanis says:

    Eu acrescentaria o medo de puxar pra si a responsabilidade …

    Quantas vezes você precisou dizer “Deixa que eu faço!” quando todo mundo só reclamava de ter que fazer … ou do medo de tocar na “coisa”.

  3. Leonardo says:

    Engraçado é que Java foi projetado inicialmente para rodar em gadgets. E ainda existe a versão, bem mais limitada, para estes dispositivos. Mas a evolução toma rumos engraçados.

    Mas a grande verdade é que muitas vezes o objetivo que o cliente final deseja é bem menos ambicioso que o que o técnico gostaria de fazer.

  4. O grande problema é que grande parte das pessoas já dizem não na primeira oportunidade de encarar um desafio. Como disse o Tiago no post acima, é medo de tudo um pouco…

Leave a Reply