The Cambridge Crystallographic Data Centre (CCDC) is excited to offer a 12-month industrial placement for a motivated and talented Undergraduate Computer Science student from a leading university.
The CCDC is a world leader in the collation, preservation, and analysis of crystal structure data. Our software engineering teams work on developing state-of-the-art tools that help scientists, researchers, and industry professionals make sense of molecular structures. We focus on high-quality, reliable software that enables efficient data analysis, visualization, and reporting, particularly in fields such as chemistry, materials science and pharmaceuticals.
This placement provides an opportunity to work on real-world projects that directly impact our product development, automation processes, and business intelligence efforts.
We are particularly interested in candidates with strong programming skills in Python and C++, with an ability to work in a modern, scientific, software engineering environment.
Programming Focus:
70-80% Python
20-30% C++
Structure of the Placement
The placement will be structured into phases to provide the student with experience across different aspects of software engineering within the CCDC. Our vision is that a placement with CCDC provides the student with significant professional and academic benefits. An indicative schedule follows:
1. Onboarding & Training (September 2026)
Duration: 1 Month
During the first month, the student will undergo onboarding and training to become familiar with our CSD Python API product, our development tools and our team practices. This will include:
An introduction to our codebase, internal workflows, and testing methodologies
Training on both Python and C++ codebases
Learning about the broader software development life cycle within the CCDC
2. Test Automation and API Testing Improvements (October - December 2026)
Duration: 3 Months
The student will work with the Test Automation engineers to improve the testability and maintainability of our CSD Python API product and scripts using it. This phase will also involve close collaboration with our QA and Software Engineering teams to ensure the seamless integration of test automation practices. The primary focus will be on:
Developing and refining the test suite, improving coverage and effectiveness
Enhancing automated testing frameworks
Improving the overall robustness of our CSD Python API and the other dependent products
3. Product Development for Scientific Features (January - March 2027)
Duration: 3 Months
In this phase, the student will work within a Scrum development environment as part of one of our Product Development teams. The focus will be on contributing to the development of new scientific features that will be exposed via our CSD Python API. This phase is designed to provide practical experience with real-world commercial product development. The student will be:
Collaborating with other software engineers to integrate new functionalities, written in C++ and Python, into the API
Writing efficient, maintainable Python code
Participating in Agile sprints, sprint planning, and reviews
4. Reporting and Business Intelligence (April - June 2027)
Duration: 3 Months
The student will develop reporting scripts using our CSD Python API. This will include creating reports for internal business decisions and for an industrial partner. This phase is designed to provide experience delivering an end-to-end software development project from requirements gathering through to delivery. Responsibilities include:
Writing scripts to extract, analyze, and present data from the API
Supporting business decision-making through insightful data analysis
Collaborating with cross-functional teams to meet reporting requirements
5. Data Integrity and Fraud Detection (July - August 2027)
Duration: 2 Months
In the final phase, the student will work alongside the CCDCs Data Curation and Editorial team to improve our automated data integrity checks and enhance fraud detection processes. This phase is designed to provide hand-on experience for data handling, validation and analytics. This will involve:
Developing validation scripts for enhanced data integrity
Implementing algorithms for fraud detection
Working on improvements to automated checks that ensure data accuracy
Support and Supervision
Throughout the placement, the student will report into and be supported by our Software Engineering and Test teams. We provide a collaborative environment with regular mentorship to ensure the student has access to the guidance and resources needed to thrive.
Requirements
Currently pursuing an BSc/MSc in Computer Science, or similar, at a leading university
Proficiency in Python and a working knowledge of C++
A-Level Chemistry at a good grade will be a decisive advantage
Strong analytical and problem-solving skills
Keen interest in software testing, automation and product development
Application Process
For more information, contact adcock@ccdc.cam.ac.uk or see the full and Person Specification. Interested candidates are encouraged to apply via the 'Apply for this job' link, attaching a copy of their CV and a covering letter. We will be reviewing applications through November 2025 or until the placement is filled.
Beware of fraud agents! do not pay money to get a job
MNCJobs.co.uk will not be responsible for any payment made to a third-party. All Terms of Use are applicable.