Um dia na vida de um programador

Há quem diga que programar é a coisa mais próxima que existe de um superpoder e não podíamos estar mais de acordo. Vivemos num universo cada vez mais tecnológico, escrever linhas de código está na moda e ficar stuck à ideia de que os programadores são uns nerd é pura mensagem de erro.

Estereotipar é humano e basta escrever a palavra “programador” num motor de busca para perceber, em segundos, que há um conjunto de ideias preconcebidas à volta do tema. Tão detalhadas que chega a haver uma imagem clara, desenhada no subconsciente da nossa mente, de cada vez que a palavra é proferida: óculos “twilight zone” para enfrentarem as inúmeras horas passadas à frente de um monitor, olhos vermelhos, cabelo e barba desgrenhados, conversas com objetos inanimados enquanto bebem goles de uma lata de Monster e transformam café em linhas de código. Qualquer semelhança com a realidade não passa de estereotipação.

O último relatório anual da Atomico, uma sociedade de capital de risco que há quatro anos analisa a evolução do setor tecnológico na União Europeia, concluiu que Portugal foi o país europeu onde o número de pessoas formadas em programação mais aumentou  em 2018 (16%), com a tendência a alastrar-se a vários países. No último ano, havia 5,7 milhões de programadores só na Europa – um aumento de 200 mil profissionais face a 2017, facto que comprova que o setor da tecnologia está a atrair cada vez mais participantes. A dinâmica identificada no setor reflete-se ainda ao nível do emprego na área, que, no nosso país, cresceu 6,4% em relação a 2017 (melhor só em França, onde o crescimento foi de 7%). A justificação, de acordo com Tom Wehmeir, sócio fundador da Atomico, é óbvia: “Os portugueses estão a mobilizar talentos e a criar um ecossistema poderoso (…).”

Portugal foi o país europeu onde o número de pessoas formadas em programação mais aumentou  em 2018 (16%), com a tendência a alastrar-se a vários países.

 

A programação está a converter-se na alfabetização do futuro. De tal forma, que há cada vez mais especialistas a defender que as crianças devem aprender a programar e que o pensamento lógico deve ser estimulado desde cedo. Mas, afinal, o que é que faz um programador e como é que é o seu dia a dia? Na PHC temos muitos, e pedimos-lhes ajuda para responder à questão. E desmitificar ideias preconcebidas. Podemos garantir que não têm latas empilhadas nas mesas e que são seres humanos absolutamente normais, totalmente disponíveis para explicar em bom português as inúmeras linguagens complexas que dominam. Se em algum momento do caminho (leia-se durante a leitura do artigo) te sentires perdido, pensa na expressão que lhes ocorre muitas vezes: “Ignorance is bliss”.

 

Programar é mais do que escrever linhas de código

HTML, CSS, JavaScript, PHP, Ruby, Python são tudo linguagens de programação, mas quem programa não tem necessariamente de dominar todas. Por via do contacto diário com determinada linguagem, é natural que surjam “afinidades” que, por vezes, até viram preferências. É nessas alturas que se ouvem coisas como “Se tivesse de eleger uma linguagem que faz praticamente tudo de forma intuitiva, provavelmente seria o PHP”, solta um programador de frontend. Mas escrever linhas de código de forma compulsiva está longe de resumir o trabalho de alguém que programa. Quanto muito, diríamos que um programador ganha a vida a “fazer puzzles”. Mas trabalhar numa empresa que respira programação, exige irmos mais longe do que isso.

Quanto muito, diríamos que um programador ganha a vida a “fazer puzzles”. Mas trabalhar numa empresa que respira programação, exige irmos mais longe do que isso.

 

