Back to jobs
FCamara

Arquiteto de Software - Sênior

São Paulo, SP, BrasilPosted 4 weeks ago
hybrid

Job Description

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. 



See Your Match Score

Sign up and Renata will show you how this job matches your skills and experience.

Get Started Free
Arquiteto de Software - Sênior at FCamara | Renata