Java Software Engineer
Job Summary
The Java Software Engineer will focus on developing high-quality software components using Java 11+ and Spring Boot in a Scrum environment. The role involves designing secure REST interfaces, managing messaging systems like Kafka, and advocating for automated testing. You will collaborate with a global team to maintain architecture principles and ensure robust, high-performance delivery.
Responsibilities
- Develop Java software components using modern practices
- Design and build secure REST interfaces
- Implement and maintain high-performance messaging systems
- Conduct automated software testing for robust code
- Manage project deadlines and communicate technical risks
Required Skills
- Java 11+, Spring Boot, and OOD
- Kafka, JMS, and messaging systems
- Docker, Kubernetes, and Linux
- Oracle DB, Jenkins, JUnit, Mockito
- TDD and architecture principles
Job Details
Responsibilities:
- Develop Java software components using modern practices, with a focus on Scrum-based, high levels of process monitoring, and automation.
- Design and build secure REST interfaces, ensuring adherence to best practices.
- Implement and maintain messaging systems with a focus on high performance and reliability.
- Conduct and advocate for automated software testing techniques to ensure robust and reliable code.
- Manage project deadlines, communicate risks and blockers effectively to the project manager, and proactively resolve or delegate issues.
- Engage with the global development community, presenting and defending technical solutions.
- Contribute to the understanding and application of architecture principles within the team.
- Seek out and apply high-quality development practices to enhance user trust and reduce costs.
Required Qualifications:
- Proven expertise in Java 11+, Spring Boot, and Object-Oriented Design.
- Extensive experience with messaging systems, Kafka, and JMS.
- Proficiency in secure REST interface design and automated software testing.
- Familiarity with Docker, Kubernetes, Linux, and the Web packaging stack.
- Hands-on experience with Oracle databases, Jenkins, JUnit, and Mockito.
- Strong understanding of architecture principles and Test-Driven Development (TDD).
- Excellent communication skills, with the ability to engage with and influence a global team.
- Experience with IntelliJ IDE.
- European Union Citizenship or Portuguese Working Visa / Portuguese Residency.
- Availability to go to the office, once or twice per week.