Senior Java Developer - Grade 7

Band A

Location: Salford Quays / Birmingham / National

Salary Range: £50,427 (National) £54,274 (London) A generous digital allowance of up to £16,512 is also available (£18,486 for candidates based within the M25)

Pay

  • Salary band for this role is £50,427 to £59,000 (£54,274 – £63,500 for candidates based within the M25)
  • New recruits to the Civil Service are expected to join at the band minimum
  • digital allowance may also be available for exceptional candidates.
  • The final allowance awarded will be based on an assessment of your skills and experience as demonstrated at interview.

These are exciting times at Her Majesty’s Court and Tribunals Service (HMCTS). As an agency of the MoJ, we provide the supporting administration for the judiciary across England and Wales. Within that portfolio, Digital and Technology Services (DTS) has a clear ambition to create an organisational culture where diverse and inclusive multi-disciplinary teams bring together in-house digital, data and technology specialists to build capability, work smarter and more efficiently. Please visit https://www.hmctsjobs.co.uk/dts/ for further details!

We’re building better justice for everyone by harnessing technology, curiosity and our burning mission to make a momentous impact. You have the chance to influence that change and own your mark.

With the scale and size of transformation, you’ll get exposure to bigger opportunities and new ways of learning that will push your potential. It’s a massive challenge doing career defining work, but we also embrace your individuality and life outside of work. So through flexible working we’ll trust you to shape the future in a way that suits you.

Sound like a challenge you’re up for?

Build_better_justice for.everyone

 

The Role

As a Senior Developer you will work with a wide range of stakeholders such as user researchers, product managers, designers, business analysts, content specialists, delivery managers and digital architects, all of whom share a vision for making better government through smarter use of technology. You will innovate to radically transform public services for the better.

The development squad you are placed on will be agreed closer to your start date, but examples of products can be found in our github repositories:

 

Technologies

We rely heavily on

  • Java to write our backend services
  • Node.js and Angular to write our frontend services
  • Jenkins for deployment
  • Dynatrace for application monitoring
  • Kubernetes and Docker to run our services
  • Azure for most of our infrastructure
  • Terraform and scripting (python, bash etc.) for managing it
  • PostgreSQL and Redis as our databases
  • GOV.UK Design System for our web interfaces

 

What will you be doing?

  • 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 competently 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).
  • Design systems characterised by medium levels of risk, impact, and business or technical complexity. Take designs through the required governance. Review designs of others to ensure the selection of appropriate technology, efficient use of resources and integration of multiple systems and technology. Identify, record and escalate tech debt and medium-level risks.
  • 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.

 

What are we looking for?

  • Sound knowledge in Java for development of enterprise and public facing applications
  • Sound knowledge of HTTP, at least one web development framework (for example Spring or Jersey) and Angular (React or Vue.js may be considered)
  • Sound knowledge of at least one RDBMS (PostgreSQL or similar), XML and JSON
  • 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 working with modern tools (docker, k8s, infrastructure as code) and techniques
  • Experience of mentoring, coaching or leading other developers (at work or in meetups etc)
  • 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