Text copied to clipboard!

Título

Text copied to clipboard!

Programador de Sistemas

Descrição

Text copied to clipboard!
Estamos à procura de um Programador de Sistemas experiente e altamente analítico para integrar uma equipa técnica focada no desenvolvimento, manutenção e otimização de software de baixo nível, sistemas operativos, componentes de infraestrutura e aplicações críticas de elevado desempenho. Este profissional terá um papel essencial na criação de soluções robustas, seguras e eficientes, capazes de suportar ambientes complexos, escaláveis e com elevados requisitos de fiabilidade. A função exige uma compreensão profunda da arquitetura de computadores, gestão de memória, concorrência, comunicação entre processos, redes, depuração avançada e interação direta com hardware e sistemas operativos. O candidato ideal terá experiência sólida em linguagens como C, C++ ou Rust, bem como familiaridade com ambientes Linux e Unix, ferramentas de compilação, controlo de versões, scripting e práticas modernas de engenharia de software. Será responsável por analisar requisitos técnicos, propor arquiteturas adequadas, implementar funcionalidades críticas, corrigir falhas complexas e garantir que os sistemas desenvolvidos cumprem padrões rigorosos de desempenho, segurança e estabilidade. Também deverá colaborar com equipas multidisciplinares, incluindo engenharia de software, infraestrutura, segurança, DevOps e suporte técnico, para assegurar a integração eficiente das soluções no ecossistema tecnológico da organização. Além da capacidade técnica, procuramos alguém com forte pensamento lógico, atenção ao detalhe e abordagem estruturada à resolução de problemas. O Programador de Sistemas deverá sentir-se confortável a trabalhar com código legado e com novos desenvolvimentos, participando em revisões de código, testes automatizados, documentação técnica e melhoria contínua dos processos de desenvolvimento. A experiência com profiling, tuning de desempenho, programação concorrente, interfaces de sistema, drivers, protocolos de comunicação ou ferramentas internas será considerada uma mais-valia importante. Esta posição é indicada para profissionais que apreciam desafios técnicos profundos e que tenham motivação para trabalhar em componentes fundamentais da infraestrutura tecnológica. O sucesso nesta função depende da capacidade de equilibrar qualidade, eficiência e fiabilidade, mantendo uma visão crítica sobre impacto operacional, escalabilidade e manutenção a longo prazo. Se procura uma oportunidade para contribuir diretamente para a base tecnológica de produtos e serviços essenciais, esta função oferece um ambiente estimulante, colaborativo e orientado para excelência técnica, inovação contínua e aprendizagem constante.

Responsabilidades

Text copied to clipboard!
  • Desenvolver e manter software de sistema de baixo nível com elevado desempenho.
  • Analisar requisitos técnicos e transformar especificações em soluções robustas e escaláveis.
  • Otimizar utilização de memória, processamento e comunicação entre componentes do sistema.
  • Diagnosticar e corrigir erros complexos em ambientes de produção e desenvolvimento.
  • Criar e manter documentação técnica clara sobre arquitetura, código e processos.
  • Colaborar com equipas de infraestrutura, segurança e desenvolvimento na integração de soluções.
  • Implementar testes automatizados e participar em revisões de código regulares.
  • Monitorizar desempenho do sistema e propor melhorias contínuas de estabilidade e eficiência.

Requisitos

Text copied to clipboard!
  • Experiência comprovada em programação de sistemas com C, C++ ou Rust.
  • Conhecimento sólido de sistemas operativos Linux ou Unix e internals de sistema.
  • Compreensão de gestão de memória, concorrência, processos e threads.
  • Experiência com depuração avançada, profiling e análise de desempenho.
  • Familiaridade com Git, ferramentas de compilação e automação de builds.
  • Capacidade de ler, manter e refatorar código legado com segurança.
  • Conhecimentos de redes, protocolos de comunicação e interfaces de sistema.
  • Boa capacidade analítica, atenção ao detalhe e resolução estruturada de problemas.

Perguntas potenciais de entrevista

Text copied to clipboard!
  • Que experiência tem com desenvolvimento de software de baixo nível?
  • Quais linguagens de programação de sistemas domina com maior profundidade?
  • Já trabalhou com otimização de desempenho em ambientes críticos?
  • Que ferramentas utiliza para depuração e análise de memória?
  • Tem experiência com Linux, Unix ou desenvolvimento próximo do kernel?
  • Como aborda a manutenção de código legado complexo?
  • Já colaborou com equipas de infraestrutura, segurança ou DevOps?
  • Que tipo de sistemas críticos ou distribuídos desenvolveu anteriormente?