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?