Desenvolvedor(a) Java Sênior | Sistemas Distribuídos e Programação Reativa
Your tasks
- Design, develop, and maintain distributed backend services using modern Java versions, particularly Java 17 and Java 21, and the Spring Boot framework.
- Build reactive and asynchronous applications using technologies such as Project Reactor or RxJava to improve responsiveness, throughput, and resource utilization.
- Optimize application performance, scalability, reliability, and resource efficiency across complex distributed environments.
- Design and implement service-to-service communication using gRPC and Protocol Buffers (Protobuf).
- Develop and maintain event-driven architectures and asynchronous messaging solutions using Apache Kafka.
- Leverage AWS cloud services to support the deployment, scalability, and operation of backend applications.
- Implement and optimize concurrency and multithreading strategies to support high-throughput processing and efficient resource management.
- Develop and maintain automated testing suites using JUnit, Mockito, and AssertJ to ensure code quality and system reliability.
- Work with data storage and caching technologies, including Redis, PostgreSQL, and MongoDB, selecting and optimizing solutions according to application requirements.
- Contribute to architectural decisions, system integrations, and complex technology modernization initiatives.
- Improve CI/CD pipelines and development workflows to support reliable, automated software delivery.
- Collaborate with engineering teams to establish development standards, promote best practices, and continuously improve software architecture and engineering processes.
Requirements
- Extensive professional experience in Java backend development, including strong proficiency in Java 17 and/or Java 21 and Spring Boot.
- Solid knowledge of reactive programming principles and hands-on experience with Project Reactor or RxJava.
- Practical experience with gRPC and Protocol Buffers for efficient communication between distributed services.
- Experience implementing event-driven architectures and messaging solutions with Apache Kafka.
- Familiarity with AWS and cloud-based application development, deployment, and operations.
- Strong understanding of concurrency, multithreading, asynchronous processing, and performance optimization.
- Hands-on experience with automated testing frameworks and libraries, particularly JUnit, Mockito, and AssertJ.
- Experience working with Redis and relational or NoSQL databases, including PostgreSQL and MongoDB.
- Strong understanding of distributed systems architecture, scalability, resilience, fault tolerance, and system integration.
- Experience with CI/CD pipelines, automated build processes, and modern software delivery practices.
- Advanced conversational proficiency in both English and Spanish is mandatory, including the ability to independently lead and participate in meetings in either language.
- Strong analytical and problem-solving abilities, with the capacity to investigate complex technical issues and make sound architectural decisions.
- Excellent communication and collaboration skills, with the ability to work effectively with cross-functional and international teams.
- A proactive mindset and commitment to code quality, continuous improvement, and modern software engineering practices.
Nice to have
- Experience with Python and Apache Arrow.
- Familiarity with GitHub Actions or TeamCity for continuous integration and delivery.
- Experience planning and executing complex technology migrations.
- Knowledge of Docker Multi-Arch and multi-platform container image builds.
What we offer
- Location: São Paulo, Brazil.
- Senior-level technical responsibilities: Opportunity to contribute to critical platforms and complex distributed systems.
- Modern technology stack: Work with Java 17/21, Spring Boot, reactive programming, Kafka, AWS, gRPC, and cloud technologies.
- Architecture and innovation: Participate in technological modernization initiatives and help shape scalable backend solutions.
- Engineering excellence: Contribute to automated testing, CI/CD improvements, and best practices across the software development lifecycle.
- International collaboration: Use English and Spanish in a professional environment while working with distributed technical teams.
- Professional development: Expand your expertise in cloud computing, high-performance applications, reactive programming, and distributed architectures.
How to apply
How Jobgether works We use an AI-powered matching process to ensure your application is reviewed quickly, objectively, and fairly against the role's core requirements. Our system identifies the top-fitting candidates, and this shortlist is then shared directly with the hiring company. The final decision and next steps (interviews, assessments) are managed by their internal team. We appreciate your interest and wish you the best! Why Apply Through Jobgether?
Other
Data Privacy Notice: By submitting your application, you acknowledge that Jobgether will process your personal data to evaluate your candidacy and share relevant information with the hiring employer. This processing is based on legitimate interest and pre-contractual measures under applicable data protection laws (including GDPR). You may exercise your rights (access, rectification, erasure, objection) at any time.