- Implementar mecanismos de cache utilizando tecnologias como Redis.
Profissional com experiência sólida em desenvolvimento de software utilizando o ecossistema Microsoft .NET, atuando na análise, arquitetura, desenvolvimento, evolução e sustentação de aplicações corporativas de alta complexidade.
Responsabilidades Técnicas
- Projetar, desenvolver e manter aplicações utilizando C#, .NET 8+ / .NET Core, ASP.NET Core e Web APIs.
- Definir e implementar arquiteturas escaláveis, resilientes e de fácil manutenção, aplicando princípios como SOLID, Clean Code, Clean Architecture, DDD e Design Patterns.
- Desenvolver APIs RESTful, integrações entre sistemas e serviços distribuídos.
- Trabalhar com arquitetura baseada em microserviços, mensageria e processamento assíncrono.
- Implementar soluções utilizando Entity Framework Core, Dapper e outros mecanismos de acesso a dados.
- Desenvolver consultas, procedures, índices e estratégias de otimização para bancos relacionais.
- Atuar com SQL Server, incluindo análise de planos de execução, tuning de queries, modelagem e otimização de estruturas.
- Trabalhar com bancos NoSQL conforme necessidade arquitetural.
- Implementar mecanismos de cache utilizando tecnologias como Redis.
- Desenvolver integrações utilizando RabbitMQ, Azure Service Bus, Kafka ou soluções equivalentes.
- Implementar autenticação e autorização utilizando OAuth 2.0, OpenID Connect, JWT e Identity.
- Desenvolver aplicações cloud-native e serviços utilizando Microsoft Azure, incluindo recursos como App Service, Azure Functions, Service Bus, Key Vault, Storage e Application Insights.
- Implementar e manter pipelines de CI/CD, utilizando Azure DevOps, GitHub Actions ou ferramentas equivalentes.
- Trabalhar com Docker e, conforme o ambiente, Kubernetes.
- Implementar testes automatizados utilizando frameworks como xUnit, NUnit, Moq e ferramentas equivalentes.
- Aplicar estratégias de testes unitários, integração, contrato e testes de API.
- Implementar observabilidade através de logs estruturados, métricas, tracing distribuído e monitoramento de aplicações.
- Analisar problemas de performance, concorrência, consumo de memória e disponibilidade.
- Participar de decisões técnicas, definição de padrões de desenvolvimento e revisão de código (Code Review).
- Atuar na identificação de débitos técnicos e definição de estratégias de refatoração e modernização de sistemas legados.
- Apoiar desenvolvedores menos experientes por meio de mentoria, revisão técnica e disseminação de boas práticas.
Stack Técnica Desejada
Backend
- C#
- .NET 8+
- ASP.NET Core
- Web API
- Entity Framework Core
- Dapper
- LINQ
- Dependency Injection
- Async/Await
Arquitetura e Engenharia
- Clean Architecture
- Domain-Driven Design (DDD)
- SOLID
- Design Patterns
- Microservices
- Event-Driven Architecture
- REST
- Mensageria
- Resiliência e tolerância a falhas
Banco de Dados
- SQL Server
- PostgreSQL
- Redis
- Modelagem relacional
- Índices e otimização de consultas
- Stored Procedures
- Análise de planos de execução
Cloud / DevOps
- Microsoft Azure
- Docker
- Kubernetes
- Azure DevOps
- GitHub Actions
- CI/CD
- Infrastructure as Code
Mensageria e Integrações
- RabbitMQ
- Azure Service Bus
- Kafka
- REST
- gRPC
Segurança
- OAuth 2.0
- OpenID Connect
- JWT
- Identity
- RBAC
- Gestão de secrets e credenciais
Qualidade e Observabilidade
- xUnit / NUnit
- Moq
- Testes unitários e de integração
- SonarQube
- Serilog
- OpenTelemetry
- Application Insights
- Métricas, logs e distributed tracing
Competências Esperadas
- Capacidade de tomar decisões técnicas considerando performance, escalabilidade, segurança, manutenibilidade e custo operacional.
- Domínio de princípios de engenharia de software e capacidade de aplicá-los de forma pragmática.
- Capacidade de analisar sistemas existentes e propor evolução arquitetural.
- Experiência na investigação e resolução de problemas complexos em produção.
- Conhecimento de concorrência, processamento assíncrono, paralelismo e gerenciamento de recursos.
- Capacidade de trabalhar em ambientes distribuídos e de alta disponibilidade.
- Boa capacidade de comunicação técnica e documentação de decisões arquiteturais.
- Atuação como referência técnica para o time, contribuindo para padrões, qualidade de código e evolução da arquitetura.
Regime De Contratação
Pessoa Jurídica
Departamento
Outsourcing