O nosso time está procurando um profissional experiente para atuar como Engenheiro de Software Sênior em Ruby on Rails.
Descrição do Cargo
Responsável por ajudar no treinamento e mentoria de outros desenvolvedores, participar de discussões de requisitos, arquitetura e design, colaborar na definição da arquitetura com foco na flexibilidade de curto prazo e ganhos sustentáveis de longo prazo, atuar como referência técnica com conhecimento sólido em design e arquitetura de software.
* Projetar, implementar e testar sistemas de alta disponibilidade para processamento de dados de telemetria, incluindo geolocalização, mapeamento e correlação de dados de localização, aplicação de regras com base em geofences (cercas virtuais) para envio de notificações, gestão de relacionamentos comerciais que permitam o compartilhamento de ativos e acesso seguro a interfaces web e APIs;
* Apoiar o time na resolução de problemas e solicitações de clientes;
* Utilizar a base de código atual para aprofundar o conhecimento sobre funcionalidades existentes;
* Implementar soluções com foco em AWS e práticas DevOps;
Habilidades e Experiência Necessárias
Experiência em design e desenvolvimento de APIs, com preferência por conhecimento em GraphQL; experiência sólida com Ruby on Rails (diversas versões); conhecimento desejável em JavaScript, Typescript, Angular, React e Next.js; pelo menos 7 anos de experiência profissional em desenvolvimento de software;
* Experiência com CI/CD, Gitlab, Docker, AWS e PostgreSQL;
* Conhecimento em microserviços, micro frontends, automação de testes e revisão de código;
* Experiência com sistemas transacionais de alto volume;
* Ter trabalhado com tecnologias como Telemática, IoT ou voltadas para veículos será considerado um diferencial;
* Experiência com produtos B2B SaaS;
Pré-requisitos Fundamentais
Experiência sólida com design e desenvolvimento de APIs (GraphQL); conhecimento avançado em Ruby on Rails; capacidade de explicar e aplicar técnicas padrão de programação (OOP, funcional, etc.); capacidade de traduzir preocupações de negócio para o contexto tecnológico; experiência completa no ciclo de vida de aplicações em nuvem (deploy, testes, manutenção); capacidade de avaliar diferentes abordagens arquiteturais (monolito vs microserviços, por exemplo); domínio de versionamento de código (Git); entendimento sobre diferentes mecanismos de armazenamento de dados (PostgreSQL, Redis) e suas vantagens/desvantagens;
],