Desenvolvedor back .net especialista
Backend .NET specialist role in Brazil: design and build scalable, resilient and secure services in C#, choosing architecture patterns like microservices and message queues, writing tested clean code, and documenting decisions. The stack includes Docker/Docker Compose, CI/CD, Git and IaC.
- Compensation
- Not disclosed
- Location
- Brazil
- Work setup
- Not specified
- Seniority
- Not specified
- Employment
- Not specified
- Experience
- Not specified
- Category
- Software engineering
- Posted
Skills
Must have
- Proven experience designing and implementing scalable, resilient and secure software architectures
- Hands-on software development experience with C#
- Experience applying software design principles (SOLID, Clean Code)
- Experience implementing automated tests (unit, integration)
- Experience with architecture patterns (microservices, message queues)
- Deep knowledge of C# and the .NET ecosystem
- Solid knowledge of Design Patterns
- Knowledge of software architecture principles (microservices, message queues)
- Knowledge of agile practices (Scrum, Kanban)
- Knowledge of information security (authentication, authorization, encryption)
- Knowledge of code versioning tools (Git)
- Familiarity with testing methodologies (TDD, BDD)
- Familiarity with Docker and Docker Compose
- Knowledge of CI/CD (Continuous Integration / Continuous Delivery)
- Knowledge of IaC (Infrastructure as Code)
- Excellent communication and collaboration skills for teamwork
- Critical analysis and complex problem-solving skills
- Ability to translate business requirements into clear, concise technical specifications
- Ability to make data-driven technical decisions understanding trade-offs
- Ability to document solutions clearly and in an organized way
- Ability to learn and adapt to new technologies and tools
Nice to have
- Ensure the code runs locally without errors using Docker and Docker Compose
- Implement automated CI/CD pipeline
- Use IaC (Infrastructure as Code) strategies
- Perform cost estimations
- Desirable soft skills: proactivity, analytical thinking, results orientation, collaboration, adaptability, continuous learning
Full description
Experiência:
➢ Experiência comprovada em design e implementação de arquiteturas de software escaláveis, resilientes e seguras.
➢ Experiência prática em desenvolvimento de software utilizando a linguagem C#.
➢ Experiência com a aplicação de princípios de design de software (SOLID, Clean Code, etc.).
➢ Experiência com a implementação de testes automatizados (unitários, integração, etc.).
➢ Experiência com padrões de arquitetura (microsserviços, filas de mensagens, etc.).
Conhecimentos Técnicos:
➢ Profundo conhecimento da linguagem C# e do ecossistema .NET.
➢ Sólido conhecimento de padrões de design de software (Design Patterns).
➢ Conhecimento de princípios de arquitetura de software (microsserviços, filas de mensagens, etc.).
➢ Conhecimento de práticas de desenvolvimento ágil (Scrum, Kanban).
➢ Conhecimento de segurança da informação (autenticação, autorização, criptografia).
➢ Conhecimento de ferramentas de versionamento de código (Git).
➢ Familiaridade com metodologias de testes (TDD, BDD).
➢ Familiaridade com Docker e Docker Compose.
➢ Conhecimento de CI/CD (Integração Contínua / Entrega Contínua).
➢ Conhecimento de IaC (Infraestrutura como Código).
Habilidades:
➢ Excelente capacidade de comunicação e colaboração para trabalhar em equipe.
➢ Habilidade de análise crítica e resolução de problemas complexos.
➢ Capacidade de traduzir requisitos de negócios em especificações técnicas claras e concisas.
➢ Habilidade de tomar decisões técnicas embasadas em dados e em um profundo entendimento dos trade-offs envolvidos.
➢ Habilidade de documentar soluções de forma clara e organizada.
➢ Capacidade de aprender e se adaptar a novas tecnologias e ferramentas.
Arquitetura e Design da Solução:
➢ Escolher padrões arquiteturais adequados (micros serviços, filas de mensagens, etc.).
➢ Justificar a escolha dos padrões em relação aos requisitos.
➢ Considerar os trade-offs entre simplicidade e flexibilidade.
➢ Definir estratégias claras para lidar com o aumento da carga (escalabilidade).
➢ Implementar mecanismos de recuperação de falhas (resiliência).
➢ Atender ao requisito de não indisponibilidade do serviço de controle de lançamentos em caso de falha do consolidado diário.