Descrição
A FCamara está em busca de um(a) profissional que possua um forte conhecimento técnico em desenvolvimento de software, especialmente em C\#, e que seja capaz de aplicar esse conhecimento para projetar e implementar soluções de alta qualidade, escaláveis e seguras. A capacidade de comunicação, colaboração e resolução de problemas também são essenciais para o sucesso nesta função.
**Responsabilidades e atribuições** **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.
➢ Definir como os componentes se comunicam (protocolos, formatos de mensagem, etc).
➢ Escolher ferramentas de integração adequadas e suas responsabilidades.
➢ Implementar autenticação, autorização e criptografia (segurança).
➢ Implementar mecanismos de proteção contra ataques (WAF, etc).
➢ Analisar a qualidade da divisão do sistema em partes menores e gerenciáveis.
➢ Abstrair e segregar responsabilidades entre as camadas.
**Implementação:**
➢ Garantir a aderência às boas práticas de desenvolvimento (Solid, Clean Code, etc).
➢ Escrever código legível, organizado e de fácil manutenção.
➢ Utilizar a linguagem C\# de forma eficiente.
➢ Implementar testes com boa cobertura, qualidade e relevância.
➢ Cumprir os requisitos técnicos obrigatórios.
➢ Atender aos requisitos de negócio.
**Documentação e Apresentação:**
➢ Documentar a arquitetura de forma clara e concisa.
➢ Criar diagramas que representam a arquitetura.
➢ Justificar as decisões arquiteturais.
➢ Definir os fluxos de dados.
➢ Escrever instruções claras e detalhadas de como a aplicação funciona e como rodar localmente (Readme).
➢ Centralizar documentações.
➢ Descrever possíveis melhorias ou expansões do sistema.
➢ Demonstrar capacidade de visão e planejamento a longo prazo.
➢ Discutir trade\-offs e desafios enfrentados durante o desenvolvimento.
**Diferenciais e Boas Práticas:**
➢ Garantir que o código seja executado de forma local e sem erros.
➢ Utilizar estratégias de Docker e Docker Compose.
➢ Implementar pipeline automatizada (CI/CD).
➢ Utilizar estratégias de IaC (Infraestrutura como Código).
➢ Realizar estimativas de custos.
**Habilidades Comportamentais Desejáveis:**
➢ Proatividade ➢ Pensamento analítico
➢ Orientação a resultados
➢ Colaboração
➢ Adaptabilidade
➢ Aprendizado contínuo
**Requisitos e qualificações** **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.
**Informações adicionais** **Aqui somos \#SangueLaranja!**
Estamos há 17 anos no mercado, lado a lado com nossos clientes, proporcionando experiências transformadoras.
Somos um ecossistema de tecnologia e inovação, com expansão global; Além do Brasil estamos presentes na Europa e Reino Unido com escritórios em Portugal, Londres, Dubai e Holanda.
**F de Formação: acreditamos na prática da cultura do compartilhamento, no senso de comunidade, e que o conhecimento**
**tem o poder da transformação!**
Possuímos iniciativas, e ações sociais, que promovem o desenvolvimento, como a comunidade tech Orange Juice, o Programa de Formação,
nossa escola de liderança e diversas parcerias com ONGs e Edtechs.
**Na FCamara todos são bem\-vindos, para nós, Diversidade, Respeito e Ética, são elementos inegociáveis e fazem parte do nosso DNA.**
**E aí, está pronto para fazer parte de um time incrível e ser protagonista da própria história?**