Desenvolvedor Back-end Senior | Remoto

  • Tempo integral
  • São Paulo

Mobiauto

Job description

A Mobiauto é uma empresa do segmento de tecnologia voltada para compra e venda de automóveis. Em menos de um ano tornou-se o terceiro maior classificado de carros online do Brasil, com mais de 350 mil carros anunciados. Fundada em janeiro de 2019, a Mobiauto chegou ao mercado quebrando padrões, seguindo uma tendência dos maiores classificados do mundo.

Um desenvolvedor Java sênior é responsável por projetar, construir e otimizar APIs escaláveis, seguras e performáticas, além de liderar decisões arquiteturais, mentorar a equipe e garantir a excelência técnica alinhada às melhores práticas de desenvolvimento.

Venha fazer parte do nosso time de Mobers!

Let’s Go Futuro Mober

Main responsibilities

Responsabilidades:

  1. Arquitetura e Design de Software
    • Definir a arquitetura de microsserviços e monolitos escaláveis.
    • Escolher soluções mais adequadas ao projeto.
    • Garantir boas práticas de design como DDD, Clean Architecture e SOLID.
  2. Tomada de Decisão Técnica
    • Avaliar impacto de novas mudanças no sistema.
    • Otimizar a estrutura da API para suportar alta carga e escalabilidade.
    • Definir padrões de versionamento e estratégia de compatibilidade.
  3. Mentoria e Liderança Técnica
    • Orientar desenvolvedores plenos e juniores na equipe.
    • Revisar código garantindo qualidade e padrões arquiteturais.
    • Definir diretrizes e boas práticas para desenvolvimento.
  4. Desenvolvimento e Manutenção de APIs
    • Criar, manter e otimizar APIs RESTful usando Java (principalmente com Spring Boot).
    • Implementar controllers, services e repositories seguindo boas práticas.
    • Garantir que os endpoints sigam os princípios REST, incluindo verbos HTTP adequados (GET, POST, PUT, DELETE, etc.).
  5. Tratamento de Erros e Logging
    • Implementar tratamento adequado de erros com códigos HTTP apropriados e mensagens claras.
    • Configurar logging eficiente com SLF4J/Logback para monitoramento e troubleshooting.
  6. Testes e Qualidade de Código
    • Escrever testes unitários (JUnit, Mockito) e testes de integração.
    • Utilizar ferramentas como Postman ou RestAssured para testar endpoints.
    • Garantir a qualidade do código com SonarQube, Checkstyle e Code Review.
  7. Documentação e Versionamento
    • Documentar APIs com OpenAPI/Swagger.
    • Versionar APIs para compatibilidade com clientes antigos.
  8. Manipulação de Dados e Banco de Dados
    • Modelar e gerenciar banco de dados relacionais (PostgreSQL) ou NoSQL (MongoDB, Redis).
    • Escrever queries SQL otimizadas e utilizar ORM (JPA/Hibernate) para manipulação de dados.
  9. CI/CD e Deploy
    • Trabalhar com pipelines de CI/CD (Jenkins, GitHub Actions, GitLab CI).
    • Configurar Docker e Kubernetes para deploy de microsserviços.
  10. Performance e Escalabilidade
    • Melhorar o desempenho da API usando caching (Redis, Ehcache).
    • Implementar estratégias como pagination, lazy loading e otimização de consultas.
    • Desenvolver soluções assíncronas com Spring Async, RabbitMQ, Kafka, etc.
  11. Segurança e Autenticação
    • Implementar autenticação e autorização, como OAuth2, JWT ou Spring Security.
    • Garantir práticas de segurança como validação de entrada, prevenção contra injeção SQL e proteção contra CSRF e XSS.
  12. Comunicação e Trabalho em Equipe
    • Participar de reuniões ágeis (Scrum/Kanban).
    • Colaborar com equipes de frontend, QA e DevOps.
  13. Alinhamento com Negócio
    • Traduzir requisitos do negócio em soluções técnicas eficientes.
    • Trabalhar com Product Owners e arquitetos para definir roadmap técnico.
    • Avaliar riscos e impactos das decisões técnicas no produto final.

Requirements and skills

Requisitos:

Formação acadêmica:

  • Ensino Superior Completo – áreas correlatas de Tecnologia da Informação

Qualificações imprescindíveis:

  • Java (entendimento da linguagem, incluindo orientação a objetos, manipulação de coleções, tratamento de exceções e programação funcional, aplicando boas práticas, arquitetura limpa e padrões de design. Essencial estar integrado com utilização do MAVEN em sua IDE de trabalho preferida.)
  • Ecossistema Spring (configuração de projetos, Spring Core, Spring Data, Spring Security, injeção de dependência, uso de starters, etc.)
  • JPA
  • JUnit / Mockito / Sprint Test
  • APIs RESTful (como implementar APIs RESTful, incluindo uso de verbos HTTP, padrões de design (RESTful), e documentação de APIs (Swagger))
  • GIT (familiaridade com práticas de colaboração em equipe, como pull requests, revisões de código e integração contínua)
  • Banco de dados (conhecimento em bancos de dados relacionais, preferencia PostgreSQL, com noções para aplicação de “tunings” em querys menos performáticas, em ORM (Object-Relational Mapping) com frameworks como Hibernate ou Spring Data JPA).
  • Mensageria (AWS SQS)
  • Boas práticas como Clean Code, SOLID
  • Design Patterns
  • Diferenciais
  • Conhecimentos em Jenkins, ElasticSearch, Rancher, Figma, Clickup, Nexus, Linkerd, Keycloak, Twilio, Slack, Gather

Características pessoais (competências comportamentais)

  • Ótima comunicação oral e escrita;
  • Proativo(a);
  • Responsável;
  • Organizado(a);
  • Atento à prazos;
  • Analítico(a);
  • Ter bom relacionamento entre equipes;
  • Vontade de aprender.

Additional information

Benefícios:

  • Vale Refeição;
  • Vale Alimentação;
  • Vale Transporte;
  • PPR (Avaliação de Desempenho);
  • Convênio médico plano apartamento (Sem desconto mensal + Coparticipação);
  • Inclusão de Dependentes no Convênio Médico sem desconto mensal;
  • Plano Odontológico sem desconto;
  • Desconto de 35% em escola de idiomas;
  • Consignado;
  • GymPass;
  • Day Off Aniversário;
  • Parceria com SESC;
  • Desconto em locação de Veículos pela Movida;
  • Seguro de Vida.

#J-18808-Ljbffr