38529 - Senior Software Developer

Band A

Location: Birmingham / National

Salary Range: £43,958 - £48,000

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 government better through smarter use of technology.

 

We currently have over 200 experienced developers across MoJ and its agencies who make up the broader software engineering community. You will able to learn from others, share your knowledge and take part in informal support networks with your peers.

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 and Python 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
  • Postgres and Redis as our databases.
  • GOV.UK Design System for our web interfaces
  • Macs to do all of 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

We’re happy to help you learn our tech stack once you are part of our team.

What will you be doing?

  • Write, amend, refactor and document code to build programs/scripts.
  • Adhere to internal process and procedures and advising others which software development standards/processes/procedures apply.
  • 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.
  • Take a test-driven approach to software development, write automation test scripts of and participate in testing. Collaborate in code reviews with others as appropriate.
  • Translate user stories to a proposed design and develop software to meet user needs.
  • 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.

What are we looking for?

  • Sound knowledge 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#, PHP, Ruby, Go, Rust, C++, VB.NET, JavaScript etc.)
  • Sound knowledge of HTTP, at least one web development framework (for example Spring, Django, Rails, Laravel, Razor, Classic ASP) and at least one RDBMS (for example PostgreSQL, SQL Server, MySQL, Oracle)
  • 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 (at work or in meetups etc)
  • 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