Due to the current COVID-19 situation, our customers may experience some delivery delays. We apologise for any inconvenience this may cause.

Further Information

Job Description: Software Engineer


Position title

Software Engineer

Salary

24K - 30K


  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

1

Infrastructure and Software Development

50%


  • 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.


2

Software Testing

20%


  • 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.


3

Support

30%


  • 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

  • Experience with web hosting at scale, containerisation and continuous delivery in a cloud computing platform (preferably AWS).
  • Experience using at least one interpreted language.
  • 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.