Software migration Engineer
Role details
Job location
Tech stack
Job description
For a large-scale platform team within a global digital environment, we are looking for a Core Software Engineer to lead high-impact modernization initiatives. You will work on transforming legacy systems into scalable, cloud-native services that support a complex partner ecosystem with high traffic and strict reliability requirements. In this role, you combine hands-on engineering with architectural ownership. You will be deeply involved in re-architecting services, modernizing frameworks, and improving data access patterns while ensuring stability during complex migrations. Responsibilities You will lead the end-to-end refactoring of a core Partner Management service, migrating legacy database integrations such as Partnerships, Office, and Finance from DBI-based access to JOOQ. You will drive the migration from Dropwizard to Spring Boot 3.x, ensuring seamless redeployment and infrastructure alignment. A key part of the role is system decoupling. You will eliminate direct database access from approximately 30 Perl scripts and multiple Java services, routing all traffic through modern API endpoints. You will manage the lifecycle of legacy endpoints, coordinate client migrations, monitor traffic, and safely decommission obsolete code. You are responsible for maintaining a clean and sustainable architecture with over 80 percent test coverage. You will ensure reliability using feature flags, proactive monitoring, and clearly defined SLIs and SLOs.
Requirements
You have at least three years of professional Java experience and solid backend engineering expertise. Experience with Spring Boot is strongly preferred. You have a strong understanding of relational databases such as MySQL or PostgreSQL and hands-on experience with JOOQ or similar database mapping tools. You have proven experience refactoring legacy systems, migrating frameworks, or decomposing monolithic data access layers. Familiarity with PII encryption, transaction management, and reading or migrating Perl scripts to Java-based API calls is a strong plus. You are comfortable designing batch operations and caching strategies, reducing HTTP overhead in distributed systems, and collaborating with multiple service owners. Strong English communication skills are essential.