Software Developer [Sandwich Student]

STFC RAL Space

Internship 1 year Didcot, UK

Uploaded 22 Sep 2019

Job Description

Brief Description

Salary: £19,404

Grade: UKRI-STU

Contract Type: Fixed Term (12 months)

Hours: Full Time

Closing Date: 27th October 2019

Interview Date: Interviews will be held during the week commencing: 25th November 2019

STFC - RAL Space - CEDA Software Developer

The Science and Technology Facilities Council (STFC) is one of Europe’s largest research organisations. We’re trusted to support, enable and undertake pioneering projects in an amazing diversity of fields. Through world-class facilities and people, we’re driving ground-breaking advances in science, technology and Engineering. For more information on STFC please view one of our videos - https://youtu.be/k9gaDSDzRQQ

STFC is one of nine organisations that have been brought together to create UK Research and Innovation (UKRI); a new organisation with a vision to ensure the UK maintains its world-leading position in research and innovation.

Each year we offer opportunities to undergraduate students to gain practical experience, working alongside technical experts at the forefront of scientific research. We offer an invaluable experience with exposure to world class science and technology, and the opportunity to develop working relationships that continue well after your placement has finished.

STFC consists of several distinct departments which each focus on a different specialism within science, technology, innovation and support, yet work together to achieve STFC’s grand ambitions. Different departments may look for placement students with similar skills, so you should consider which role/s are most suitable to you, and apply for up to two of these. See all of our current Industrial Placements here.

The Centre for Environmental Data Analysis (CEDA),within STFC’s RAL Space Department, serves the environmental science community hosting data centres providing access to data sets 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 facility JASMIN, incorporating cloud and High Performance Computing technologies.

Summary of Key Duties & Responsibilities

CEDA can offer a 12 month Industrial Placement 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 the successful candidate 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, Elastic Search, Apache Solr.
  • Processing/parallelisation: Platform LSF batch compute scheduler, OGC Web Processing Service.
  • Packaging/deployment: Python Pip and virtualenv, RPM, Conda, Docker.
  • Virtualisation/cloud: OpenStack, object store technologies, container orchestration technologies e.g. SWARM, Kubernetes.
  • Data: cf-python, Xarray, Iris, Matplotlib, NetCDF4, R, CDO, NCO.

Responsibilities

The role will involve a range of tasks that might include:

  • Maintenance of existing software systems.
  • Development of scripts and tools to perform data management and analysis.
  • Design and development of larger software systems/applications.
  • Development of Django (python) web-applications and web APIs.
  • Interactions with scientists/developers.
  • Development of tools for working with large data sets and batch processing systems.
  • Exploratory work with new technologies.

For more information about the role please contact Ag Stephens ([email protected]).

Person Specification

Criteria to beassessed at Shortlisting (S), Interview (I) or both (S&I)

Essential:         

  • At university, enrolled on an undergraduate degree course and required or have requested to take a year out of studies to gain experience within industry (S)
  • Right to live and work in the UK (S)
  • Currently undertaking a degree in Computer Science or Engineering, or another relevant scientific discipline with a strong mathematical component (S).
  • Experience of programming in Python (S&I)
  • Experience of working in a Linux environment (S&I)
  • Knowledge of software development principles, including writing and testing code (S&I)
  • Interest in supporting the scientific community (S&I)
  • Self-motivated, with good problem-solving and analytical skills (S&I)
  • Able to work well in a team and willing to learn new skills and work on a variety of tasks (S&I)

Desirable:

  • Robust software engineering methodologies including test-driven development, code review and continuous integration (S&I)
  • Experience with web development frameworks particularly Django (S&I)
  • Exposure to NoSQL database solutions such as Elastic Search and Apache Solr (S&I)
  • Exposure to software for the deployment of virtualisation and cloud computing infrastructure e.g. OpenStack, VMware, Docker, and object store technologies (S&I)
  • Technologies for parallel processing for example, Hadoop (S&I)
  • Exposure to meteorology, climate science, Earth sciences, Earth observation or scientific computing (S&I)
  • Experience of working with scientific data (S&I)
  • Experience of working with Big Data (S&I)
  • Good communication skills (S&I)