About the Role
As a Software Engineer (Development) (known internally as anEngineer (Development)) at The Open University, you will be part of the Teaching and Learning group, a dynamic and innovative team dedicated to delivering world class online educational software to our staff and over a hundred thousand students. Collaborating closely with engineers, designers, and product owners, you will build scalable and efficient solutions that meet user needs and support the organisation's goals.
You will actively participate in all stages of the software development lifecycle, from analysing requirements and designing system architectures to coding, testing, and deploying applications. Your contribution will ensure our solutions are secure, reliable, robust, accessible and user friendly.
As a vital part of our agile team, you'll contribute ideas, tackle technical challenges, and mentor junior engineers while supporting our commitment to continuous improvement and development.
Key Responsibilities
- Participate in Software Development: Contribute to the development and enhancement of software systems throughout the software lifecycle, from design to deployment, following best practices and industry standards.
- System & Software Design: Assist in the design and documentation of software and system architectures, ensuring that solutions are scalable, reliable, and meet the Open University's needs.
- Program & Debug Software: Write, test, and maintain high quality code with accompanying test scripts and documentation, ensuring that it is well structured, efficient, and aligns with project requirements.
- Assist with System Integration: Support the integration of various software components and systems, ensuring seamless interoperability and functionality.
- Lead Testing Efforts: Design and execute test plans to validate software quality, ensuring functionality, performance, and security requirements are met.
- Support Software Configuration Management: Manage software configuration and version control, ensuring changes are tracked, documented, and easily retrievable.
- Data Modelling & Database Design: Contribute to data modelling and assist with database design to support application development and data integrity.
- User Experience & Analysis: Support user experience design and analysis to ensure that the software solutions are user friendly and meet stakeholder expectations.
- Monitor Emerging Technologies: Stay updated with emerging technologies and assess their potential impact on current and future projects.
- Information Security & Quality Assurance: Implement security measures and contribute to quality assurance processes to maintain the integrity and reliability of software systems.
- Contribute to Services, Products & Requirements Analysis: Engage in business analysis to understand stakeholder needs and help define and document technical requirements.
- Evaluate Feasibility: Conduct feasibility assessments for proposed solutions to determine their technical viability and alignment with project goals.
- Non-functional Testing: Perform non-functional testing to ensure systems meet performance, scalability, and security standards.
- Support Application & System Operations: Provide support for application and system operations, assisting in incident management, including out-of-hours as required, and ensuring smooth functioning of services.
- Availability & Capacity Planning: Contribute to managing system availability and capacity, ensuring that services are reliable and scalable to meet current and future needs.
- Problem Management: Participate in problem management processes, helping to identify and resolve underlying issues to improve system stability.
About You
Key Skills and Experience
- Proven Software Development Experience: At least 2 years' experience in a software development role.
- Software Development Lifecycle: Solid understanding of the software development lifecycle, including design, development, testing, and deployment.
- Software Design and Development: Strong skills in designing and developing software solutions that are scalable and efficient.
- Advanced Testing Knowledge: Proficient in functional and non-functional testing to ensure the delivery of high-quality software products.
- Data Modelling & User Experience: Experience in data modelling and supporting user experience design to enhance software usability and effectiveness.
- Emerging Technology Awareness: Keen interest in exploring new technologies and their potential applications within the organisation.
- Security & Quality Focus: Understanding of information security and quality assurance practices to maintain the reliability and security of software solutions.
- Analysis & Requirements Management: Ability to analyse requirements and translate them into technical specifications.
- System Support & Operations: Experience in supporting application and system operations, troubleshooting issues and ensuring system stability.
Behaviours
- Problem Solver: You approach challenges with a logical and analytical mindset, finding effective solutions to complex problems.
- Collaborative: You work well in team environments, communicating effectively, sharing knowledge and ideas, and contributing to collective success.
- Adaptable: You thrive in a dynamic work environment and are open to learning new skills and technologies.
- Detail Oriented: You have a keen eye for detail, ensuring that your work is accurate, high quality, and aligns with project goals.
- Curious & Innovative: You stay updated on the latest industry trends and are always looking for ways to incorporate new ideas and technologies into your work.
Equality, Diversity and Inclusion
The Open University is committed to equality, diversity and inclusion which is reflected in our mission to be open to people, places, methods and ideas. We aim to foster a diverse and inclusive environment so that all in our OU community can reach their potential. We encourage applications from all underrepresented groups and strive to make The Open University a supportive workplace for all.