Detalhes da Vaga

Vaga para Programador de Desenvolvimento de Software

Publicada em: 15-05-2025 Empresa: NCR Angola

Sobre a vaga

A NCR Angola está a recrutar um(a) Programador(a) Sénior de Desenvolvimento de Software, responsável pelo desenvolvimento de aplicações e sistemas informáticos, com capacidade para liderar projectos, resolver problemas complexos e orientar outros membros da equipa. Deve possuir uma visão estratégica da tecnologia e compreender o impacto do seu trabalho nos negócios.

Conhecimentos Específicos

  • Formação Superior em Engenharia Informática ou numa área similar;
  • Experiência prévia de 5 anos em projectos com desenvolvimento em .NET (C#, ASP.Net ou ASP.Net MVC) ou em funções similares;
  • Experiência em Team Foundation/ DevOps e Github
  • Conhecimentos de Entity Framework, Azure/ AWS e .Net Core;
  • Conhecimentos JavaScript, Json, HTML and CSS (Bootstrap);
  • Capacidade de implementar e monitorizar projectos, e identificar soluções alternativas;
  • Valoriza-se os conhecimentos em WebServices (SOAP, REST);
  • Valoriza-se os conhecimentos em Telerik;
  • Valoriza-se experiência prévia em desenvolvimento de aplicações ERP;
  • Alto nível de inglês, escrito e falado;
  • Privilegia-se candidatos com experiência de trabalho em Angola.

Principais Responsabilidades

Desenvolvimento de Software

  • Elaborar Código de Qualidade: Criar soluções eficientes e escaláveis, implementando boas práticas de codificação e design.
  • Desenvolvimento de Aplicações e APIs: Projetar e implementar sistemas de backend (APIs RESTful, microserviços, etc.), aplicações desktop, ou até soluções móveis, dependendo do contexto.
  • Revisão e Aperfeiçoamento de Código: Melhorar e otimizar o código existente, garantindo legibilidade, desempenho e manutenibilidade.

Arquitetura de Software

  • Definir Arquitetura de Sistemas: Propor e definir arquiteturas para sistemas de grande escala, incluindo decisões sobre tecnologias, frameworks, e padrões de design (como MVC, DDD, CQRS, etc.).
  • Escolher Ferramentas e Frameworks: Selecionar as melhores tecnologias para o desenvolvimento (ex: .NET Core, Entity Framework, Xamarin, ASP.NET, etc.).
  • Escalabilidade e Performance: Planear a escalabilidade dos sistemas para lidar com grandes volumes de usuários ou dados.

Liderança Técnica

  • Gestão e Formação de Equipe: Ajudar os programadores juniores e plenos, fornecendo orientações técnicas e compartilhando boas práticas.
  • Rever e Aprovar de Código: Realizar code reviews, garantindo a qualidade do código, aderência às melhores práticas e padronização do código.
  • Coordenação de Tarefas: Ajudar no planear e distribuição das tarefas dentro da equipe.

Testes e Qualidade

  • Apoiar a Cultura de Testes: Incentivar práticas de TDD (Test-Driven Development) e testes automatizados em toda a equipe.
  • Monitoramento e Manutenção de Código: Manter e aprimorar o código existente, corrigindo erros e melhorando sua estabilidade.

Integração Contínua e Deploy

  • Configuração de Pipeline de CI/CD: Implementar e manter pipelines de integração e entrega contínua, utilizando ferramentas como Microsoft DevOps.
  • Gerenciamento de Versões e Deploy: Gerenciar versões do código, garantindo que as versões sejam entregues com qualidade e sem problemas.

Análise e Resolução de Problemas Complexos

  • Diagnóstico de Problemas de Performance: Analisar e resolver problemas de desempenho de aplicações, realizando profiling e tuning do código.
  • Resolução de Bugs: Actuar de forma rápida na identificação e resolução de bugs críticos ou problemas em produção.

Interação com Stakeholders

  • Entendimento das Requisitos do Negócio: Trabalhar com analistas de negócios, Product Owners e outros stakeholders para garantir que os requisitos técnicos estejam alinhados com as necessidades do negócio.
  • Proposta de Soluções Técnicas: Traduzir problemas de negócio em soluções técnicas adequadas, sempre buscando a melhor abordagem para o sucesso do projeto.

Documentação

  • Documentação Técnica: Manter a documentação do sistema, desde a arquitetura até a documentação do código e das APIs.
  • Documentação de Processos: Criar e manter manuais e processos internos, especialmente aqueles relacionados a build, deploy e integração.

Actuação em Metodologias Ágeis

  • Participação em Scrums e Sprints: Trabalhar em ciclos ágeis de desenvolvimento, participando de reuniões diárias, revisões de sprint e planejamento de tarefas.
  • Adaptação às Mudanças: Estar sempre disposto a adaptar soluções e práticas à medida que novos requisitos surgem ou quando melhorias são necessárias

Passos para se inscrever:

Faça a sua candidatura através do link: https://www.linkedin.com/jobs/view/4228331857/