38531 - Junior Software Developer

Band C

Location: Birmingham / National

Salary Range: £26,000 - £29,000

As a Junior 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 and refactor code to build simple programs/scripts under direction. Document code written and adhere to internal software development standards/processes/procedures
  • Seek guidance to adhere to industry’s best practices and produce well-engineered modern products. Constantly seek to learn and further develop your skills as required for your role
  • Work with others to use security controls to design and build secure products. Handle information with confidentiality and integrity, work with others to ensure compliance and information assurance
  • Participate in product support and carry out agreed infrastructure maintenance tasks. Assist in troubleshooting and identifying faults using modern tools. 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 seek advice on how to apply it to your work. Use prototyping techniques and methods (for example, sketch, code)
  • Assist in analysing, planning, forecasting, measuring, maintaining and improving all aspects of the availability of services
  • Assist as part of a team on design of components of larger systems and develop software to meet approved architectural artefacts
  • Work under supervision to integrate systems, design, build and test interfaces between systems
  • Take a test-driven approach to software development, write simple automation test scripts, participate in testing and code reviews
  • Develop to deliver on user stories and the focus on user needs

What are we looking for?

  • Working 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.)
  • Working knowledge in either structured data (JSON, XML etc.) or databases (PostgreSQL, Redis etc.)
  • Basic working knowledge of client-side web development (HTML, CSS and JavaScript)
  • Awareness of the HTTP protocol and at least one web development framework (for example Spring, Django, Rails, Laravel, Razor, Classic ASP)
  • Experience of using testing to validate solutions
  • An interest in solving problems and an eagerness to learn
  • Ability to research and learn new tools and techniques, keeping up to date with the latest libraries, frameworks and languages
  • A strong interest in digital services and agile working
  • An understanding of common security issues