Role Overview
Software engineers are responsible for developing high-quality software,
collaborating with stakeholders, managing tasks effectively, and ensuring
the security and compliance of Bede’s software products. A software
engineer requires a balance of technical expertise, communication skills,
and a commitment to ongoing learning and improvement.
Key Responsibilities
● Writing, testing, and maintaining high-quality code in various
programming languages to develop Bede’s software applications.
● Collaborating with stakeholders to gather and understand software
requirements, ensuring clarity and completeness.
● Participating in and conducting code reviews to ensure code quality,
adherence to standards, and knowledge sharing among team
members.
● Identifying, diagnosing, and fixing bugs and performance issues in
Bede’s software products.
● Writing and executing unit tests, integration tests, and other
automated tests to ensure the reliability and robustness of the
software.
● Creating and maintaining documentation for software, code, APIs,
and user guides to facilitate understanding and maintenance.
● Any other required duties that are deemed reasonable to the role.
Skills & Knowledge
● Coding skills in relevant programming languages and frameworks.
Job Description June 2024 v.1
● Experience with database technologies and database management
systems
● Proficiency in writing unit tests, integration tests, and using
debugging tools to ensure software quality.
● Experience in designing and implementing RESTful APIs
● Knowledge of version control systems like Git and platforms like
GitHub.
● Familiarity with CI/CD pipelines, containerisation, and orchestration
● Experience of working in an Agile process using SCRUM techniques.
● Strong problem-solving skills
● Ability to work effectively within a team, collaborate on projects, and
share knowledge.
● Strong verbal and written communication skills to explain technical
concepts to both technical and non-technical stakeholders.
● Ability to manage and prioritise tasks, handle multiple projects, and
meet deadlines.
● Willingness and ability to learn new technologies, programming
languages, and tools as required.