Cargo: Engenheiro de Software
Responsabilidades e atribuições
Como Software engineer, você vai integrar um squad multidisciplinar com o objetivo de desenvolver soluções técnicas de ponta a ponta, desde as primeiras conversas com os times de produto e design até o monitoramento da funcionalidade em produção. Sua missão será entregar novas funcionalidades e melhorias na nossa plataforma, mantendo o padrão de qualidade técnica e subindo a barra quando possível. Valorizamos a autonomia e a proatividade, pois acreditamos que essas características são fundamentais para o bom funcionamento dos nossos times e da nossa engenharia. Prezamos pessoas antes de processos.
Desafios técnicos
- Implementar mudanças de escalabilidade para suportar cada vez mais usuários (+300 mil usuários ativos por dia).
- Desenhar uma plataforma genérica de gamificação dos nossos produtos.
- Refatoração do sistema de usuários e grupos para melhor atender novos requisitos.
- Desenhar mudanças na plataforma para ela ser mais genérica quanto ao tipo de conteúdo (ex: artigos, notícias…).
- Implementar novas funcionalidades que ajudem nossos usuários a lerem mais livros.
- Implementar testes que nos ajudem a entender o comportamento de nossos usuários.
- Nos ajudar a quebrar nosso monolito em partes menores e mais modulares.
Atividades de apoio à qualidade
- Reviews de código.
- Mentoria de seus colegas.
- Identificação de problemas e melhorias nos nossos códigos e sistemas.
- Proatividade para implementar melhorias nos nossos sistemas.
- Colaboração de conhecimento através de discussões síncronas ou assíncronas.
Nossa stack é centrada em Node.js ;com NestJS, usando APIs REST para a comunicação entre backend e frontend. Os frontends são construídos em Next.js ;(web) e React Native (mobile). No backend seguimos boas práticas modernas de desenvolvimento em Node.js/NestJS, sempre com testes, padrões de projeto e atenção à performance.
Outras tecnologias e sistemas que usamos
- MySQL e PostgreSQL.
- Elasticsearch.
- Redis.
- Datadog.
- SQS para processamento assíncrono e mensageria.
Requisitos e qualificações
- Conhecimento usando e operando bancos de dados relacionais (MySQL, PostgreSQL);
- Experiência trabalhando com servidores web e APIs REST;
- Experiência com testes automatizados de código;
- Processamento assíncrono através de background jobs e/ou mensageria;
- Experiência com aplicações que usam Cloud (ex: AWS, RDS, S3);
- Conhecimento ou interesse em aprender uma linguagem funcional.
Informações adicionais
Seria legal que você tivesse também:
- Experiência com monitoramento e observabilidade de sistemas;
- Conhecimento avançado de monitoramento e observabilidade das soluções.
- Experiência trabalhando com sistemas de fila para comunicação entre múltiplos sistemas
O que você vai encontrar aqui:
- Salário Compatível com Mercado;
- Flexibilidade de horário;
- Autonomia;
- Ambiente de trabalho descontraído e agradável;
- Cultura colaborativa;
- Auxílio creche;
- Vale alimentação ou refeição pago no Caju benefícios;
- Plano de saúde;
- Plano odontológico;
- Crédito Consignado;
- Auxílio Farmácia;
- Wellhub;
- Desconto em universidades e cursos;
- Ambiente seguro para você ser quem realmente é. Não toleramos absolutamente nenhum tipo de discriminação, seja sexual, racial, social, religiosa, etc.
Outras informações importantes para você
Trabalho 100% remoto, com alguns encontros presenciais ao longo do ano no escritório, localizado no Rio de Janeiro.