O futuro já é passado!

Retomando os post’s nesse segundo semestre, vou escrever sobre algo leve, e já que eu tinha determinado que as quartas iria postar sobre IoT, vou escrever um texto que faz tempo que quero postar.

No longínquo ano de 1984 eu comprei uma edição especial de quadrinhos chamada: Disney apresenta A história do computador. Por CR$2800, uma bagatela! É o tipo de coisas que você acaba guardando e não sabe por que… quer dizer eu sei: porque é legal!

Continue reading “O futuro já é passado!”

A Síndrome do Programador Herói

Algumas frases que publiquei semana passada no twitter fizeram algum sucesso. A  idéia veio de vários lugares: juntei com o que ouvi de alguém, com aquele velho e-mail sobre a carreira Y, entre outros episódios da nossa área; mas o problema é real e se chama: Síndrome do Programador Herói (SPH). Provavelmente todos da área de TI com alguns anos de carreira já viram alguém ser acometido pela SPH, alguns são afetados pelo resto da vida, enquantos outros conseguem se libertar ou serem libertos por alguém que lhes dê um chacoalhão. Acontece é que o desenvolvimento de software é um dos segmentos de trabalho mais propícios para adquirir essa síndrome.

A maneira mais fácil de contrair SPH é o programador participar de vários projetos de sucesso, principalmente se ele buscar os desafios, e todos darem extremamente certo! OK, sabemos que todo projeto tem seus problemas, mas muitas vezes os executivos não enxergam esses “problemas”. Para eles é apenas um programador que não consegue chegar no horário, um outro que não tem certificação; mas sempre tem aquele cara que gosta de matar no peito, por mais que isso vá arder no dia seguinte, ele quer comprar latinhas de energético e virar a noite na empresa, lógico que depois de pedir aquela pizza, e codar, codar, codar. O trabalho é gerar linhas de código, centenas delas, talvez milhares; ele vai ser o cara que vai carregar o projeto, o cara que vai dar o sangue… E por aí vai. Esse cara é cumprimentado pelo gerente, vai almoçar com ele, alguns colegas querem ser como ele, “o cara que coda pra baralho”, “o cara ali é o único que sabe como funciona essa regra de negócio”, “ele que sabe como esse framework funciona”.

Apesar da gerência adorar e,  talvez a sua existência seja devido ao modelo capitalista, ainda mais em contratações acordadas por valor/hora, esse tipo de profissional deve ser evitado! A qualquer custo. Parece loucura não apoiar um profissional que dê o sangue pela empresa, mas não é, essa é a atitude mais saudável que alguém poderia tomar em um projeto. O projeto deve ser feito pelo time, o mérito da execução deve ser do time, os bugs são criados pelo time; é muito fácil verificar se isso ocorre, é quando se ouve “nós falhamos na implementação de determinada tarefa”, “nós conseguimos fazer um refactoring e melhorar o código para a implementação de determinada funcionalidade acontecer”, “nós automatizamos os testes de integração”, “nós não vamos conseguir completar as tarefas a tempo para lançar essa release na data pré-determinada”.

Quando o time funciona de maneira homogênea o conhecimento técnico ou de negócio é passado para todos, todos irão saber como agir quando algo der problema, todos vão assumir os problemas, todos vão cooperar.

As frases:

  • “programador ninja = programador mercenário, q usa práticas não ortodoxas, sabotagem, espionagem… veja def.: http://ht.ly/5ejDE”
  • “programador jedi = trabalha com ficção, projetos q de uma galáxia muito distante da nossa, único empregador: LucasArts.Com”
  • “programador highlander = vai detonar todos os seus colegas, única maneira de sobreviver no projeto… afinal: só pode haver um!!”
  • “programador Daileon = resolve o seu problema mas devasta todo o ambiente…”
  • “programador AstroBoy = é bonitinho… mas vc não quer um brinquedo de crianças cuidando do sistema crítico da sua emrpesa…”

O pessoal também criou algumas:

  • @wjat777 Ninja: vem armado até os dentes (varias ferramentas), pode até resolver o problema, mas (cont.)
  • @wjat777 mas tem a capacidade de desaparecer se a situaçao pioara.. normalmente cobra caro!
  • @alistonCarlos Programador Power Ranger: junta com mais quatro pra fazer uma bazuca que mata até formiga!
  • @marcelotozzi e o rockstar?
    • Aí vai Marcelo: “tem twitter e fica falando sobre um monte de coisas e escreve um blog sobre assuntos diversos, até mesmo sobre programação, falando como deve ser a coisa”  … #bazinga, ok? 😉

Eu fico puto!

