Num relance
- Tarefas: Desenvolver sistemas backend escaláveis e resilientes com C# e .NET.
- Empresa: Empresa de tecnologia inovadora em Porto, com uma cultura colaborativa.
- Benefícios: Salário competitivo, benefícios de saúde e oportunidades de desenvolvimento profissional.
- Outras informações: Ambiente dinâmico com excelentes oportunidades de crescimento na carreira.
- Porquê este emprego: Trabalhe em projetos desafiadores e faça a diferença com tecnologias de ponta.
- Qualificações: Experiência em desenvolvimento com C# e .NET, e habilidades de colaboração em equipe.
O salário previsto situa-se entre 56700 - 69300 € por ano.
Estamos à procura de um engenheiro backend .NET experiente para projetar e construir sistemas backend escaláveis, resilientes e de alto desempenho. Você trabalhará com C# moderno e .NET, desenvolvendo APIs REST, microserviços e aplicações distribuídas em ambientes nativos da nuvem. Além do desenvolvimento prático, você contribuirá para decisões de arquitetura, otimização de desempenho, confiabilidade e melhores práticas de engenharia.
Esta é uma excelente oportunidade para um engenheiro backend sênior que gosta de resolver desafios técnicos complexos e discutir trade-offs arquitetônicos em torno de escalabilidade, concorrência, resiliência, segurança e sistemas distribuídos.
Como Engenheiro Backend .NET Sênior, você irá:
- Projetar e desenvolver serviços e APIs backend escaláveis.
- Construir sistemas distribuídos e microserviços resilientes.
- Contribuir para decisões de design arquitetônico e de sistema.
- Melhorar o desempenho, escalabilidade e confiabilidade das aplicações.
- Desenvolver soluções nativas da nuvem usando Azure ou AWS.
- Promover práticas de engenharia limpas, manuteníveis e testáveis.
- Colaborar com equipes internacionais e multifuncionais.
Design e implementação de sistemas distribuídos e arquiteturas de microserviços:
- Construir serviços capazes de lidar com cargas de trabalho assíncronas e concorrentes.
- Aplicar padrões apropriados para: Concorrência, Segurança de thread, Idempotência, Mecanismos de retry, Recuperação de falhas.
- Projetar serviços com confiabilidade e tolerância a falhas em mente.
- Contribuir para decisões arquitetônicas envolvendo escalabilidade, disponibilidade e desempenho.
APIs e Segurança:
- Projetar e manter APIs REST robustas.
- Implementar autenticação e autorização usando tecnologias e padrões como: JWT, OAuth.
- Aplicar melhores práticas de segurança de API e desenvolvimento backend.
- Contribuir para versionamento de API e estratégias de integração.
Dados e Persistência:
- Desenvolver camadas de acesso a dados usando Entity Framework Core.
- Projetar e otimizar interações eficientes com bancos de dados.
- Escrever e solucionar consultas SQL.
- Identificar gargalos de desempenho em bancos de dados.
- Otimizar consultas e padrões de acesso a dados da aplicação.
- Garantir gerenciamento de transações apropriado e consistência de dados.
Desenvolver e operar soluções em ambientes Azure e/ou AWS:
- Projetar serviços backend nativos da nuvem.
- Contribuir para escalabilidade e resiliência da aplicação em ambientes de nuvem.
- Colaborar com equipes de infraestrutura e DevOps na arquitetura de implantação.
- Participar de discussões técnicas sobre escalabilidade e disponibilidade na nuvem.
- Containerizar serviços backend usando Docker.
- Implantar e suportar aplicações em execução no Kubernetes.
- Garantir que os serviços estejam configurados adequadamente para ambientes nativos da nuvem.
- Contribuir para saúde, escalabilidade e prontidão de produção da aplicação.
- Contribuir para pipelines de CI/CD e entrega automatizada de software.
- Participar ativamente de revisões de código.
- Promover padrões de codificação e melhores práticas de engenharia backend.
- Melhorar processos de desenvolvimento, teste e implantação.
- Identificar dívidas técnicas e contribuir para estratégias de remediação sustentáveis.
Desempenho e Confiabilidade:
- Identificar gargalos de aplicação e infraestrutura.
- Otimizar desempenho backend e utilização de recursos.
- Construir mecanismos apropriados de retry, timeout e resiliência.
- Melhorar a estabilidade da aplicação sob cargas altas ou transacionais.
- Contribuir para práticas de monitoramento e observabilidade.
Colaboração Técnica:
- Participar de revisões de arquitetura e discussões técnicas.
- Avaliar alternativas técnicas e comunicar trade-offs arquitetônicos.
- Colaborar com engenheiros, arquitetos, equipes de DevOps e partes interessadas do produto.
- Compartilhar conhecimento técnico e apoiar melhorias de engenharia em toda a equipe.
Requisitos Obrigatórios:
- 5+ anos de experiência profissional com C# e .NET.
- Conhecimento sólido de .NET Core / .NET 6+.
- APIs REST, Microserviços.
- Compreensão sólida de: Concorrência, Segurança de thread, Idempotência, Padrões de Resiliência, Estratégias de Retry.
- Experiência em implementar autenticação e autorização com JWT/OAuth.
- Experiência sólida com Entity Framework Core.
- Conhecimento sólido de SQL e experiência em otimização de consultas.
- Experiência com arquiteturas de sistemas distribuídos e microserviços.
- Experiência prática com Azure e/ou AWS.
- Experiência com Docker.
- Compreensão sólida de práticas modernas de engenharia de software.
- Proficiência profissional em inglês.
Diferenciais:
- Experiência com arquiteturas de Mensageria e Assíncronas.
- Experiência com um ou mais de: Design Orientado a Domínio (DDD), CQRS, Resiliência, Polly, Estratégias de retry e timeout.
- Infraestrutura como Código (Terraform).
- Cache (Redis, Cache Distribuído).
- Observabilidade (Grafana, Application Insights, OpenTelemetry).
- Experiência com aplicações de alto volume.
- Experiência com sistemas altamente transacionais.
- Otimização de desempenho em ambientes distribuídos.
- Compreensão sólida de como os sistemas backend se comportam além de componentes individuais da aplicação.
- Capacidade de considerar segurança, desempenho, escalabilidade, confiabilidade e manutenibilidade ao projetar soluções.
- Confortável em discutir arquitetura e design de sistemas.
- Capacidade de avaliar e explicar trade-offs técnicos.
- Abordagem pragmática na seleção de tecnologias e padrões arquitetônicos.
- Abordagem prática e analítica para problemas técnicos complexos.
- Capacidades sólidas de resolução de problemas.
- Foco em soluções sustentáveis em vez de correções temporárias.
- Confortável em assumir a responsabilidade por tópicos tecnicamente complexos.
- Capacidade de trabalhar de forma independente e tomar decisões de engenharia sólidas.
- Atitude proativa em relação à melhoria técnica.
- Capacidade de participar efetivamente em discussões técnicas.
- Confortável em colaborar com equipes internacionais e multidisciplinares.
Empregador para Senior .NET Developer (Porto, 3x/semana): Act Digital
A Act Digital é um excelente empregador, oferecendo um ambiente de trabalho dinâmico e colaborativo em Lisboa, onde a inovação e a tecnologia estão no centro das operações. Os colaboradores têm acesso a oportunidades de crescimento profissional, formação contínua e um forte foco na automação e melhoria de processos, o que torna cada dia uma nova oportunidade para aprender e contribuir. Além disso, a cultura de apoio e a ênfase na segurança e fiabilidade dos sistemas bancários garantem que cada membro da equipa se sinta valorizado e parte integrante do sucesso da empresa.