ANOVA

A Anova é um líder global no controlo remoto de ativos industriais, proporcionando soluções de Internet das Coisas (IoT) Industrial que permitem melhorias na eficiência, segurança, serviço e lucros. Resulta da fusão da DataOnline, Wikon, WESROC, Intelligent Sensing Anywhere (ISA) e Silicon Controls (GASLOG).
Sobre a empresa

Engenheiro de Software Junior Full-Stack / Generalista (f/m/x)

Presencial

location Lisboa

date 18 de outubro de 2026

types Tempo integral

Descrição do Papel

O TRABALHO PARA O QUAL ESTAMOS A CONTRATAR ALGUÉM

A ANNEA gere dois sistemas de produção para clientes na indústria de energia eólica, cada um com seu próprio backend, frontend, bases de dados e pipeline de implementação. Ambos precisam de alguém que realize trabalho de backend dia a dia e pegue no trabalho de frontend e infraestrutura ao seu redor.

Um dos nossos engenheiros seniores já faz este trabalho em ambos os projetos, além de tudo o que mais faz, e o tempo para isso está prestes a ficar mais escasso por algum tempo. O que precisamos é de um segundo par de mãos a tempo inteiro que possa assumir o dia a dia disso, com uma transferência adequada agora e uma independência crescente depois, para que possa passar o tempo que tem apenas nas chamadas que só pode fazer.

O PROGRESSO QUE ESPERAMOS

Em vez de uma lista de responsabilidades, aqui está o que deve ser verdade em três momentos.

Após um mês: Você consegue navegar ambas as bases de código de ponta a ponta, começando pelo backend, e executar, depurar e implementar ambas as pilhas através dos pipelines existentes. Pequenos bugs do Sentry são seus para corrigir, não para perguntar. Você já realizou pelo menos uma pequena alteração de backend em cada projeto. Também escreveu o que teve de descobrir (configuração, obstáculos, como os serviços se conectam), para que a transferência viva na documentação e não apenas na cabeça do nosso engenheiro sênior.

Após três meses: O nosso engenheiro sénior tem menos tempo para dar do que no primeiro mês, e você absorveu isso: você já enviou características de backend autônomas com NestJS por conta própria, criou e atualizou as APIs de ambos os projetos e está a transformar requisitos de clientes em tarefas delineadas com apenas uma leve revisão.

Após seis meses: Você possui partes significativas do backend em ambos os projetos sem que seja solicitado, e pode fazer pequenas alterações seguras nas bases de dados Timescale, ClickHouse, MariaDB e Postgres que estão por trás deles, e no CI/CD que envia seu próprio código. Você é uma verdadeira segunda voz nas discussões de arquitetura (modelo de dados, cache) e não apenas alguém que ouve o resultado depois.

Você passará a maior parte do seu tempo no backend, com quantidades reais mas menores de trabalho de frontend e infraestrutura ao mesmo tempo: pipelines, painéis, as bases de dados subjacentes. Você trabalhará de perto com o engenheiro sénior que apoia ambos os projetos a tempo parcial e que revisará seu trabalho e tomará as decisões que você ainda não está pronto para tomar, assim como com o restante da equipe de engenharia da ANNEA.

PARA QUEM É ESTE TRABALHO

Este é um trabalho para alguém no início da sua carreira que já fez coisas reais, mesmo que pequenas. Pessoas que aceitam um trabalho como este geralmente estão numa destas situações. Se nenhuma delas parecer com você, esta não é a mudança certa.

- Você está a trabalhar em algum lugar que apenas lhe permite tocar uma camada — bilhetes de frontend, ou bilhetes de backend, ou nada além de testes — e sabe por um projeto paralelo, um estágio ou seus estudos que pode fazer mais da pilha do que lhe é permitido lá.

- Você usou ferramentas de IA para enviar algo num fim de semana, da maneira que quase qualquer pessoa pode agora, e já sabe que isso não é o mesmo que entender o que construiu. Você quer fechar essa lacuna em algo com usuários reais, dados reais e consequências reais se quebrar. Não um projeto de prompt para app.

- Você utiliza ferramentas de programação com IA todos os dias e não aceita apenas o que elas produzem superficialmente. Você já apanhou um agente a enviar algo com falhas ou inseguro, e você quer trabalhar em algum lugar que trate a detecção disso como uma habilidade real, e não como um inconveniente.

- Você deseja ter a posse do backend que vá além de uma fila de bilhetes (características reais e dados) com exposição suficiente ao frontend e infraestrutura para ver como o seu código realmente chega a um usuário, e prefere aprender essa amplitude na prática com apoio do que apenas a partir de documentação.

COMO REALMENTE SÃO OS DIAS

Você terá muitos dias assim:

