remote
Software Engineer Timetabling - Imperial College London
Software Engineer
Software Engineer focused on timetabling solutions, designing and building secure, scalable, user‑centered services using Python, Java, and SQL within an agile, product‑led environment.
About the role
Key Responsibilities
- Design, develop, and maintain high‑performance backend services for the timetabling product using Python and Java.
- Implement RESTful APIs and integrate with existing data stores (SQL) to support scheduling, resource allocation, and reporting.
- Collaborate with product owners and UX designers to translate business requirements into technical specifications.
- Ensure code quality through automated testing, code reviews, and continuous integration pipelines.
- Deploy and monitor services in cloud environments, leveraging Docker containers and AWS infrastructure.
Requirements
- Proven experience in backend development with Python and Java.
- Strong knowledge of relational databases (SQL) and API design.
- Hands‑on experience with Docker, CI/CD, and cloud platforms (AWS preferred).
- Familiarity with agile development practices and product‑led delivery.
- Excellent problem‑solving skills and a user‑centric mindset.
Skills
pythonjavasqldockeragile