Empresa: IEBT
Atividades: • Projetar, desenvolver e evoluir soluções de software utilizando .NET e C#, considerando requisitos funcionais, não funcionais e necessidades do negócio. • Participar da definição de arquiteturas e soluções técnicas para aplicações e serviços de diferentes níveis de complexidade. • Atuar na evolução de sistemas existentes, identificando oportunidades de melhoria em arquitetura, performance, escalabilidade, segurança e manutenibilidade. • Desenvolver e integrar APIs, microsserviços e serviços distribuídos, considerando boas práticas de arquitetura e comunicação entre sistemas. • Analisar problemas complexos e propor soluções técnicas sustentáveis, avaliando impactos e alternativas de implementação. • Contribuir para a definição e disseminação de padrões, práticas e diretrizes de engenharia de software entre os times. • Realizar revisões de código e apoiar tecnicamente outros profissionais, contribuindo para a qualidade das entregas. • Trabalhar de forma próxima às áreas de produto, negócio e tecnologia para transformar necessidades em soluções técnicas. • Atuar em iniciativas de modernização e evolução tecnológica, considerando aspectos de escalabilidade, observabilidade, segurança e disponibilidade. • Contribuir para práticas de engenharia como automação de testes, integração e entrega contínuas, documentação e melhoria dos processos de desenvolvimento. • Participar de discussões técnicas e decisões relacionadas ao ciclo de vida das aplicações, desde a concepção até a sustentação. Requisitos: Requisitos Experiência sólida em engenharia e desenvolvimento de software com .NET e C#. Experiência com arquitetura de software, princípios de design e padrões arquiteturais. Experiência no desenvolvimento de APIs REST, microsserviços e sistemas distribuídos. Conhecimento sólido de bancos de dados relacionais, SQL e estratégias de persistência de dados. Experiência com cloud computing, preferencialmente Azure. Conhecimento de práticas de CI/CD, DevOps e automação de processos de desenvolvimento. Experiência com testes automatizados, revisão de código e práticas de qualidade de software. Conhecimento de princípios como SOLID, Clean Code e Design Patterns. Capacidade de analisar cenários complexos, tomar decisões técnicas e avaliar trade-offs. Boa comunicação e capacidade de atuação colaborativa com equipes multidisciplinares. Desejáveis Experiência em instituições financeiras, bancos ou ambientes de alta criticidade. Conhecimento de sistemas transacionais de alta disponibilidade e alto volume. Experiência com mensageria e processamento assíncrono, como RabbitMQ, Kafka ou Azure Service Bus. Conhecimento de containers e orquestração, como Docker e Kubernetes. Experiência com observabilidade, monitoramento, logs distribuídos e tracing. Conhecimento de práticas de segurança de aplicações e desenvolvimento seguro. Experiência com modernização de aplicações legadas e estratégias de migração para cloud. Conhecimento de arquitetura orientada a eventos e sistemas distribuídos. Experiência com Azure DevOps ou ferramentas similares de CI/CD. Conhecimento de práticas de resiliência, escalabilidade e tolerância a falhas.