9 min read
Nem todo programador ama programar (o tempo todo)

Hoje me fizeram a seguinte pergunta:

“Você gosta de programar?”

A primeira vista parece uma pergunta boba e meio óbvia a resposta que um programador daria.

Claramente ele responderia que sim já que é o trabalho dele, se ele não gostasse estaria fazendo outra coisa, certo? Mas por mais estranha que possa ser essa pergunta ela ainda possui uma grande complexidade. Assim como toda profissão, a programação tem seus prós e contras, e eu diria que um programador pode passar por todos os prós e contras do desenvolvimento em um único dia.


As surpresas do dia a dia

A programação possui seus dias fáceis e seus dias difíceis, ou melhor, seus dias de luta e seus dias de glória, o que parece difícil pode ser na verdade muito fácil e o que parece ser muito fácil as vezes pode ser a coisa mais complicada que você já viu.

E isso pode ser exemplificado da seguinte forma:

  • Você possui a tarefa de realizar um cálculo matemático super complexo utilizando várias fórmulas diferentes, que quando o seu professor de matemática estava ensinando sobre, você pensou: “Eu nunca vou usar isso na minha vida mesmo, pra que que eu vou prestar atenção?”, ou em outra ocasião, o cliente pediu uma feature que você nunca fez antes, pediu um layout que parece ser a coisa mais impossível do mundo. No primeiro momento você se assusta com a complexidade, até que na primeira pesquisa na internet você encontra uma biblioteca ou um componente que já faz tudo por você.

Mas da mesma forma que você foi sortudo, você também pode ser azarado

  • Você percebe que a última pendência que tem para realizar é uma simples tela de cadastro, você já realizou telas parecidas várias e várias vezes então só mais uma vai ser bem tranquilo. Até que você vai criar a tabela no banco de dados e percebe que a arquitetura atual não é a ideal, que poderia ter sido feita de uma forma completamente diferente, mais simples e que vai ter que remodelar tudo por causa de apenas uma tabela. O que antes você achou que faria em 30 minutos acabou se tornando mais de 4 ou 5 horas de trabalho extremamente cansativo e chato.

Esses são dois casos que podem descrever bem o dia a dia de um programador. Um dia você ta no céu, no outro ta no inferno.


Projetos e projetos

Acredito que a programação é algo extremamente delicado. Todos os profissionais que direta e indiretamente trabalham em um projeto possuem uma grande responsabilidade sobre ele, pois no erro de uma pessoa, todos os outros vão errar também, e aquilo que no início parecia ser uma ótima ideia de produto, acaba se tornando uma distorção do que ele realmente é e de qual o objetivo dele.

Se você ficou confuso com o que eu disse acima, agora talvez você entenda melhor o que eu quero dizer, pense comigo:

Você, usuário do iFood, quando abre o aplicativo espera ver o que?

Claramente são opcões do que comprar para se alimentar, certo? Agora imagina se dentro do iFood tem um blog sobre algum assunto totalmente fora do contexto de alimentação, como por exemplo: política, meio ambiente, moda ou esportes. Eu te pergunto, isso faz algum sentido para você? Você entraria no iFood para pedir alguma coisa para comer no almoço ou para ver artigos sobre esportes?

Agora além de ter colocado um blog no aplicativo, imagina que a tela onde você faz o pedido ta toda bugada, você não consegue pagar pelas coisas e acaba desistindo do pedido. Mas a tela sobre os posts tá 100% funcional, rápida e cheia de funcionalidades sensacionais, isso faz menos sentido ainda né? Por que dar foco em uma parte do aplicativo que não é a mais importante e deixar a parte que sustenta o aplicativo de lado e toda quebrada?

Parece coisa de outro mundo né, por que alguém iria querer fazer isso com um aplicativo? mas isso é um relato de experiência própria, e uma coisa que eu aprendi é não duvidar do impossivel.

Mas calma, isso não vai acontecer com o iFood (eu acho). O que eu estou querendo dizer é que nesse caso, a culpa nem foi do programador, mas do dono da ideia ou do P.O (Product Owner), que não souberam colocar em prática e objetivar a ideia principal do aplicativo e antes preferiram focar em funcionalidades secundárias, tornando o uso dele totalmente sem sentido e inviável. Se torna um aplicativo que não se paga e é fadado com o tempo a ser descartado e jogado fora.

