Engenharia de Software Backend Pleno - Ruby on Rails | RD Station (Remoto)
RD Station - Sourcing · Brazil
About the role
Responsible for implementing scalable and secure backend solutions using Ruby on Rails while ensuring code quality and adherence to team standards. The role involves monitoring production systems, fixing bugs, and collaborating in technical discovery and planning sessions.
What they look for
Requirements
Requires proven experience as a software engineer with proficiency in Ruby, Rails, relational databases, and asynchronous processing. Candidates should be familiar with software engineering best practices, agile methodologies, and API design.
Full description
Seu desafio no time:
No dia a dia, você será responsável por solucionar desafios técnicos complexos com foco em entregas rápidas e geração de valor contínua. Buscamos pessoas com mentalidade prática e orientada a resultados, que valorizem simplicidade, agilidade e a abordagem lean como parte essencial da forma de trabalhar.
Suas principais entregas:
- Implementar soluções técnicas com foco em qualidade, legibilidade e aderência aos padrões definidos pela equipe, contribuindo para a construção de sistemas escaláveis, seguros e sustentáveis;
- Planejar e executar suas entregas com autonomia proporcional ao nível de experiência, mantendo o alinhamento com as prioridades do time e garantindo previsibilidade e confiabilidade no cumprimento dos compromissos assumidos;
- Atuar com responsabilidade sobre os sistemas em produção, monitorando erros, corrigindo bugs e colaborando na manutenção da saúde técnica das aplicações, incluindo jobs assíncronos e filas;
- Participar ativamente de refinamentos, discussões técnicas e planning sessions, contribuindo com ideias, apontando riscos técnicos e ajudando a detalhar as tarefas de forma clara e executável;
- Buscar aprendizado constante por meio de feedbacks, revisões de código e iniciativas de melhoria contínua, demonstrando evolução técnica e autonomia crescente na resolução de problemas;
- Colaborar com o time durante o discovery técnico de novas demandas, propondo alternativas simples e eficientes, alinhadas à arquitetura vigente, e evitando soluções desnecessariamente complexas;
- Manter uma comunicação transparente e respeitosa com o time, compartilhando contexto, levantando dúvidas de forma clara e contribuindo para um ambiente colaborativo e de alta confiança.
Perfil que buscamos:
- Ruby on Rails: familiaridade prática com Rails, seguindo boas práticas de organização de código, convenções do framework e padrões de desenvolvimento orientado a domínio.
- Arquitetura de Software: conhecimento em design de sistemas, modularização e APIs RESTful.
- Práticas de Engenharia de Software: conhecimento de princípios SOLID, design patterns, code review, testes automatizados, refatoração e versionamento de código (Git).
- Programação Ruby: proficiência em Ruby moderno, com capacidade de escrever código expressivo, legível e bem testado.
- Background Jobs e Processamento Assíncrono: familiaridade com filas de processamento assíncrono utilizando Sidekiq, incluindo criação de workers, retentativas e monitoramento de jobs.
- Ciclo de vida de desenvolvimento: participação no fluxo de entrega (discovery técnico, refinamentos, QA e deploy), com crescente autonomia em cada etapa.
- Bancos de dados: familiaridade com bancos relacionais (ex: PostgreSQL), incluindo modelagem de dados e escrita de queries.
- Experiência comprovada como engenheiro(a) de software, atuando com desenvolvimento e sustentação de sistemas backend em produção.
- Participação ativa em projetos de produto digital com entregas significativas em sistemas escaláveis e de alta disponibilidade.
- Experiência prática com Ruby on Rails, atuando na construção e manutenção de aplicações backend em produção.
- Familiaridade com design de APIs, modelagem de dados relacionais e integração entre serviços.
- Vivência com times ágeis, colaborando com PMs, designers e outros engenheiros(as) na construção de soluções orientadas a produto.
- Conhecimento básico de ferramentas de versionamento e CI/CD, com entendimento sobre ambientes de deploy e monitoramento de aplicações.
Será considerado um diferencial:
- Mensageria e Pub/Sub: familiaridade com arquiteturas orientadas a eventos e sistemas de mensageria (ex: Google Pub/Sub, Kafka, RabbitMQ), com entendimento sobre produção e consumo de eventos entre serviços.
- Cloud Computing e DevOps: familiaridade com containers (ex: Docker, Kubernetes) e pipelines de CI/CD.
- Arquitetura escalável e resiliente: conhecimento em event-driven architecture e padrões de resiliência (circuit breaker, backoff).
- Observabilidade e rastreamento de erros: familiaridade com ferramentas como Datadog, Rollbar ou similares para monitorar falhas em produção.
Etapas do processo seletivo:
- Aplicação - Envio da inscrição;
- Mindsight – Teste de estilo de trabalho;
- Talent Acquisition - Entrevista por competência com o time de recrutamento;
- Desafio Técnico – Teste de avaliação de habilidades técnicas;
- Entrevista Técnica - Entrevista técnica para discussão de requisitos da vaga;
- Entrevista Final - Conversa final com a gerência para alinhamento;
- Offer - Fase de conclusão do processo seletivo, com a apresentação da proposta de trabalho.
Obs: Podem ter etapas complementares e/ou alterações, de acordo com a necessidade do processo.