- Corrigindo um bug que o Sentry sinalizou, desde a leitura do stack trace até o envio do patch.

- Uma característica de backend de manhã, uma correção de frontend ou uma alteração de Docker/CI à tarde.

- Transformando um requisito do cliente numa tarefa concreta e delimitada.

- Escrevendo ou revisando um pequeno pedaço de TypeScript, JavaScript, Python ou SQL, dependendo de qual projeto precisa disso naquele dia.

- Verificando uma decisão sobre a qual não tem certeza com o nosso engenheiro sénior antes de ser publicada, e anotando o que decidiu e porquê.

Você terá muito poucos dias assim:

- Um único bilhete numa única camada da pilha, por qualquer espaço de tempo.

- Uma decisão de arquitetura tomada inteiramente sem você, sobre a qual você só ouve depois.

- Longos períodos sem resultados visíveis para o cliente ou usuário.

- Um dia inteiro sem ninguém disponível para checar uma decisão sobre a qual você está incerto.

Se a segunda lista é a que lhe dá energia, você não iria gostar deste trabalho.

O QUE PRECISA DE TER FEITO ANTES

Valorizamos o que você fez, mais do que há quanto tempo o fez.

- Você construiu e enviou algo de ponta a ponta onde escreveu a lógica real do backend você mesmo e tomou as decisões de infraestrutura em torno disso, em vez de um projeto que um construtor de IA ou PaaS configurou e hospedou para você. Você escolheu o banco de dados, escreveu o Dockerfile e configurou a implementação. Um projeto pessoal, um projeto universitário, uma entrega de estágio ou um trabalho freelance contam.

- Você se sente confortável em pelo menos uma das linguagens TypeScript/JavaScript ou Python, e pode ler a outra. Você conhece SQL básico: pode escrever um join e explicar para que serve um índice.

- Você já usou Docker e Git num projeto real, e pode explicar o que o seu Dockerfile e configuração de CI realmente fazem, não apenas aceitou os padrões que uma IA ou um modelo escreveu para você.

- Você usou uma ferramenta de codificação com IA (Claude Code, Cursor, Codex ou similar) o suficiente para ter apanhado quando ela produzia algo quebrado ou inseguro silenciosamente, e pode descrever exatamente o que estava errado e como você descobriu, não apenas que ela 'às vezes comete erros.'

- Você pode apontar para uma decisão sobre algo que construiu que acabou por estar errada e dizer o que aprendeu com isso.

- Você prefere fazer uma pergunta do que adivinhar quando está incerto, e sente-se confortável em ser informado de que sua primeira resposta estava errada.

- Experiência com bases de dados relacionais ou de séries temporais (Postgres, MySQL/MariaDB, TimescaleDB, ClickHouse) é uma vantagem, não um requisito. Experiência em energia, industrial ou IoT é uma vantagem, não um requisito.

OS COMPROMISSOS

Cada mudança de trabalho tem um custo. Aqui está o que este custa.

- Você trabalha em dois projetos diferentes ao mesmo tempo em vez de se aprofundar numa única pilha. Isso significa diferentes bases de dados, diferentes linguagens, diferentes clientes. Se você deseja profundidade numa única pilha desde o primeiro dia, isto não é.

- O nosso engenheiro sénior apoia-o a tempo parcial, e nos primeiros meses até isso será mais leve do que o habitual. Você recebe revisão e orientação, não alguém sentado ao seu lado o dia todo. No começo, você frequentemente fará a chamada antes de receber feedback sobre ela, não depois.

- O domínio é real: os dados da fazenda eólica têm física real por trás deles, e ambos os projetos lidam com requisitos e prazos reais de clientes. Você terá de aprender o domínio; ninguém espera que você chegue já conhecendo-o.

- Parte do que você tocará (bases de dados de produção, firewalls da Hetzner, Kubernetes a nível de usuário) é infraestrutura que a maioria dos cargos juniores não tem acesso. Essa é a oportunidade, e também porquê é revista antes de ser colocada em produção.

A função está baseada em Lisboa, Portugal, com tempo regular (neste momento 2-3 dias/semana) no escritório no coração da cidade. Somos flexíveis sobre os detalhes, mas não somos primeiros em remoto.

QUEM SOMOS

A ANNEA constrói software de ponta a ponta para a indústria de energia renovável. A nossa plataforma permite a manutenção preditiva e a otimização de desempenho para turbinas eólicas. Combinamos análises, aprendizado de máquina e conhecimento de engenharia profundo com uma verdadeira compreensão física dos ativos em que trabalhamos.

A nossa visão é economizar recursos para um planeta mais sustentável. A nossa missão é tornar os ativos de energia renovável mais eficientes através da manutenção preditiva e otimização de desempenho.