Senior Java Developer
About the Opportunity
Our client is an established, product-driven technology company delivering high-performance, scalable digital platforms across international markets. Their engineering teams build robust, distributed systems designed for reliability, performance, and long-term scalability.
They are currently expanding their backend engineering function and are looking for a Senior Java Developer to join a cross-functional Scrum team working on complex, high-throughput systems.
This is a fully remote position within Portugal.
The Role
The Senior Java Developer will play a key role in designing, developing, and maintaining scalable Java-based solutions within a microservices architecture.
Working closely with architects, developers, QA engineers, and product stakeholders, this individual will contribute to building state-of-the-art backend systems while mentoring more junior engineers and promoting engineering best practices.
Key Responsibilities
Software Development
- Design, develop, test, and deploy robust Java applications
- Contribute to scalable, distributed systems architecture
Code Quality & Best Practices
- Write clean, maintainable, and efficient code
- Promote TDD and engineering best practices
- Contribute to and participate in structured code reviews
Technical Analysis & Problem Solving
- Troubleshoot complex technical issues
- Propose and implement performance and scalability improvements
Collaboration
- Work within cross-functional Agile teams (Scrum/Kanban)
- Collaborate with architects and stakeholders on solution design
- Support and mentor less experienced engineers
Security & Performance
- Implement security best practices
- Optimise system performance and reliability
Documentation
- Produce and maintain clear technical documentation
Technology Stack
- Java 8+
- Spring & Spring Boot
- Microservices architecture
- Kafka / RabbitMQ (event-driven systems)
- JDBC, JDBI, ORM tools
- PostgreSQL & relational databases
- NoSQL databases
- Cloud environments (e.g., AWS)
- Monitoring tools (e.g., Dynatrace)
Required Skills & Experience
- Strong experience with Java (SE & EE)
- Solid understanding of Java concurrency
- Experience building distributed systems
- Proficiency with messaging technologies (AMQP, JMS, Kafka, etc.)
- Strong experience with MVC frameworks
- Deep knowledge of Spring & Spring Boot
- Proficiency in SQL
- Experience designing and consuming REST APIs
- Strong understanding of Clean Architecture principles
- Experience writing automated unit and integration tests
- Strong knowledge of OOP, design patterns, and multi-threaded applications
- Experience with Git or similar version control systems
- Strong English communication skills