Descrição da vaga
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.
Descrição da vaga
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.
Transformamos mundos sonhados em trajetórias reais.
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?