A minha primeira paixão foi a máquina, o computador em si. Ver aquela caixa bege na minha frente já me deixava fascinado. Mas quando descobri o que dava vida aos computadores desenvolvi uma paixão maior ainda pela vontade de fazer meus próprios programas de computador.
No início eu não sabia metade do que eu sei hoje, mas lembro que na febre dos bichinhos virtuais (tamagotchis) eu fiz um em Visual Basic à base de inúmeros “ifs” e “fors”. Na verdade, fiz vários outros programas mesmo antes de entender bem muitos conceitos de desenvolvimento de Software.
Então veio o colegial Técnico em Processamento de Dados, a faculdade, os livros e eu descobri a Orientação a Objetos, as estruturas de dados, os algoritmos e todo o maravilhoso mundo da programação. Não deu outra: aqui estava minha nova paixão!
Suponho que muitos que estão lendo este texto também são apaixonados por seus códigos, seus algoritmos, suas implementações de MVC (verbo “to be” da programação), suas Best Practices e, principalmente, suas tecnologias favoritas. O problema é que quando eu estava apaixonado esqueci a minha “origem”, esqueci o que havia me motivado realmente a entrar neste mundo: fazer programas de computador. O código, limpo, inteligente e bonito era o que importava agora. Eu havia me tornado um “alienado tecnológico” e caído na armadilha do TI-Centrismo.
Não posso garantir que você passa ou passou pelo mesmo que eu, mas vou explicar como eu me sentia quando estava apaixonado. Se você se sente assim, tome cuidado, pois esta paixão deve lhe deixar cego de tal forma que talvez este seja o motivo pelo qual você não consegue mais fazer tanto quanto fazia antigamente.

O amor é cego
Quando eu estava apaixonado olhava meu código e achava ele lindo. Eu cuidava dele com carinho e ficava “p da vida” quando não me deixavam dar a atenção que meu código merecia. O código dos outros? Nossa como eram feios! E eu era o verdadeiro Ivo Pitanguy da programação, sempre capaz de fazer uma cirurgia plástica que ia deixar o código dos outros muito mais bonitos. Eu também passava horas discutindo com outras pessoas que insistiam em dizer que a tecnologia delas eram mais bonita que a minha. E era assim que eu gastava todo meu tempo: olhando para meu mundo, o mundo dos Design Patterns, das tecnologias e das metodologias. O todo não era importante desde que eu tivesse satisfeito com a minha parte (uma excelente maneira de se sentir confortável com o fracasso dos projetos). Eu havia desenvolvido o que chamo de egocentrismo funcional.
Certo dia eu levei um baque pois descobri que a minha paixão estava me traindo. Descobri que ela era a responsável por eu não conseguir mais fazer softwares como eu fazia antigamente. Ela me iludia. Eu achava que estava fazendo mas não estava fazendo nada pois o resultado era péssimo no final das contas. E a minha paixão me enganava de outra forma: a culpa nunca era minha.
Então eu resolvi partir pra outra e acabei reatando com a minha necessidade inicial de fazer acontecer. Fazer grandes projetos. Fazer grandes produtos. Se o meu código tem que ser bonito para isso: ok. Mas se para um bom resultado final eu tiver que fazer uma baita gambiarra foda-se, isto é um trade-off. Eu percebi que perdi muito tempo da minha vida preocupado com o meio e não com o fim. O código é o meio e não o fim. A tecnologia é o meio e não o fim. O produto é o fim. Eu era uma loja cujo o depósito era céu e a fachada o inferno. Meus clientes iam embora e eu enganava a mim mesmo criando desculpas para me sentir confortável com a situação. A culpa era do cliente e não minha. A culpa era do gerente e não minha.
E se mesmo assim você insistir em dizer que não tem culpa alguma, que tal parar de falar e fazer? O que importa é o seu código bonito nos seus produtos não tão bonitos assim? Vai lá e faz! Tem uma idéia? Está esperando o quê? Não conhece a tecnologia? Mas no começo você fazia mesmo sem conhecer, não era mesmo? Isso se chama Zona de Conforto. É seu cérebro achando que vai ser muito difícil e preferindo fazer as mesmas coisas de sempre.
Sim, é difícil, muito difícil vencer a luta contra nós mesmos. Mas comece assumindo que você é ser humano. Se não conseguiu fazer nada que gostaria é possível que você seja um dos responsáveis! Simples assim. A verdade nua e crua.
O que me motivou a escrever este texto é que ainda vejo muita, mas muita gente falando sobre suas paixões, discutindo detalhes técnicos mesmo antes de saber o propósito do produto, discutindo o que usar mesmo antes de saber quem vai usar. Mas de que adianta tanto conhecimento pra nada? Mas não é para nada – você diz. Então é para quê? Eis aqui o ponto chave!
Se eu lhe perguntar por que você faz software espero a resposta: porque eu gosto. Mas a pergunta certa não é “por que”. A pergunta certa é “para quê”. Para quê você faz Software?