Um programador passa o dia a ler código – tanto o dele como o dos outros –, a ver as novidades do “Hacker News”, a procurar respostas no “Stack Overflow”, a seguir tutoriais sobre uma tecnologia que lhe interessa e a consultar documentação de determinada linguagem de programação. A juntar a tudo isso, o trabalho necessário de análise – uma tarefa minuciosa de investigação prévia, fundamental antes de passar ao código. Tão inevitável, quanto a certeza do surgimento de tecnologias revolucionárias à velocidade da luz, que não só acarretam novas formas de trabalhar, como implicam do programador o único raciocínio possível: “a única certeza que existe, é a certeza da mudança.” Investir em análise significa despender tempo prévio a encontrar as ferramentas certas para determinado trabalho, para evitar ter de perder tempo a resolver problemas que podiam ter sido evitados.

 

Na abertura do DevSummit, Francisco Caselli, Performance Analytics Diretor da PHC, disse que “um programador não é alguém que sabe uma linguagem, é alguém que sabe criar algoritmos e que encontra soluções para questões difíceis”, e isso transporta-nos para o cerne da questão quando o assunto é programar: para além de fazer uso da lógica, a programação exige criatividade. Porque não existe apenas uma solução para cada problema, e porque a programação não é uma ciência exata. É por isso que quando perguntamos a um programador o que é que o fascina mais na profissão, obtemos respostas como “o bichinho da engenharia”; “ter uma ideia e passá-la à prática”; ou “pôr algo a funcionar que os utilizadores gostem de usar”.

 

Um programador também desespera

Independentemente do grau de experiência, as mensagens de erro são uma constante no dia a dia de um programador e a melhor forma de lidar com elas é encará-las como um GPS – indicações mais ou menos concretas, que permitem proceder às alterações necessárias para que o programa funcione. Parece fácil, não? O problema é quando se passa da teoria à prática, porque nem sempre é fácil interpretar mensagens de erro. Ou quando aparentemente está tudo bem e, ainda assim, algo não funciona, simplesmente porque há uma mísera vírgula em falta num imenso palheiro. É nestas alturas que um programador legitimamente desespera. Olhar para um código que à partida está correto e não funciona é desesperante. E a certeza de que os erros completamente ridículos são os mais difíceis de encontrar, é ainda mais desesperante.

 

A verdade é que esse mesmo desespero podia ser facilmente atenuado, não fosse a existência de uma pequena particularidade que assiste a maioria dos programadores: são “treinados” para se desenrascarem, e só em último caso pedem ajuda. Mesmo sabendo que dois pares de olhos detetam melhor do que uns. Uma espécie de sadomasoquismo nato, devidamente compensado com a sensação única de “yes!” que assiste as descobertas solitárias. E devidamente prolongado quando se teima em encalhar num problema solucionado, simplesmente porque foi solucionado sem efetivamente se perceber como. Porquê, perguntas tu? “Detesto quando isso acontece, mas nunca acontece durante muito tempo, porque fico obcecadamente a tentar perceber porque é que aconteceu”, responde um programador.

 

Desengana-te se pensavas que o desespero tinha terminado. “Hoje não corre, mas ontem corria” acontece mais vezes na vida de um programador do que o desejado.  Antes de fechar o PC corre-se o código uma última vez, só para ter a certeza que fica tudo a funcionar e, surpresa das surpresas, no dia seguinte, por “obra e graça do Espírito Santo”, o programa já não funciona. Resultado: desespero. Sobretudo nas fazes em que a falta de paciência impera. Solução: respirar bem fundo. E afastar a mítica “síndrome do impostor” que tenta os programadores a pensar que o seu trabalho é uma fraude, que os seus programas funcionam por pura sorte e que na verdade não são assim tão competentes.

 

Trocado por miúdos, é tudo isto que acontece quando se passa o dia a programar. Se pensavas que os programadores eram pessoas socialmente inadaptadas por passarem demasiadas horas trancadas na sua bolha, a olharem para linhas de código, esperamos ter conseguido fazer-te mudar de ideias. Se, por oposição, te identificas com tudo o que acabaste de ler e queres juntar-te à nossa família de programadores, envia-nos o teu currículo.  Se possível, em linhas de código.

 

Veja também…