Security Clearance: Active SC Clearance or SC Eligibility
Location: Predominantly Remote – Occasional Travel May Be Required
We are seeking an experienced Senior Scala Developer to join a large-scale digital services programme.
Key Responsibilities
- Design, develop, maintain and enhance robust applications using Scala.
- Develop and support scalable backend services, APIs and microservices.
- Work on live production services, ensuring system stability, reliability and performance.
- Write clean, efficient, maintainable and well-tested code following software engineering best practices.
- Investigate, troubleshoot and resolve complex technical issues within existing applications.
- Collaborate with developers, technical architects, DevOps engineers, testers and business stakeholders.
- Participate in technical design discussions and contribute to architectural improvements.
- Conduct code reviews and support junior developers through technical guidance and knowledge sharing.
- Develop and maintain automated unit and integration tests.
- Contribute to CI/CD pipelines and automated deployment processes.
- Identify opportunities to improve application performance, security and maintainability.
- Participate in Agile ceremonies and contribute to sprint planning and delivery activities.
- Ensure applications meet required security, quality and operational standards.
Essential Skills and Experience
- Strong commercial experience in Scala development, ideally within complex enterprise environments.
- Excellent understanding of functional programming principles.
- Strong experience developing backend applications, REST APIs and microservices.
- Experience with the Scala Play Framework or similar backend frameworks.
- Strong knowledge of software design principles, clean code and maintainable architecture.
- Experience with automated testing, including unit and integration testing.
- Familiarity with Git, sbt, IntelliJ IDEA and modern development tools.
- Good understanding of CI/CD pipelines and DevOps practices.
- Experience supporting and maintaining production applications or live services.
- Strong debugging, troubleshooting and performance optimisation skills.
- Experience working within Agile/Scrum development environments.
- Familiarity with Linux or macOS development environments.
- Excellent communication, collaboration and problem-solving skills.
- Ability to work independently and effectively within distributed teams.