About the role
The engineer owns end-to-end migration of a suite of Health Profile microservices — starting with the shared library upgrade and progressing through individual services — covering Scala 2.11 to 2.13, Play 2.5 to 2.9, Java and SBT upgrades, along with ReactiveMongo driver updates, Dockerization, and cloud platform deployment configurations. Java knowledge alongside Scala is highly desirable. Strong hands-on experience with GitHub Actions CI/CD pipelines, MongoDB cloud migration, New Relic APM instrumentation, and Grafana/Prometheus dashboards is essential. The engineer will build and execute domain-specific load tests proving service readiness at 5–10 million member scale. A post-migration optimization step involves consolidating fragmented microservices into a unified service. An AI-native approach to development, migration, and debugging is a baseline expectation for this role
Key Responsibilities
CategoryWhat the Engineer OwnsShared Library FirstUpgrade the core shared library to Scala 2.13 / Play 2.9 as the first and highest priority task — all downstream services are blocked on thisService UpgradesUpgrade all Health Profile category services from Scala 2.11 / Play 2.5 / SBT 0.13 to Scala 2.13 / Play 2.9 / SBT 1.x; upgrade ReactiveMongo driver to Scala 2.13-compatible versionPlatform DeploymentCreate Dockerfile, platform config file, and GitHub Actions workflow per service; configure service definitions, secrets, and health probes following an already-migrated reference service as the patternRegistry & Connectivity MigrationMigrate package resolution from legacy artifact repository to GitHub Package Registry; migrate MongoDB connectivity from on-prem to cloud clusterObservabilityInstrument all Health Profile services with APM; build permanent per-service engineering dashboards covering health, alerting, and performance — including scale readiness indicatorsScale ReadinessOptimize all services to sustain 5M+ member load; build and execute domain-specific load tests per service; identify and resolve all performance bottlenecks before the platform-wide load test gatePost-Migration ConsolidationAfter all services are live in production, consolidate the fragmented microservices into a single unified service — improving operational simplicity without disrupting functionality
Skill Requirements
AreaWhat We NeedExperienceCore Language & FrameworkScala
2.11 → 2.13 migration experience
Collections API redesign, implicits handling, cross-compilation, shared library upgrades5+ yearsPlay Framework
Used as REST API layer — not UI
2.5 → 2.9 migration, dependency injection overhaul, routing DSL, JSON handling4+ yearsSBT0.13 → 1.x build definition migration, multi-project builds, plugin management3+ yearsAkkaAsync concurrency model underlying Play; actor patterns and execution context management3+ yearsJava / JVM
Highly desirable alongside Scala
JVM internals, interoperability with Scala codebases, library compatibility awareness2+ yearsData LayerMongoDBQueries, indexes, connection pooling, on-prem to cloud cluster migration, data integrity validation3+ yearsReactiveMongo
Scala async MongoDB driver
Driver version upgrades across major API changes, async query patterns, compatibility with Scala 2.132+ yearsBuild, CI/CD & DeploymentDockerDockerfile authoring for JVM/Scala services, base image usage, container packaging for cloud deployment3+ yearsGitHub ActionsCI/CD pipeline authoring, package registry migration from legacy artifact repository, automated build and test workflows2+ yearsDependency Management
Cross-compilation & shared libraries
Managing shared library dependencies across multiple services; cross-compilation targets; artifact registry migration3+ yearsCloud PlatformCloud PaaS (Internal)
AWS-based internal platform
Service config DSL, service creation, secrets management, health probe configuration, deployment definitionsTrainable on platformObservability & PerformanceNew Relic APMService instrumentation, custom engineering dashboards, transaction tracing, alerting configuration2+ yearsGrafana / PrometheusInfrastructure dashboards, PromQL queries, alerting rules, scale readiness monitoring2+ yearsLoad Testing
Gatling preferred
Build and execute domain-specific load tests; prove service readiness at 5–10 million member scale before go-live gate2+ yearsTesting & QualityScalaTest / ScalaMockUnit and integration testing for Scala services; test suites passing clean in CI/CD pipeline post-migration3+ yearsAPI Testing
Newman / Postman
Automated REST API validation post-migration; collection-based regression testing integrated into CI1+ yearAI ToolingAI-Native Development
KIRO / Agentic IDE
Active daily use of AI tools for code migration, debugging, test generation, and code analysis accelerationMandatory