Senior/Software Systems Engineer (EPICS Core)

This vacancy is now closed
Job Title Senior/Software Systems Engineer (EPICS Core)
Job Reference 031/17/NH
Post Type Permanent / Full time
Division Technical
Salary information £32,480 to £38,211 (Discretionary range to £43,943), or £41,878 to £49,268 (Discretionary range to £56,658) for Senior level
Application deadline 07/05/2017

Job Description

This role is a member of the High Level Application Team supporting EPICS toolkit 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, other technical groups in Diamond and the wider EPICS collaboration to capture requirements, specify and develop new software and to support existing software.

Key duties:

  • Design and development of software as part of the EPICS Controls System toolkit; 
  • Collaboration with other core EPICS developers on planning and the development for EPICS Core;
  • Provide expert commissioning and diagnose faults relating to aspects of EPICS core software components;
  • Interface with internal customers, including Engineers and Scientists, at all stages of the development life cycle to, for example, developing requirements, track project progress, and verify operation of Control Systems;
  • Contribute to the processes and associated software development to support the design of Control Systems throughout Diamond and within the EPICS collaboration;
  • Report on progress in all areas on a periodic basis;
  • Maintain a current knowledge of the Control Systems on other, comparable, beamline and accelerator projects;
  • Represent Diamond at EPICS Collaboration meetings and workshops, and manage hosting of meetings at Diamond.

Senior Software Systems Engineer only:

  • Represent Diamond Light Source in the international EPICS collaboration;
  • Provide technical expertise across Diamond on EPICS core software components;
  • Communicate planned and ongoing developments of EPICS with Diamond;
  • As required design and develop the Control System of one or more accelerator/beamline technical subsystems;
  • Liaise with, and supervise, contractors and suppliers of turn key Control Systems;
  • Provide technical expertise in software development and skills in software design for real-time distributed control systems;
  • Project planning and coordination of projects relating to Control Systems for accelerators and/or beamlines and core EPICS developments;
  • Communicate details of Control System developments within Diamond and to other projects;
  • Mentor and train more junior engineers as required.

Software Systems Engineer only:

  • Provide operational support across Diamond on EPICS software components;
  • Support of contractors and suppliers of Control Systems;
  • Maintain and develop technical expertise in software development.


Qualification & Experience - Essential

  • Honours degree in physics, electrical engineering, computer science or equivalent or other degree, plus considerable relevant experience;
  • Demonstrate ability to communicate effectively, both orally and written;
  • Ability to solve technical problems, evaluating alternative courses of action and innovating where necessary;
  • Demonstrate an understanding of project planning and management;
  • Self-motivation and a willingness to take responsibility;
  • Ability to work as part of an internationally-distributed, multi-national team;
  • Ability to work effectively alone and without direct supervision;
  • Knowledge and experience of development with a source code control and structured release environment;
  • Knowledge and experience of developing in a Unix environment;
  • Experience in developing software in a real time distributed control environment (Desirable for Software Systems Engineer).

Senior Software Systems Engineer only:

  • Considerable experience in the software design and/or programming of industrial or scientific systems, including EPICS experience;
  • Knowledge and experience of the EPICS core, device driver support, DB and CA;
  • Knowledge and experience in programming in C and/ C++;
  • Knowledge and experience of developing layer 4 (application level) communication protocols.

Software Systems Engineer only:

  • Knowledge and experience in programming in an object orientated language;
  • Experience of using software testing and debugging tools effectively and developing automated test harnesses.


Qualification & Experience - Desirable

  • Further education in a relevant engineering field.
  • Demonstrate an understanding of staff supervision;
  • Knowledge and experience of Linux on PC’s;
  • Knowledge and experience with Scripting Languages;
  • Knowledge of networking programming.

Senior Software Systems Engineer only:

  • Knowledge and experience of VME or embedded systems;
  • Knowledge of Motion control;
  • Knowledge of VxWorks or Linux kernel;
  • Project management experience or EPICS or Beamline or Accelerator CS design experience.

Software Systems Engineer only:

  • Knowledge and experience in programming in Java;
  • Knowledge and experience of Eclipse and RCP;
  • Knowledge and understanding of relational databases, and server and client side processing;
  • An appreciation of project planning and management.

Further Information

  • 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.


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

Other information