DIA0500/TH - Graduate Software Engineer or Software Engineer

This vacancy is now closed
Job Title Graduate Software Engineer or Software Engineer
Job Reference DIA0500-TH
Post Type
Division Technical
Salary information £21,000 - £37,000. Depending on skills, qualifications and experience.
Application deadline 24/04/2009
Date of interviews 15/05/2009


Job Description

Diamond Light Source is a new synchrotron and a leading scientific facility of its type in the world. Located on the Harwell Science and Innovation Campus in South Oxfordshire, we host research facilities supporting cutting edge research in all fields of science.

The accelerator and photon beamlines are controlled through a distributed, heterogeneous computing environment, using embedded systems running the VxWorks operating system 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). Real-time control functionality mostly runs as VxWorks applications realised in C together with EPICS data processing. 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 accelerator.

The high-level applications are predominantly developed using tools which are part of the EPICS toolkit and are extensively C- or C++-based. More recent applications have been developed using Python and Qt, whilst some potential future applications will use Java; Eclipse and RCP are being considered. MatLab is further used both for scripting and for a suite of physics-based tools.

This role is that of a member of the High Level application 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.

Graduate Software Engineer:

The assist in the design, development, commissioning and operational support of controls systems to support the design, development and operation of the accelerators and/or beamlines on the Diamond Synchrotron Light source.

  • To assist in the design and development of software, together with the coding of software applications for the accelerators and beamlines on Diamond;
  • Provide support of the software repository and of the build of standard tools;
  • Commission and diagnose faults in installed software applications;
  • Assist in providing operational support and analysis of installed Control Systems;
  • Contribute to the interface with internal customers, including Engineers and Scientists, at all stages of the development life cycle to, for example, develop 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;
  • Report on progress in all areas on a periodic basis;
  • Assist in the support of contractors and suppliers of turn key Control Systems;
  • To develop an understanding of the Control Systems and Accelerator Physics.

Software Engineer:

The design, development, commissioning and operational support of controls systems to support the design, development and operation of the accelerators and/or beamlines on the Diamond Synchrotron Light source.

  • Design and develop software applications for the accelerators and beamlines on Diamond;
  • Provide support of the software repository and of the build of standard tools;
  • Commission and diagnose faults in installed software applications;
  • Provide operational support and analysis of installed Control Systems;
  • Interface with internal customers, including Engineers and Scientists, at all stages of the development life cycle to, for example, develop 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;
  • Report on progress in all areas on a periodic basis;
  • Support of contractors and suppliers of turn key Control Systems;
  • Maintain and develop technical expertise of the Control Systems and Accelerator Physics.

 

Qualification & Experience - Essential

  • Honours degree in physics, electrical engineering, computer science or equivalent other degree + 2 year experience or BTEC HNC/HND (+ 5 years experience for appointment at the higher level);
  • Min 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 C and an OO language;
  • Knowledge and experience of developing in a Unix environment;
  • Knowledge and experience of developing with a source code control and structured release environment;
  • Experience of using software testing and debugging tools effectively and developing automated test harnesses;
  • Demonstrate ability to communicate effectively, both orally (I) and written;
  • Ability to solve technical problems, evaluating alternative courses of action and innovating where necessary;
  • Demonstrate self-motivation and a willingness to take responsibility;
  • Demonstrate ability to work as part of a team;
  • Demonstrate 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

  • Demonstrate an understanding of staff supervision;
  • 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;
  • Demonstrate an appreciation of project planning and management.

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