Due to Christmas and New Year Holiday season we may experience shipping delays. We apologize for the inconvenience and thank you for your understanding.

Further Information

Job Description: Software Engineer

Position title

Software Engineer


24K - 35K

  1. Role Purpose

The main purpose of the role is to assist the Lead Software Engineer in the design, development and testing of OBP’s Open Source Software and infrastructure projects. The post holder will work closely with the Lead Software Engineer in developing new features, providing technical support and fixing issues as appropriate.

  1. Main Responsibilities

Key duties and responsibilities

% time spent


Infrastructure and Software Development


  • Development of Open Source projects --including those commissioned to and by OBP-- in liaison with the Lead Software Engineer.
  • Development and maintenance of the technology we use at all levels of our infrastructure stack in liaison with the Lead Software. 
  • Program supporting scripts that help automating maintenance and deployment.
  • Design backup and disaster recovery planning.
  • Identify and fix bugs that may cause a major problem on the daily activities done through any of the OBP services.


Software Testing


  • Deliver software deployment under the guidance of the Lead Software Engineer, identify faults, and implement improvements to ensure the reliability of the software through its update cycle.
  • Implement unit and end-to-end tests.




  • Share in staffing the Help Desk with other members of the team triaging the problems as they come in, assigning them to the appropriate support queue or person.

  1. Person Profile

Essential knowledge, skills and experience required for role

Education & qualifications

  • Good general education, including Maths & English GCSE or equivalent.
  • Degree in Computer Science or similar, or equivalent experience.

Specialist knowledge & skills

  • Some experience with web hosting at scale, containerisation and continuous delivery in a cloud computing platform (preferably AWS).
  • Some experience using at least one interpreted language.
  • Some experience using at least one compiled language.
  • Knowledge of Bash, a version control system (preferably Git) and SQL.
  • Desirable: experience of working in publishing and/or in an academic institution.
  • Desirable: experience with distributed systems, database clustering and replication management.

Interpersonal & communication skills

  • Good communication skills, especially with the ability to explain IT related information to non IT specialists.
  • Ability to manage time, and to understand how to prioritise tasks.

Relevant experience

  • Working in a team as well as working independently.
  • Experience of working in a busy IT team with changing priorities.

Additional requirements

  • A capacity to apply and discuss new technologies.
  • A capacity to suggest new ideas and solutions.
  • Work within the "agile development” methodology to provide feedback and suggest improvements.