Senior Developer - HM Courts and Tribunals Service - G7
- England
- Permanent
- Full-time
- Java to write our backend services
- Node.js and Angular to write our frontend services
- Power Platform for low-code development
- Jenkins for deployment
- Dynatrace for application monitoring
- Kubernetes and Docker to run our services
- Azure for most of our infrastructure
- Postgres and Redis as our databases.
- GOV.UK Design System for our web interfaces
- Macs to do all the above
- In addition, we use a range of other technologies and continue to evolve by employing new technologies that help us deliver better services to our users
- Write, amend, refactor and document code to build complex programs/scripts, and as required leading on these activities. Adhere to internal process and procedures, promoting and advising others which software development standards, processes & procedures apply.
- Constantly seek to learn and further develop your skills as required for your role. Monitor changes in the tech stack you use and alert on any major changes affecting our software. Adhere to industry's best practices, produce well-engineered modern products and guide others to do so in a highly competent manner.
- Ensure that products are secure, engineered to mitigate security threats and have the necessary security controls in place. Ensure that information is handled with confidentiality and integrity, and that products are compliant. Identify and raise risks and support Information Assurance activities.
- Support and maintain software as required, including in the live environment. Use modern tools to effectively and thoroughly identify, troubleshoot and fix faults. Package and deploy software built. Some activities may be outside the core office hours (in-line with the organisation's policy for OOH).
- Plan the development on sets of related stories and coordinate integration tasks across systems. Contribute to selection of the software development approach (plan-driven, iterative/agile etc.) for projects. Identify process optimisation opportunities with guidance and support activities to improve the development process. Choose the most appropriate from a variety of methods of prototyping, actively solicit prototypes with others.
- Define, analyse, plan, forecast, measure, maintain and improve all aspects of the availability of services. Control and manage service availability to meet the needs of the business in a cost-effective manner. This includes managing the capability, functionality and sustainability of service components (for example, hardware, software, network resources and software/infrastructure as a service).
- Define the integration build. Coordinate build activities across systems and undertake and support integration testing activities.
- Take a test-driven approach to software development, write complex automation test scripts and participate in testing. Participate in code reviews of own work and leads code reviews of colleagues' work.
- Guide and advise others on technical areas you have expertise in, modern development standards and approaches to understand user stories. Coach and mentor more junior colleagues. Lead on and participate in recruitment as required.
- Participate in and lead on procurement activities as required.
- Translate user stories to a proposed design and develop software to meet user needs. Collaborate with user researchers, represent users internally and champion user research to focus on all users.
- The post holder may be expected to travel between sites, for meetings, events etc as and when required.
- Sound knowledge in one programming language for development of enterprise and public facing applications, ideally in our core stack (Java and JavaScript).
- Sound knowledge of HTTP, at least one web development framework (for example Spring or Angular) and at least one RDBMS (e.g. PostgreSQL)
- Sound knowledge in a wide range of technologies and libraries used in an enterprise, such as logging and monitoring, ORM, authentication/authorisation, cloud hosting environments, systems integration, source control, package management etc.
- Experience of mentoring, coaching or leading other developers
- Experience of working with modern tools and techniques
- An understanding of common security issues and how to mitigate them
- You will also want to make a positive impact on the communities we serve
- You are looking for new technical and leadership challenges
- You thrive when you work as part of a team
- You enjoy learning and helping others
- You hold yourself and others to a high standard
- You solve problems in a systematic way
- GDD Skill 1 – Service Support
- GDD Skill 2 – Programming and Build
- GDD Skill 3 – Systems Design
- GDD Skill 4 – Modern Development Standards
- Leadership
- Delivering at Pace
- Leadership
- Delivering at Pace
- GDD Capability Framework Skill 1 – Service Support
- GDD Capability Framework Skill 2 – Programming and Build
- GDD Capability Framework Skill 3 – Systems Design
- GDD Capability Framework Skill 4 – Modern Development Standards
- HMCTS Case Management Coding Challenge
Manchester Digital