We are looking for a versatile and highly skilled Senior Migration Engineer to lead the end-to-end transformation of microservices from IBM App Connect Enterprise (ACE) to a modern, clean architecture built on Java and Spring Boot. In this role, you will combine deep expertise in IBM integration platforms (ACE/MQ) with strong Java Spring Boot development skills grounded in hexagonal architecture principles.
You will own the complete migration lifecycle — from analyzing legacy systems and designing target architectures to writing production-grade code, ensuring quality, and configuring deployments in Azure DevOps with Kubernetes. This position requires a high degree of autonomy and the ability to make sound technical decisions at every stage of the process.
Responsibilities
- Analyze existing ACE artifacts by classifying flows, contracts, libraries, and schemas (XSD, WSDL, DFDL), and creating a complete inventory of all components targeted for migration
- Examine business logic implemented in ESQL — including transformations, conditional routing, MQ header access (MQMD, RFH2), exception handling, and UDP variables — documenting the Java equivalent for each function
- Develop the complete Java implementation of the migrated microservice, covering the domain layer (DTOs, gateways, use cases), driven adapters, and entry points (MQ listeners, reactive handlers)
- Verify functional parity by comparing ACE flows against Java handlers, ensuring that every operation, message format, and external system integration has a fully implemented equivalent
- Design and execute application testing using Karate and JMeter
- Manage source control and versioning with Git
- Build, run, and deploy services through Azure DevOps CI/CD pipelines
- Monitor and stabilize services running on Kubernetes clusters
Requirements
- 3+ years of professional experience in integration and backend development roles
- Solid understanding of IBM ACE, including project structure, artifact types, standard nodes, and runtime policies
- Experience with common message formats such as XML/SOAP, JSON, and BLOB
- Working knowledge of IBM MQ, including MQMD and message correlation
- Proficiency in Java 21 and Spring Boot, with hands-on experience in Spring WebFlux and Project Reactor (Mono/Flux)
- Strong grasp of Clean Architecture principles: layer separation, ports and adapters, and inversion of control
- Experience with Kubernetes, including ConfigMaps, Secrets, and YAML manifests (Deployment, Service, Ingress/Gateway, HPA)
- Familiarity with Azure DevOps, including Variable Groups, Release Definitions (JSON), service connections, and pipeline stages
- Proficiency with k9s and kubectl for diagnostics
- Ability to read Grafana dashboards and analyze system metrics
- Exposure to AWS services such as Secrets Manager, Load Balancers, EKS, ECR, and EC2, with a solid grasp of core cloud concepts
- Understanding of observability concepts — metrics, logs, traces, OpenSearch — and impact analysis
- Foundational knowledge of CI/CD practices and cloud deployments
- Strong analytical thinking, technical documentation skills, and effective communication
- Proficiency in English at an Upper-Intermediate level (B2) or higher
Nice to have
- Demonstrated ability to work methodically and autonomously — capable of receiving the ACE source code for a service and independently delivering a deployable Java microservice, complete with tests, passing quality gates, and a fully configured Azure DevOps pipeline
- Sound judgment in making and documenting architectural decisions, identifying functional gaps before they reach production, and communicating blockers clearly
- Experience working in banking or fintech Kubernetes environments with multiple stages (DEV/CERT/PROD)
- Hands-on experience with AI-assisted development tools such as GitHub Copilot, Cursor, Claude, or ChatGPT for ESQL analysis and Java code generation
- Ability to craft technical prompts that automate the transformation of ACE artifacts into Spring Boot components