DTS Software Developer - SEO (Rolling Campaign)

Band B

Location: London / National

Salary Range: The national salary range is £39,868 - £43,535, London salary range is £45,824 - £50,039. Your salary will be dependent on your base location.

 Introduction:

These are exciting times at HM Court and Tribunals Service (HMCTS). As an agency of the MoJ, we support the judiciary across England and Wales to deliver justice by running courts and tribunals and processing outcomes, and we are looking for talented people to help us achieve our ambitions. It will be challenging, important and rewarding.

 

HMCTS Digital and Technology Services (DTS) is a specialist technology directorate which provides support to HMCTS in the use of IT and Digital.

DTS is creating a place in which it is great to do work and part of our offer is brilliant training opportunities and support from expert colleagues. As well as that you’ll find flexible working, an inclusive culture and a place where your opinion is valued.

Please follow the link below for further information about HMCTS. www.gov.uk/government/organisations/hm-courts-and-tribunals-service

DDaT:

Roles will be recruited using a combination of the Digital, Data and Technology (DDaT) and Success Profile Frameworks. Using DDaT we will then determine if you will be paid an additional allowance, on top of your basic salary. This role is aligned to the Technical Job Family, is a Software Developer role at Developer level, but carries the tile Software Developer within DTS.

 

Job Description:

As a 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:

 

Key Responsibilities:

  • Write, amend, refactor and document code to build moderately complex programs/scripts. Adhere to internal process and procedures 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 technology on which we rely and alert on any issues or trends affecting our software. Adhere to industry’s best practices, produce well-engineered modern products and guide others in doing so.
  • Use security controls to build secure products and engineer to mitigate security threats. Handle information with confidentiality and integrity, work with others to ensure compliance and information assurance. Contribute to identifying risks and threats.
  • Support and maintain software as required, including in the live environment. Use modern tools to effectively and thoroughly identify and troubleshoot faults. Package and deploy software built. Some activities may be outside the core office hours (in-line with the organisation’s policy for OOH).
  • Contribute to planning by estimating your own effort. Practice the agreed methodology and apply it to your work, identifying obvious deficiencies and supporting activities to improve
  • the development process. Choose the most appropriate from a variety of methods of prototyping, actively soliciting prototypes from others.
  • Analyse, plan, forecast, measure, maintain, improve and as required define 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).
  • Translate logical designs into physical designs, produce detailed designs that include well understood technology and appropriate patterns. Develop software to meet approved architectural artefacts. Identify, record and escalate tech debt and low-level risks.
  • Build and test simple interfaces between systems, or work on more complex integration as part of a wider team.
  • Take a test-driven approach to software development, write automation test scripts of medium to high complexity and participate in testing. Collaborate in code reviews with others as appropriate.
  • Share knowledge with developers and other coders (devops, automation testers etc.). Coach and mentor more junior colleagues and participate in recruitment activities as required.
  • Participate in 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.

 Skills & Experience:

  • Experience in at least one programming language for development of enterprise and public facing applications, ideally in our core stack but other languages and a desire to learn is acceptable (Java, Python, C#, JavaScript, .NET)
  • Working knowledge of HTTP and at least one web development framework (for example Spring, Django, Rails, Laravel, Razor, Classic ASP). Alternatively, sounds experience in a similar client-server environment and a desire to learn is acceptable
  • Experience in working with structured data such as XML and JSON
  • Working knowledge of at least one RDBMS (for example PostgreSQL, SQL Server, MySQL, Oracle)
  • Working knowledge in a 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.
  • An understanding of common security issues and how to mitigate them
  • You champion software maintenance, clean code and practices that make change easy
  • You hold yourself and others to a high standard
  • You care about making usable experiences, with a good understanding of front-end development concerns
  • You thrive when you work as part of a team that abides by the spirit of the manifesto of agile software development
  • You solve problems in a systematic way
  • You enjoy learning and helping others