O pior disso tudo é que as vezes o culpado não percebe que ele é realmente o culpado seja por orgulho ou vergonha, o que pode fazer com que a culpa recaia sobre os programadores, que “não souberam executar da melhor forma a ideia”. Mas se eu fosse falar sobre o Orgulho no mundo da programação eu teria que escrever um post a parte só pra isso.

Por isso que como eu disse, até as pessoas que trabalham indiretamente com o projeto, que nesse caso são aqueles que não possuem contato direto com o código, são responsáveis de tornar ele algo que seja interessante ou não, para o programador e principalmente para o usuário final. Por isso que existem projetos e projetos, aqueles que são bem gerenciados e aqueles que são jogados para o programador se virar. E também é por isso que existem dias que o programador ama trabalhar e dias que ele odeia.

Um projeto sem fundamento, sem objetividade, sem organização nunca vai sair realmente do papel, e se um dia sair (por muito esforço do programador), vai ser aos poucos deixado de lado, até que:

  • ou ele seja completamente refeito, corrigindo os problemas de alinhamento sobre a ideia dele, o que levaria tempo, e já que tempo é dinheiro, muitas empresas se recusariam a fazer;
  • ou alguém “rouba” a ideia e realmente cria um aplicativo utilizável, viável e que se torna um sucesso;
  • ou aos poucos, de forma forçada (extreme go horse) e com a mesma desorganização da criação do app, os bugs e erros vão sendo corrigidos a medida que outros vão aparecendo, pois se houver clientes utilizando e pagando por ele, eles com certeza vão cobrar pela má qualidade do produto e vão querer que os problemas sejam resolvidos enquanto que o mesmo exige por novas features.

Conclusão

Então eu volto a dizer que a programação é algo bem delicado sim, e as vezes o seu maior problema não é um bug no código, mas sim uma pessoa que não sabe gerenciar bem o que ela quer de você. Todos esses problemas fazem com que um programador reflita sobre a pergunta no início do post. A gente gosta sim de programar, mas esse “sim” vai até certo ponto.

Gostamos da sensação que temos ao ver um código funcionando, gostamos da sensação de experimentar novas linguagens, frameworks, bibliotecas. Gostamos da sensação de criar um projeto que nos ajude ou ajude outras pessoas. Ver alguém usando uma aplicação que você fez, trazendo conforto e praticidade pra essa pessoa, é uma sensação única. Quando isso escala então para 500 pessoas usando o seu aplicativo todos os dias, você se sente muito bem e fica feliz em ver algo que você se dedicou durante noites ser bem falado, ser bem utilizado. Você sente que seu trabalho não foi em vão.

Mas a coisa começa a desandar quando o seu esforço não chega a lugar nenhum, quando sua aplicação começa a dar erros por falta de organização durante o escopo do projeto, quando reclamam que algo não está funcionando, mas você não tem culpa pois foi uma demanda jogada pra você fazer o mais rápido possivel e não teve o tempo necessário de testar. Quando alguém se diz gestor de uma aplicação que você criou mas na verdade nunca falou com você e recebe os créditos por aquilo que você se matou durante noites. Quando lhe reconhecem como o dono da aplicação somente quando ela está dando erros, mas quando ta estável você não passa de um simples programador que só foi utilizado como “recurso”, foi só mais uma formiga no formigueiro.

Tudo isso parece bem específico né? Mas não é atoa, uma das tags desse post é “experiências” e tudo o que eu explico aqui realmente eu já vi de perto. Nesse mundo, não só da programação, você tem que tá preparado pro que der e vier, nunca confie 100% nas pessoas, ainda mais no ambiente de trabalho. Para muitos você é só mais um número. Dê o seu melhor, mas saiba que nunca poderá exigir que as pessoas sempre dêem o melhor delas pra você, porque elas não vão. Sempre busque crescer, mas também sempre ajude aqueles que te ajudaram a chegar onde chegou.


Quer entrar em contato ou achou algum erro? Por favor, me envie um email em: luisgustavofeitoza@gmail.com