Job description Somos a Árvore, a plataforma gamificada de aprendizagem que semeia o prazer em aprender. Atualmente, o Brasil é um dos países que menos lê no mundo. São menos de 3 livros anuais por habitante, e no PISA, Programa Internacional de Avaliação de Alunos, o nosso desempenho cai ano após ano. Na Árvore, acreditamos que a leitura é um superpoder que facilita o aprendizado, ajuda no entendimento do mundo e potencializa as habilidades do século XXI. Trabalhamos todos os dias para que cada vez mais alunos tenham acesso à leitura. Atualmente, já impactamos mais de quatro milhões de alunos, e sabemos que podemos ir ainda mais longe. Tecnologia e inovação fazem parte das nossas raízes. Jogamos junto com escolas e famílias no desafio de educar em um dia a dia ultraconectado. Somos plurais e empáticos, nos adaptamos e encaramos os desafios do futuro com curiosidade e entusiasmo. Somos apaixonados por nossos clientes e comprometidos com resultados e entregas melhores todos os dias. Com as nossas soluções, somos vencedores há 9 anos seguidos do prêmio Top Educação e 1a startup brasileira a vencer o GESAwards, maior competição de Edtechs do mundo. Aqui você vai encontrar um ambiente de crescimento, dinâmico e com aprendizados constantes. Esse desafio faz sentido para você? Vem pra Árvore. Main responsibilities 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. Alguns exemplos de desafios técnicos que você pode encontrar no seu dia-a-dia aqui: 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. Além dos desafios técnicos, também esperamos que você ajude a elevar a qualidade técnica da equipe e do nosso código, através de: 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. Quanto à nossa stack, ela é centrada em Elixir e no framework Phoenix, com GraphQL fazendo a comunicação entre o backend e o frontend. Nossos frontends são em React/React Native. Para pessoas mais focadas no frontend, espera-se que também toque faça mudanças pequenas no backend também e para quem tem mais bagagem no backend, espera-se que consigam fazer funcionalidades básicas no frontend. No nosso backend seguimos o paradigma funcional e as diretrizes do Elixir e do Phoenix. Mas se não tiver experiência com a linguagem não tem problema, você vai conseguir aprender tudo aqui com a gente. Normalmente nos primeiros dias a pessoa já consegue abrir PRs e em até 3 meses ela já se sente confortável em codar em Elixir. Outras tecnologias e sistemas que usamos aqui: MySQL e PostgreSQL; Elasticsearch; Redis; Datadog; Oban; SQS. Requirements and skills 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. Additional information 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. J-18808-Ljbffr