**Descrição da vaga**:
**Habilidades e comportamentos esperados**:
- Todos os itens do Desenvolvedor Sênior
- Capacidade de Manter-se Atualizado
**Tecnologias obrigatórias**:
- Conhecimento Orquestração de Containers
- Conhecimento desenvolvimento em Cluster
- Conhecimento de Filas
- Escalabilidade
- Conhecimento de Containers
- Conhecimento em Cache
- Conhecimento em um Cloud Provider
- Conhecimento em CI/CD
- Conhecimento em Cloud Native Computing
- Conhecimento Microserviços - Vantagens e Desvantagens
- Migration (banco de dados)
**Tecnologias desejáveis**:
- Banco de Dados NoSQL
- Serveless
- Open API
- Observabilidade (Logs)
- Experiência com programação na Nuvem
- Programação Reativa
- Teste de estresse/carga
**Tecnologias e habilidades adicionais**:
- Vantagens e desvantagens na utilização do NodeJS
- Conhecimento em Repositório de Artefatos
- Testes automatizados
- Designer Partner
- Ferramenta de análise de qualidade de código
**Requerimentos**:
**Requisitos Obrigatórios**:
Atuação com modelos de arquiteturas e projetos multicamadas, microsserviços, APIs, padrões e práticas baseadas em orientação a objetos;
Manter padrões arquiteturais e design de produtos digitais;
Responsável por orientar e apoiar a equipe de desenvolvimento com revisões de código;
Remover impedimentos técnicos (projeto e sustentação);
Trabalhar com o líder técnico para alinhar o roteiro com pontos fortes e oportunidades;
Fortes habilidades de comunicação com a capacidade de alinhar a organização em decisões técnicas complexas;
Treinador e mentor ativo, cujos objetivos são crescer e maximizar o potencial da equipe;
**Requisitos**:
Domínio na linguagem C# (Async/Await, LINQ & Lambda);
ORM Entity Framework Core (ChangeTracker, DataBase First e Eager Loading);
ASP.NET Core (Middlewares, Filters & Attributes, Application settings & Configuration);
Conhecimento gerais de desenvolvimento (GIT, dotnet CLI e protocolo HTTP/HTTPS);
Injeção de dependência (DI Containers e Life Cycles);
Conhecimento em banco de dados relacional, fundamentos sobre desing e sintax SQL;
Conhecimento básico em NoSQL;
Prática no uso de Caching com Redis;
Prática no uso de Logs Frameworks (NLog);
Conhecimento de Telemetria;
Conhecimento em mapeamento de objetos (AutoMapper);
Conhecimento avançado de Arquitetura e experiência com Microservices;
Conhecimento básico em mensageria (Massage-Broker ou Message-Bus);
Domínio dos principais Design Patterns (Criacionais, estruturais e comportamentais);
Domínio no uso de princípios SOLID;
Domínio no uso de Docker com.NET Core (Dockerfile e orquestração);
Conhecimento avançado em CI/CD;
**Desejável testes de unidade e integração**: TDD, BDD (XUnit, NUnit..);
Experiência em equipes dinâmicas e metodologias de desenvolvimento ágeis;
Experiência com frameworks de javascript (Angular 8+, VueJS e/ou React);
Experiência mínima de 10 (dez) anos na área.
Ter um perfil proativo, boa comunicação, raciocínio lógico, responsabilidade e comprometimento;
Formação Completa em Ciências da computação, Sistemas de Informação ou cursos equivalentes.
**Benefícios**:
- Auxilio Creche
- Auxilio Home Office
- CSP Vantagens
- DAYOFF Aniversariante
- Gympass
- Parceria com SESC
- Plano de Saude Sulamerica
- Plano Odonto Unimed
- Vale Alimentação
- Vale Refeição