About This Role
This role focuses on building and maintaining scalable backend services that support complex product workflows, integrations, performance improvements, and ongoing platform modernization for a large-scale, cloud-based enterprise product. The developer will join the HCM Localisation engineering team.
Responsibilities
- Design, develop, and maintain robust backend services using Scala 2.13 and Play Framework in a Pekko-based environment
- Build clean, testable, and maintainable code using functional programming principles, immutability, pattern matching, and asynchronous programming with Futures
- Work with MySQL to design efficient data access patterns, optimize queries, tune indexes, and profile database performance
- Develop, deploy, and support services in AWS, working closely with DevOps and platform teams to ensure reliable delivery
- Contribute to CI/CD pipelines, Git-based pull request workflows, code reviews, and engineering best practices
- Collaborate with frontend engineers, QA, product owners, solution designers, and other backend developers to deliver high-quality product increments
- Support production stability by investigating issues, improving observability, and continuously reducing technical debt
Requirements
- Professional backend development experience, ideally in enterprise, SaaS, or cloud-based product environments
- Strong hands-on experience with Scala, including collections, Futures, immutability, pattern matching, error handling, and clean functional design
- Commercial experience with Play Framework or comparable JVM backend frameworks; Pekko or Akka experience is highly relevant
- Strong understanding of relational databases, especially MySQL, with practical knowledge of SQL optimization, indexes, query profiling, and transaction behaviour
- Experience using Redis or similar technologies for caching, session handling, or performance-sensitive workloads
- Deep understanding of OOP principles, functional programming, concurrency, the Scala type system, and advanced architectural patterns (e.g., Tagless Final, type classes, effect systems)
- Ability to design and evolve complex distributed systems while promoting engineering best practices across the team
- Hands-on experience with AWS services and cloud-native delivery practices
- Good understanding of CI/CD, Git, branching strategies, pull request flows, automated testing, and release practices
- Ability to work effectively in distributed Agile teams, communicate clearly, and take ownership of complex technical problems
Nice to have:
- Experience with Squeryl, Doobie, or similar Scala data access libraries
- Familiarity with Grafana or Kibana dashboards, alerting, logging, and production observability practices