Job Title Software Engineer
Job Reference DIA0808/SB
Post Type
Division Technical
Salary information Competitive
Application deadline Open Vacancy


Job Description

The Diamond synchrotron light source is the largest scientific facility to be built in the UK for over thirty years. The facility consists of three accelerators which provide high brightness photon beams through beamlines to experimental stations.  Diamond is now operational with an initial complement of 20 experimental stations and a further 12 in design and construction. 

The accelerators and photon beamlines are controlled through a distributed, heterogeneous computing environment, using embedded systems for direct control of the instrumentation, together with Linux workstations for the operator interfaces. The software makes extensive use of the open source EPICS Control System tool kit (https://www.aps.anl.gov/epics). The client side high-level applications comprise general-purpose tools for synoptic display management, alarm handling and archiving, as well as bespoke tools to control the operation and characterization of the accelerators. Matlab is used both for scripting and for a suite of physics-based tools. Client applications have historically been developed using C++ and Python, with Qt, whilst future applications will use Java and Eclipse RCP

This role is  in the high-level applications team supporting existing applications and developing the tools required to operate and develop the control system and accelerators.  The duties will involve working closely with other members of the Control System Group, members of the Accelerator Physics Group, Operations Group and other technical groups in Diamond to capture requirements, specify and develop software and support the existing software.

MAJOR DUTIES & RESPONSIBILITIES

  • Provide operational support and maintenance of software for existing systems, including attention and response to fault reports when appropriate.
  • Work with scientists and engineers on the overall requirement, design and specification for the high level applications.
  • Work as part of a small team to design, implement, test and document control software
  • Management of the software version repository
  • Build and support of core components of the EPICS toolkit
  • Personal training and development.

Qualification & Experience - Essential

  • Good  honours degree in physics, mathematics or, computer science or equivalent other degree.
  • A minimum of 2 years experience in the software design and/or programming of industrial or scientific systems.
  • Knowledge and understanding of classical physics
  • Knowledge and experience in programming in  an object orientatedlanguage.
  • Knowledge and experience of development in a Unix environment
  • Knowledge and experience of development with a source code control and structured release environment.
  • Experience of using software testing and debugging tools effectively and developing automated test harnesses.
  • Ability to communicate effectively, both orally and in writing.
  • Ability to solve technical problems, evaluating alternative courses of action and innovating where necessary.
  • Self-motivation and a willingness to take responsibility.
  • Ability to work as part of a team.
  • Ability to work effectively alone and without direct supervision.
  • Be willing to work overtime at unsociable hours as required.
  • Be willing to travel in the UK and abroad, including occasional periods away from home.
  • Be prepared to undertake further training

Qualification & Experience - Desirable

  • Further education in a relevant physics or engineering field.
  • Knowledge and experience of Linux on PC’s.
  • Knowledge and experience with Scripting Languages.
  • Knowledge of networking programming.
  • Knowledge and experience in programming in Java.
  • Knowledge and experience of Eclipse and RCP
  • Experience in developing software in a real time distributed control environment.
  • An appreciation of project planning and management
  • An understanding of staff supervision. 

 

Further Information

Applying for employment

For further details on applying for employment at Diamond, please visit our 'Application Form' page.

Appointments will be made depending on the skills and experience of the candidate. Electronic Diamond application forms in MS-Word are preferred. These should be emailed to recruitment@diamond.ac.uk



Other information