O papel de um Engenheiro Sênior de Software é essencial para impulsionar o crescimento e a inovação em nossos sistemas de georastreamento.
Candidates experientes em desenvolvimento de software com foco em Ruby on Rails, design de APIs e linguagens como JavaScript, Typescript, Angular e Next.js estão solicitados.
Responsabilidades
* Ajudar no treinamento e mentoria de outros desenvolvedores, mantendo uma abordagem colaborativa e contínua aprendizagem;
* Participar de discussões de requisitos, arquitetura e design, aplicando conhecimentos sólidos em programação orientada a objetos (OOP) e funções;
* Colaborar na definição da arquitetura com foco na flexibilidade curta e ganhos sustentáveis a longo prazo;
* Atuar como referência técnica com conhecimento profundo em design e arquitetura de software;
* Desenvolver e implementar sistemas de alta disponibilidade para processamento de dados de telemetria, incluindo geolocalização, mapeamento e correlação de dados de localização, além de aplicações de regras com base em geofences para envio de notificações;
* Apoiar o time na resolução de problemas e solicitações dos clientes;
* Utilizar a base de código atual para aprofundar o conhecimento sobre funcionalidades existentes e implementar soluções com foco em AWS e práticas DevOps;
Conhecimentos e Habilidades 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 em 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);
* Dominio de versionamento de código (Git);
* Entendimento sobre diferentes mecanismos de armazenamento de dados (PostgreSQL, Redis) e suas vantagens/desvantagens;
* Vivência com sistemas baseados em mensagens (bus, streaming, pub/sub);
* Experiência com metodologias ágeis (Agile/Lean);
Diferenciais
* Experiência com softwares GIS como PostGIS, shapefiles, KML, MapServer, OpenLayers;
* Conhecimento em desenvolvimento IoT;
* Experiência com Kubernetes (EKS) e serviços AWS;
* Background com dispositivos GPS ou sistemas embarcados;
* Experiência com Docker, Kafka, Resque, serviços RESTful;
* Conhecimento em infraestrutura como código (Terraform, Terragrunt);
A posse de habilidades avançadas em Ruby on Rails, design de APIs e ferramentas como GraphQL, Docker, Kubernetes e Terraform serão pontos importantes no processo seletivo. Além disso, experiência com tecnologias específicas como Telemática, IoT ou sistemas embarcados pode ser valorizada nos candidatos qualificados.
A oportunidade oferece a chance de contribuir com sua expertise para melhorar e expandir as capacidades dos sistemas em questão, garantindo que os resultados estejam alinhados aos objetivos do projeto.