Graduate working at STFC

Software Developer (Computer Science) - Year-Long Placement


At the Science and Technology Facilities Council (STFC) you belong to a community of experts who are driving science and technology forward. Our incredible diversity of research, technology and engineering projects truly fire the imagination and lead to real-world solutions which shape societies and transform lives. We give you the flexibility, the freedom and the world-class facilities to focus on what you do best, and play your part in breakthroughs and achievements that will give you lifelong pride. 

The Centre for Environmental Data Analysis (CEDA), within STFC’s RAL Space Department, serves the environmental science community hosting data centres providing access to datasets ranging from computer simulations of future climate to the latest satellite-based observations of the earth. CEDA is involved in a number of collaborative projects working with organisations including the Met Office, European Space Agency, and NASA developing software and systems to facilitate access to, and analysis of, environmental data. Our data and computing services are hosted on the world-class multi-petabyte parallel processing and storage facilities JASMIN and CEMS, incorporating cloud and High Performance Computing technologies. 

List of Duties / Work Programme / Responsibilities

CEDA can offer a 1-year Sandwich Student Software Development post to a candidate interested in gaining first-hand experience of working in a vibrant field of scientific data handling and delivery.

Within a Linux-based computing environment you will work primarily with the Python programming language. Web and scientific programming may also be required, depending on experience, using a range of other languages such as Java, JavaScript, C and FORTRAN.

CEDA develops and manages a range of data-centric activities that this post might be involved with, including:

  • Web applications/services to allow scientists to discover and access data sets.
  • Services for processing and analysing Atmospheric Science and Earth Observation data including parallelisation and workflow management.
  • The JASMIN cloud platform and associated tools.
  • Cataloguing tools to enable searching and browsing of detailed scientific metadata.
  • Data analytics, visualisation and sub-setting tools.
  • Packaging and deployment tools.

Within CEDA a wide variety of technologies and tools are being employed/explored. These include:

  • Web: Django, Pyramid, Tomcat, Bootstrap.
  • Databases: PostgreSQL, SQLite, ElasticSearch, Apache Solr.
  • Processing/parallelisation: Platform LSF batch compute scheduler, OGC Web Processing Service.
  • Packaging/deployment: Python Pip and virtualenv, RPM, Docker.
  • Virtualisation/cloud: VMware vCloud Director, OpenStack (future), object store technologies, container orchestration technologies e.g. SWARM, Kubernetes.
  • Data: cf-python, Iris, Matplotlib, NetCDF4, R, CDO, NCO.

Personal Skills and Attributes

We are looking for someone with Python programming skills who is keen to develop software solutions to support the scientific community in working with the Big Data archives we manage. You will be undertaking a relevant degree in Computer Science or Engineering, or another relevant Scientific discipline with a strong mathematical component. We are looking for someone who is keen to gain experience of working on real projects and is able to work independently and within a team. You should possess good problem-solving and analytical skills.

Welcome to STFC

The Science and Technology Facilities Council is one of Europe's largest multidisciplinary research organisations supporting scientists and engineers world-wide.



  • currently undertaking a degree in Computer Science or Engineering, or another relevant scientific discipline with a strong mathematical component.

Knowledge/Skills and Experience


  • programming in Python
  • working in a Linux environment
  • principles of software development
  • experience of writing and testing software.


  • robust software engineering methodologies including test-driven development, code review and continuous integration
  • experience with web development frameworks particularly Django
  • exposure to NoSQL database solutions such as Elastic Search and Apache Solr
  • exposure to software for the deployment of virtualisation and cloud computing infrastructure e.g. OpenStack, VMware, Docker, and object store technologies e.g. Ceph
  • technologies for parallel processing for example, Hadoop
  • any exposure to meteorology, climate science, Earth sciences, Earth observation or scientific computing
  • experience of working with scientific data
  • experience of working with Big Data.

Personal Skills & Qualities


  • good communication skills
  • demonstrate good team working capabilities
  • the willingness to learn new skills, both technical and non-technical
  • open minded and flexible in relation to the type of work assigned to them.

Interview Criteria 

Personal skills/qualities


  • interest in supporting the scientific community
  • good problem-solving and analytical skills
  • self-motivated and able to solve problems independently
  • able to work well with other members of the team.


  • good communication skills

Special Requirements


  • able to work comfortably at a work station for most of the working day

Remember to mention TARGETjobs when contacting employers!