Chego na empresa, ligo minha máquina e,  enquanto isso, pego um café, duplo. A injeção de cafeína vai ajudar a começar o dia. A equipe de interface gráfica no nordeste espera a conclusão do web service para finalizar o trabalho que eles deveriam ter feito no fim de semana. Sim, no fim de semana! O projeto atrasou, a equipe de marketing resolveu adicionar mais uma funcionalidade, além daquela outra adicionada na semana passada, e agora estamos atrasados… Bom, estamos atrasados  já tem… Um mês. Eu fico puto com isso, prefiro ter um filho veado que um filho cliente!
O VS.Net abre, sincronizo o código, trabalhei nele até as 22:00 da sexta-feira passada, mas vai saber se alguém mexeu em alguma coisa. No fim de semana pensando no meu problema, as idéias se encaixaram e guardei a solução. Tarefa simples, porém braçal, tudo o que é preciso para iniciar uma segunda-feira sem pensar muito, só codar. Vou alterar o código é… Meu, quem foi que fez check-out exclusivo nessa classe? Ah! O cara que está  atrasado… Fico puto com isso! Prefiro ter um filho veado que um filho programador que faz isso… Aliás, prefiro ter um filho veado que um filho que configura o TFS com check-out exclusivo.
OK, vamos adiante, preparar os dados que serão enviados para a UI. Não é complicado, dados cadastrais, interface móbile… Caramba, um saco de dados vem desse web service, o que vai deve estar definido na especificação… Que especificação? A única coisa parecida com uma é um e-mail em tom imperativo dizendo: implemente nova função, blá, blá, blá; nada que ajude realmente. Fico puto com isso, será que não é possível descrever direito a necessidade? Prefiro ter um filho veado que um filho gerente de produto.
Já são 10:45 da manhã, em quinze minutos reunião com arquiteto sobre o outro projeto que deveria ter começado, e começou;  é isso que diz o cronograma, mas esta em paralelo por causa desse. Meu, preciso dizer que preferia ter um filho veado que um filho gerente de projetos? Pausa pro café, antes da reunião.
O arquiteto chega, atrasado. Caramba, o que esses caras fazem? Reunião marcada pela exigência do processo, que a arquitetura seja envolvida no início para o levantamento de necessidades dos serviços disponíves. O arquiteto me pede pra levantar os dados, fazer uma planilha, buscar os serviços disponíveis, para que ele possa aprovar! Parece  que eles são aquelas crianças chatas que os amiguinhos não querem brincar junto e daí os pais criam regras para isso. Pô, prefiro ter um filho veado que um filho arquiteto corporativo! Se eu soubesse onde estão os serviços eu não teria marcado a reunião, ao invés do cara colaborar,  o cara quer burocratizar.
Hora do almoço. Aproveito para ler e-mails pessoais, dar uma navegada, já que nos acham incapazes de controlar o tempo de acesso a internet e por isso ela é bloqueada o dia todo, lógico é necessário controlar a produtividade, a atenção… Bom, o UOL e o Terra estão liberados o dia todo! Vai entender… Meu, prefiro ter um filho veado que um filho admin de rede.
Na fila do almoço o de sempre, aquela mulher que fica escolhendo a folha de alface, o pedaço de batata, põe uma, duas, três, quatro colheres muito pequenas de arroz… escolhe o pedaço do frango, lógico que ela  está batendo papo com a amiga na fila da frente, atrasando as duas, criando uma fila enorme. Nem vou falar nada…
Volto pro escritório, pego café, e vou fazer um teste do WS, rodo o código, … erro! O WS chama outro que está  com pau… Ligo pro dev, pergunto pra ele, e a resposta é “testei na minha máquina e mandei pro ambiente de homologação, mas não testei lá”, meu… calma… Verifico o ambiente e vejo que ele esqueceu de subir os arquivos XML de configuração. Abro chamado para o suporte, solicito inclusão dos arquivos… Espero. Recebo e-mail de OK. Novo teste, rodo… Erro! Meu… “Login inválido do banco de dados”… OK… Peço o arquivo Web.config de homologação, não mudaram o endereço do servidor do BD! OK… Mudando… Novo chamado, nova inclusão, mais uma espera… E-mais de OK… Teste… Executo… Erro! ERRO!! Não é possível. Análise do Web.config, o cara de suporte subiu o meu arquivo, com a senha em branco… Cara, prefiro ter um filho veado que um filho analista de suporte!! Alterações feitas, testadas, ambiente OK, e-mail para equipe da UI, … É só esperar confirmação. Enquanto isso,  é ler um pouco.
Recebo e-mail de que o meu WS está  com erro… Não é possível… Nada de errado! Pego o arquivo XML no log, … Pô, dois cabeçalhos “<?xml version=’1.0′ (…)”, como que o cara quer que funcione? Não, nem vou comentar.

Se você está  rindo disso… Ainda vai acontecer com você. Provavelmente amanhã…

Texto inspirado em um quadro do Terça Insana.