Senior Software Developer at CTM, corporate travel management industry
About CTM
CTM is a global award-winning provider of innovative and cost-effective travel management solutions to the corporate, events, leisure and loyalty travel markets. CTM provides personalised service excellence with client-facing technology solutions in offices all around the world, including New Zealand, Australia, Asia, North America and Europe with over 3000 employees and growing.
At CTM, our people are our greatest asset. We are a team of collaborative, innovative and future-focused professionals we work with the company's values in mind; Connect, Deliver and Evolve.
About the Role
As a Senior Java Developer, you will lead the design, development, and modernisation of complex software systems using Java and advanced frameworks. You will play a pivotal role in platform modernisation efforts, utilising the strangler migration pattern to transition legacy systems to modern, cloud-native architectures on AWS. Collaborating with cross-functional teams, you will deliver robust, scalable solutions, and mentor team members to ensure technical excellence. Experience with Kotlin would be highly advantageous.
Key Responsibilities
- System Design and Development : Architect and implement high-performance, scalable applications using Java, Spring Framework, Spring WebFlux, Spring Cloud, JOOQ, Spring R2DBC, and Liquibase. Incorporate Kotlin where applicable to enhance development efficiency.
- Platform Modernisation : Lead platform modernisation initiatives using the strangler migration pattern to incrementally replace legacy systems with modern, cloud-native solutions.
- Event-Driven Architecture : Design and develop event-driven systems using Kafka and Debezium for real-time data streaming and integration.
- Microservices and Orchestration : Build and deploy microservices using Kubernetes, Docker, and Istio for service mesh management.
- Authentication and Authorisation : Implement secure authentication and authorisation mechanisms using Keycloak.
- Workflow Automation : Utilise Conductor OSS to design and manage complex workflows for business processes.
- Data Management : Leverage Redis for caching and high-speed data access, ensuring optimal application performance.
- Performance Monitoring : Use New Relic to monitor application performance, identify bottlenecks, and optimise system efficiency.
- Code Quality and Reviews : Write clean, maintainable, and well-documented code in Java and potentially Kotlin, and conduct thorough code reviews to ensure quality, security, and adherence to standards.
- Collaboration : Work closely with Product Manager, Business Analysts, Architects, and ITS teams to define technical requirements and deliver robust solutions.
- Mentorship : Provide technical guidance and mentorship to junior developers, fostering a culture of continuous improvement.
- Troubleshooting : Identify and resolve complex technical issues, ensuring system reliability and performance.
Skills & Experience
- 7+ years of professional Java development experience.
- Hands-on expertise with Spring Framework, Spring WebFlux, Spring Cloud, JOOQ, Spring R2DBC, and Liquibase.
- Proven experience with Kafka and Debezium for event-driven architectures.
- Solid knowledge of Kubernetes, Docker, and Istio for containerised deployments and service mesh.
- Experience implementing Keycloak for authentication and authorisation.
- Proficiency with Conductor OSS for workflow orchestration.
- Hands-on experience with Redis for caching and data management.
- Demonstrated success in platform modernisation using the strangler migration pattern.
- Extensive experience with AWS services (e.g., EC2, ECS, EKS, Lambda, S3, RDS) for building and deploying cloud-native applications.
- Proficiency in using New Relic for application performance monitoring, diagnostics, and optimisation.
- Experience with Kotlin is highly desirable, particularly in building modern, concise, and interoperable codebases alongside Java.
- Education: Bachelor's degree in Computer Science, Software Engineering, or a related field (or equivalent experience).
Technical Skills
- Expertise in designing and building RESTful and reactive APIs using Spring WebFlux.
- Strong understanding of microservices architecture and cloud-native development on AWS.
- Proficiency with database technologies (SQL, NoSQL) and reactive data access using Spring R2DBC.
- Experience with CI/CD pipelines, Git version control, and DevOps practices.
- Familiarity with modern software development methodologies (Agile, Scrum).
Soft Skills
- Excellent problem-solving and analytical skills.
- Strong communication and collaboration abilities.
- Ability to lead and mentor technical teams.
- Proactive, detail-oriented, and self-motivated.
#J-18808-Ljbffr
📌 Senior Software Developer
🏢 Corporate Travel Management
📍 Australia