Tudo começou com uma pergunta. José Machava tinha catorze ou quinze anos, andava na oitava ou nona classe, e o único projecto que lhe interessava era chegar a casa depois da escola e ligar o computador para jogar. O vício era assumido. Voltava das aulas e a primeira coisa que fazia era abrir um jogo. Todos os dias, sem excepção.
Na altura, o plano de vida era claro: seguir engenharia civil. Tinha tios no ramo, conhecia pessoas na profissão, e o futuro parecia definido. Até que o irmão fez a pergunta que mudou tudo: “Em vez de jogares, por que não crias os jogos?”
Foi uma provocação simples, mas desbloqueou uma curiosidade que José não sabia que tinha. Como é que se fazem estes jogos em que passo horas? O que está por trás deles? Foi por esse caminho que descobriu o HTML, o CSS e, pouco depois, o Java, a sua primeira linguagem de programação, aprendida algures entre a décima e a décima primeira classe, por conta própria.
Quando chegou a altura de escolher o curso universitário, a engenharia civil já não fazia sentido. Inscreveu-se em ciências da computação. E foi aí que a frustração começou.
O que a universidade não ensina
No primeiro ano do curso, José percebeu que o que vinha a estudar por conta própria há dois ou três anos só apareceria no terceiro ou quarto ano do currículo universitário. As matérias que o mercado procurava estavam empurradas para o final do percurso académico, enquanto os primeiros anos se perdiam em teoria que, sendo importante, não preparava ninguém para construir software real.
“O que o mercado de trabalho procura normalmente não vai de encontro com o que é leccionado nas universidades em cursos como ciências da computação”, diz. “As bases que são dadas nesses cursos são essenciais, mas já não se enquadram na realidade do mundo actual.”
A constatação não o paralisou. Em vez de esperar pelo terceiro ano, decidiu agir. Ainda no primeiro ano de faculdade, criou o que chamou de Fullstack Nanodegree, um programa onde ensinava aos colegas e a outros interessados as bases práticas da programação: HTML, CSS, JavaScript, Python, Django, SQL. O suficiente para construir uma aplicação web funcional.
O curso era, pelas suas próprias palavras, “básico, porque era o reflexo da minha experiência na altura”. Mas resolvia um problema concreto: dava a estudantes universitários, logo no primeiro ano, as competências que o mercado exigia e que a universidade só oferecia muito mais tarde.
De programador a engenheiro
À medida que ganhava experiência, José percebeu que faltava algo. Saber programar não é a mesma coisa que saber produzir software. “Existe uma diferença muito grande entre fazer um programa e fazer um software”, afirma.
Um programa é código que funciona. Software é um produto pensado, planeado, testado, entregue e mantido, e quase nunca é feito por uma pessoa sozinha. Requer equipas, processos, comunicação, e uma engenharia que vai muito além de escrever linhas de código.
Foi esta percepção que o levou a transformar o projecto. O Fullstack Nanodegree passou a chamar-se Software Engineering Nanodegree, um programa que não se limita a ensinar linguagens de programação, mas que cobre o processo completo de engenharia de software: planeamento, pesquisa, compreensão do problema antes de tocar numa linha de código, trabalho em equipa e entrega.
“O engenheiro de software é aquele que planeia, faz pesquisa, entende qual é o problema que querem resolver, antes mesmo de pegar numa linha de código”, explica. “Nós temos a engenharia por trás da produção do software.”
As ferramentas mudam, a engenharia fica
Num momento em que o sector tecnológico global atravessa uma revolução com ferramentas de inteligência artificial como o Claude Code, o Cursor e o Codex, a filosofia da Academy revela-se particularmente actual. José não rejeita estas ferramentas. Integra-as no currículo. Mas recusa a ideia de que substituem o conhecimento fundamental.
“As linguagens de programação vêm e vão. Ferramentas como o Claude Code e o Cursor são ferramentas que nos ajudam a produzir código. Mas a engenharia por trás de produzir software continua lá.”
E acrescenta um ponto que muitos entusiastas da IA preferem ignorar: “É essencial aprender a programar porque tens que entender o que essas ferramentas fizeram no teu código. Em produção, vais ter que resolver problemas, e se não entenderes a decisão que uma ferramenta de IA tomou, não tens como resolver o problema.”
É uma posição pragmática: as ferramentas de IA são bem-vindas, mas não dispensam o engenheiro de entender o que está a acontecer. A inteligência artificial gera código; o engenheiro garante que esse código funciona, é seguro e resolve o problema certo.
O mercado responde
A Academy não ficou apenas na teoria educativa. José afirma que o mercado moçambicano tem absorvido os profissionais formados pelo programa. “Existem muitos estudantes que passaram pela Academy e que hoje se encontram a exercer a profissão como engenheiros de software”, diz, sem entrar em números específicos.
O modelo é directo: pegar em estudantes universitários ou entusiastas de tecnologia e prepará-los para o que o mercado realmente pede, preenchendo a lacuna que o sistema de ensino superior não consegue colmatar a tempo.
Consolidar antes de expandir
Quanto aos planos, José é deliberadamente contido. Não anuncia novos cursos nem expansões ambiciosas. O objectivo imediato é “solidificar o que já temos”: fortalecer o currículo existente e, eventualmente, ramificar para áreas complementares como cloud computing, cibersegurança e ciência de dados, que considera ainda parte da engenharia de software.
“Por agora, o nosso plano é solidificar o que temos e ajudar os estudantes a ingressar no mercado de trabalho. Porque este é o objectivo da Academy: preparar os estudantes para o mercado de trabalho.”
E se um jovem lhe perguntar por onde começar? A resposta revela o professor que se sobrepõe ao empreendedor: “Encontre um problema e tente resolvê-lo. Faça pesquisas. Mas se quer a forma mais rápida, junte-se à Academy.”




