The Role
The Principal Software Engineer – Java will play a pivotal role in designing, developing, mentoring and maintaining high-performance IT system for Hapag-Lloyd. The role requires deep expertise in Java and microservices-based architecture, along with a strong focus on code quality, performance, and scalability. The ideal candidate will be a passionate engineer who thrives in a Java development agile environment and brings a solution-oriented mindset to collaborative product development.
As a senior technical expert, you will be responsible for low-level and high-level architectural design, mentoring developers, and working closely with team in Hamburg & Chennai. The ideal candidate is a passionate, solution-oriented engineer with a proven track record in leading technical projects within an agile environment.
Key Responsibilities & Tasks
Software Development & Design
Design and develop scalable, reliable, and high-performance applications using Java, JPA, Kafka, Microservices, Junit, API and PostgreSQL.
Lead low-level and high-level design discussions and decisions for scalable architecture.
Build and maintain microservices architecture using industry best practices.
Drive technology innovation.
Write clean, efficient, well-documented code with high unit test coverage using JUnit.
Mentorship
Mentor and guide developers and team members in coding standards, best practices, and problem-solving.
Conduct regular code reviews, peer programming, and provide technical leadership to ensure code quality and continuous improvement.
Systems Integration & Tools
Work with messaging systems such as Kafka to build real-time data processing services.
Implement and optimize data access using SQL /PostgreSQL databases.
Participate in the design and implementation of DevOps pipelines for CI/CD.
Quality, Testing & Documentation
Conduct regular code reviews and participate in peer programming and Peer coding Review.
Perform system testing, validation, and verification across development stages.
Contribute to technical documentation throughout the software development lifecycle.
Agile Collaboration & Continuous Improvement
Collaborate closely with Product Managers, Engineering Managers, Scrum Masters, and developers in agile teams.
Participate in sprint planning, retrospectives, and demos.
Remain current on new technologies and drive adoption of best engineering practices across the team.
Behaviours & Approach
Strong analytical and problem-solving skills
Team-oriented with excellent communication and collaboration skills
Passion for clean code, architecture, and continuous learning
Ability to work independently with a proactive approach to problem-solving
Work Experience:
- 7–10 years of hands-on experience in development using Java, JEE, JPA, JUnit, Kafka, and Microservices.
- Good Experience in AWS.
- Strong experience in architectural design – both low-level and high-level.
- Experience building distributed systems and working in microservices-based architecture.
- Proficient with Kafka and message-driven architecture.
- Strong experience with relational databases (e.g., PostgreSQL).
- Sound understanding of modern DevOps practices, including CI/CD pipelines, containerization, and cloud deployment.
- Experience working in Agile/Scrum-based teams with exposure to software lifecycle tools (e.g., Git, Jenkins, JIRA)
Technical Skills
Java, JEE, JPA, JUnit, Microservices
Kafka (Desired), REST API development
SQL, PostgreSQL
Git, Maven, Jenkins (Desired),
Familiarity with Docker, Kubernetes, and cloud platforms (eg. AWS)
Education & Qualifications
Bachelor’s degree in computer science, Engineering, or related discipline