Por dentro da engenharia da Critical Software: Conversa com Lead Software Engineer
Leonardo Cruz, da Critical Software, revela como é desenvolver código para a ESA e NASA. Percurso, desafios e conselhos do IST ao espaço.
A Critical Software nasceu em 1998 como spin-off do Instituto Pedro Nunes, a incubadora de empresas ligada à Universidade de Coimbra. Desde então, construiu um currículo impressionante. Tanto desenvolve software usado pela ESA (Agência Espacial Europeia) e NASA, código que funciona a mais de 40 milhões de quilómetros da Terra, como, cá embaixo, ajuda a modernizar a sinalização ferroviária europeia e operar sistemas de comando militar em conformidade com a NATO.
A empresa possui também duas joint ventures de referência. A mais recente é a Critical FlyTech, empresa criada em parceria com a Airbus para software de aviação e conectividade. Já a Critical TechWorks, com o Grupo BMW, dedica-se ao software dos novos automóveis. O foco de ambas é o desenvolvimento de sistemas críticos. Nestes casos, o custo de uma falha é demasiado elevado para ser aceitável.
Leonardo Cruz é Lead Software Engineer na Critical Software. Tem mestrado em Engenharia Aeroespacial pelo IST (Instituto Superior Técnico) e mais de sete anos a desenvolver software para sistemas críticos. Para conhecer melhor todo este mundo estivemos à conversa com o Leonardo no IST.
1. Leonardo, como é que a engenharia e o espaço entraram no teu radar? Onde é que ganhaste o "bichinho" por esta área?
Leonardo: É assim, desde pequenino, sempre gostei, sempre tive assim um fascínio pela área do espaço. Eu lembro-me, eu tinha uns 11, 12 anos e pedi aos meus pais um telescópio. Eu gostava bastante da área de espaço. E depois aqui acabei por juntar o útil ao agradável, ir para uma área que me dá mais prazer conhecer.
O Leonardo esteve como orador na Semana Aeroespacial 2026 no IST.
2. Fizeste o mestrado em Engenharia Aeroespacial no IST. Este curso é conhecido por ter médias muito elevadas e ser duríssimo. Consideras que foi um curso exigente ou fizeste "com uma perna às costas"?
Leonardo: Foi exigente. Eu acho que o Técnico em geral é bastante exigente. Às vezes, se calhar, muito exigente numas coisas, pouco noutras, mas definitivamente foi um curso exigente, não se fez com uma perna às costas.
3. Saíste aqui do Técnico, de um curso de topo, e foste direto para a Critical Software. O que é que te atraiu neste mundo dos "sistemas críticos" em vez de ires para uma startup "cool" ou para o mundo das apps?
Leonardo: É assim, a Critical permitiu-me juntar duas áreas que eu gosto bastante. Que é o desenvolvimento de software e a engenharia de sistemas na área de espaço. E foi mais ou menos por aí que eu comecei à procura e entrei em contacto com a Critical. Gostei da entrevista, gostei da postura e desde então, tenho ficado.
4. Na Critical, o software não pode falhar - se falha, o custo é demasiado alto. Como é que se lida com essa pressão no dia a dia? Alguma vez perdeste o sono por causa de um "bug"?
Leonardo: Posso dizer que sim, que já perdi algumas vezes o sono. E há uma história em particular, por acaso até falei um bocadinho aqui na apresentação. Nós trabalhamos para um rocket Ariane 6, fizemos software de telemetria e houve uma história engraçada, que é engraçada agora. Que o rocket já estava montado, mas um dos componentes de hardware tinha um problema. Então nós tivemos que ir de urgência a França, resolver um problema de hardware em software. Ou seja, fazer um workaround ao nosso software para poder trabalhar com o hardware que tinha o problema. Isto a um mês do lançamento, mais ou menos. E foi chato nessa altura, mas pronto foi uma coisa desafiante. Acabou por correr bem, acabou por ser lançado a tempo e horas, dentro do atraso que já tinha, mas acabou por ser lançado quando era previsto, não foi preciso desmontar o rocket, até correu bastante bem.
Existe pressão, mas há uma frase feita que é "a pressão é um privilégio" e se nós temos pressão, por alguma razão é, é porque somos capazes de lidar com ela.
5. Hoje és Lead Software Engineer. No teu dia a dia, ainda tens tempo para "dar ao dedo" e escrever código ou agora passas a vida em reuniões a gerir pessoas e projetos?
Leonardo: Eu diria que é metade, metade, honestamente. Dependendo das fases dos projetos. Às vezes acabo por estar muito tempo em reuniões com clientes, mas há fases em que me posso focar a 100% a fazer "código". "Código", porque o processo de desenvolvimento de código envolve muitas fases, é um trabalho mais técnico e menos de gestão.
Teamlyzer: Portanto, acaba por ter fases mais específicas dentro do ciclo do projeto?
Leonardo: Sim, há partes. Por exemplo, a fase inicial de um projeto, vai ser muitas vezes mais necessário falar com os clientes, para perceber a definição dos requisitos, do que é que querem, do que é que não querem. E depois, quando as coisas já estão bem definidas, acaba por estabilizar, passar mais para uma vertente técnica. E muitas vezes também de apoio à equipa, claro. Mas eu considero isso um trabalho técnico.
6. A tua empresa tem código a funcionar a milhões de quilómetros da Terra e outros sistemas a controlar comboios e defesa. Como é o "feeling" de trabalhares num sítio onde se faz tecnologia tão crítica?
Leonardo: Acho que às vezes há um feeling de orgulho. De, por exemplo, ter trabalhado num satélite quando ele é lançado. Uma pessoa trabalhou naquilo e pensa: "ok, tá a funcionar". E há esse feeling assim de um sentido de orgulho, de ok, fui eu que trabalhei nisto, foi a minha equipa que trabalhou nisto. É um bom feeling, apesar de muitas vezes ser complicado, mas é um bom feeling.
Teamlyzer: Acho que sim, tendo em conta que estás a trabalhar num projeto que depois tem alguma visibilidade e é algo mesmo de orgulho.
Leonardo: Sim. Lá está, associado à pressão, às vezes, mas orgulho.
Teamlyzer: Mas se calhar até acaba por ser essa pressão que depois dá o sentimento tão grande de orgulho, por ter uma pressão tão grande e por querer que as coisas corram bem…
Leonardo: Exatamente. Claro. E por ser, muitas vezes ser tão crítico, aquilo não pode funcionar mal.
7. Muita gente acha que o curso de Aeroespacial é só para construir foguetões, mas o Leonardo acabou no software. O curso preparou-te bem para ser um "mestre" do código ou tiveste de aprender quase tudo do zero quando chegaste ao mundo real?
Leonardo: O curso deu-me bases, mas tive que aprender muita coisa. Muita coisa quando comecei a trabalhar, porque, é assim, o curso não tem um background muito forte em software. Temos cadeiras, aliás logo no primeiro ano temos uma cadeira em C, mas dá-nos bases, não nos dá, se calhar, tanto background em software como teria um aluno de Engenharia Informática, óbvio. Mas, lá está, para mim o software, ou o código, são uma ferramenta. Como outra, que aprendemos a utilizar.
8. Sentes que o curso acabou por ser demasiado teórico, comparativamente àquilo que depois tiveste que aprender no mundo profissional?
Leonardo: Sim e não. Tem as duas partes. É assim. Nós aqui no Técnico aprendemos muita coisa teórica, garantidamente, aprendemos muita coisa teórica. Que, em grande parte dos casos, se calhar usamos 5% do que aprendemos aqui. Pelo menos no dia a dia não vamos usar, não é algo que usamos muito. No entanto, eu acho bom aprender isso. Muitas das coisas que eu aqui aprendi, gostei de aprender. A maior parte das matemáticas, há pessoas que não gostam, eu por acaso gosto, e é uma coisa que eu tenho pena até de não usar mais no meu dia a dia. Mas a meu ver, é um bocadinho teórica a mais às vezes, mas eu não sou contra. Se calhar outras universidades têm programas mais práticos que nós aqui não acabamos por não ter no Técnico e se calhar falta este background prático. Mas eu não retiraria background teórico para poder só inserir este background prático. Se pudesse haver os dois, era o ideal. Mas eu não retiraria background teórico por isso.
9. Agora toda a gente fala de Inteligência Artificial para escrever código e resolver tudo. No teu mundo, onde a segurança e a precisão são essenciais, a IA é uma ajuda incrível?
Leonardo: A minha visão na inteligência artificial é que é uma ferramenta como as outras. É uma ferramenta que nós vamos ter que utilizar. Antigamente, por exemplo, os compiladores não tinham nem metade das funcionalidades que têm hoje em dia e são coisas que evoluíram e que hoje em dia se usam. Mesmo IDEs para desenvolvimento de código também evoluíram, são ferramentas. O mesmo acontece com a inteligência artificial, é uma ferramenta que nós temos que saber utilizar, senão vamos ficar para trás, mas não vai substituir toda a engenharia que nós fazemos.
Teamlyzer: Ou seja, é necessária, é uma competência essencial cada vez mais, mas não substitui, em parte nenhuma, o trabalho que nós fazemos, mas sim complementa de certa forma.
Leonardo: Sim, pelo menos por agora. No futuro quem sabe, mas, pelo menos por agora, a meu ver com o tipo de inteligência artificial que está a ser utilizada, com os LLMs, eu não acho que vá substituir as pessoas. Se calhar o que permite é ser para as pessoas serem mais produtivas. É uma ferramenta que nos aumenta a produtividade
Teamlyzer: Sim, até porque não podemos confiar a 100% nelas. Precisa pelo menos de um olho crítico para que as coisas não saiam erradas.
Leonardo: Sim, principalmente numa área de safety critical. Não podemos só pôr o AI a fazer o código e ver se funciona. Dá muito jeito, é uma das ferramentas que utilizamos mesmo para escrever código, dá jeito e é uma boa ferramenta, mas não substitui.
10. Já levas sete anos nesta área. Qual foi a ideia mais "errada" que trouxeste da faculdade e que o trabalho a sério na Critical desfez por completo?
Leonardo: É assim, eu como tenho um background em engenharia aeroespacial, eu pensei que chegava à Critical e já conhecia bem a área, o que não é verdade. E cheguei à Critical e apercebi-me que, ok, tenho umas noções se calhar básicas de algumas coisas, mas não sei toda esta parte de estandardização que falei, por exemplo, não tinha noção de nada. Zero, zero e lá é que tive de aprender.
11. Para os alunos que estão aqui hoje no IST a "sofrer" com exames e projetos: que conselho dás a quem quer chegar a Lead numa empresa de referência como a Criticial?
Leonardo: O meu conselho é não tenham medo de fazer coisas. Pronto, não tenham medo. Se, por exemplo, acham que não são a pessoa mais qualificada que existe para uma vaga qualquer. Não tenham medo, concorram. Não têm nada a perder, o não tá garantido. Vão, façam, é um bocadinho isso. E a fazer as coisas é que vão aprender.
