Engenheiro sénior de DevSecOps / Full-stack
A partir de 75 000 EUR brutos por ano, a tempo inteiro
Local de trabalho: Remoto, em todo o mundo.
Acordo de contratação. A modalidade de contratação, a entidade contratante e a lei aplicável serão definidas na fase da oferta. Não são indicadas aqui porque dependem do local do candidato selecionado e ainda não foram previamente decididas. O candidato é responsável pelo seu direito de trabalhar no país onde reside; os pormenores serão discutidos nessa fase.
Componente variável. É paga uma componente variável anual, dependente do desempenho da empresa. É adicional à remuneração base inicial e não é garantida.
Disciplina. Engenharia
A missão
A plataforma funciona hoje em alojamento gerido. Cada vez mais compradores institucionais e governamentais nos mercados prioritários precisam de a ter na sua própria infraestrutura, sob os seus próprios controlos e sem dependências que não tenham aceite. Existe um plano de engenharia para essa entrega, que identifica honestamente o que ainda não está empacotado. Esta função transforma-o numa implementação operacional e continua a entregar código de produto durante esse trabalho.
Como são realmente os primeiros 90 dias
- Incorporar no artefacto de compilação, com soma de verificação, os módulos remotos importados pelas funções de edge e resolvidos no arranque, para que uma instalação numa rede privada não precise de aceder a um registo público para iniciar.
- Instalar a stack de referência em contentores: Postgres com as suas extensões e o histórico completo de migrações, serviço de autenticação, camada REST, armazenamento de objetos, gateway e ambiente de execução das funções, usando recursos fundamentais do Kubernetes que se comportem de forma equivalente em qualquer cluster gerido.
- Definir por escrito o processo canónico de instalação inicial: criar primeiro o esquema e depois aplicar as migrações subsequentes. Demonstrá-lo num cluster vazio, em vez de apenas o afirmar.
- Apresentar uma lista honesta do que ainda não pode ser empacotado. O maior problema conhecido é que as operações diárias pressupõem atualmente um painel de alojamento que uma instalação do cliente não terá; os procedimentos operacionais que o substituem ainda não existem.
O que o cargo assume após isso
- Infraestrutura como código e manifestos de implementação baseados em recursos fundamentais, não num único fornecedor de cloud, para que o mesmo conjunto funcione no Kubernetes gerido por qualquer operador escolhido pelo cliente.
- O processo de lançamento: artefactos construídos fora do perímetro do cliente, assinados, publicados com os respetivos resumos criptográficos e uma lista de componentes de software (SBOM), e verificados à entrada. A equipa de segurança do cliente aprova cada atualização; essa afirmação só tem valor se o mecanismo a tornar efetiva.
- Saída de rede negada por predefinição e documentação exata dos dados de cada fluxo autorizado, para que a equipa de rede do cliente possa inspecionar o canal em vez de confiar numa descrição.
- Os pontos de ligação. Correio eletrónico, identidade, endpoint do modelo e carimbo de tempo são configurações definidas pelo cliente, cada uma com consequências explícitas para as afirmações que poderão ser feitas. Se uma opção estiver ativada mas não configurada, a operação falha de forma restritiva. Não existir uma alternativa silenciosa é uma propriedade de segurança.
- Executar um pequeno modelo de linguagem no hardware do próprio cliente, dentro do seu perímetro, para as funções de IA ativadas, sem qualquer saída de pedidos para o exterior.
- Engenharia de produto contínua. Cerca de metade do trabalho incide na aplicação React e nas funções do lado do servidor. Não é uma função exclusivamente de plataforma.
O que é necessário
- Já colocou em contentores um serviço PostgreSQL com estado, operou-o em produção e restaurou-o de uma cópia de segurança real, não apenas num procedimento escrito.
- Trabalha com recursos fundamentais do Kubernetes e sabe explicar por que razão um StatefulSet com modelo de pedido de volume não equivale a uma base de dados gerida por um operador.
- Escreve TypeScript no frontend e nas funções do lado do servidor e aceita passar metade da semana a trabalhar no código do produto.
- Manteve um controlo de falha restritiva sob pressão de entrega e consegue descrever a conversa necessária para o fazer.
- Lê políticas de segurança ao nível da linha no Postgres e sabe explicar como uma política aparentemente correta pode permitir uma fuga de dados.
- Trabalha à distância, de forma autónoma, numa área de que mais ninguém é responsável. A função está aberta a candidatos em qualquer parte do mundo; os primeiros 90 dias acima descrevem com franqueza o que o primeiro trimestre exige.
O que este cargo não é
- Não é uma função exclusivamente de Kubernetes. Cerca de metade do trabalho é código da aplicação; quem não quiser trabalhar no produto não ficará satisfeito.
- Não é um projeto que começa do zero. A plataforma existe, tem um longo histórico de migrações, e cada decisão de empacotamento está condicionada por ele e pelos limites das afirmações que a empresa pode fazer.
- Não é uma função de auditoria. As salvaguardas aqui são código que funciona, não relatórios sobre o código de terceiros.
- Não é uma função de chefia com pessoas a cargo. Ainda não há uma equipa para liderar, e o anúncio não finge o contrário.