Senior Software Engineer / Software Engineer
|Job Title||Senior Software Engineer / Software Engineer|
|Post Type||Full time / Permanent|
The UK’s national synchrotron science facility, Diamond Light Source, conducts world-class research in virtually all fields of science. Located 20 minutes from Oxford, it sits in a designated Area of Outstanding Natural Beauty and offers rewarding career opportunities.
Senior Software Engineer - As the data acquisition group’s software architect provide technical leadership to the data acquisition group in order to develop, support and enhance the data acquisition software used on Diamond’s beamlines. Lead the data acquisition group’s component team. Use this to: maintain the core GDA framework and a set of reusable common components, work with data acquisition beamline teams on specific projects, and most fundamentally to draw the group together and spread good practice. Promote the use of the GDA software outside Diamond.
- Act as the data acquisition group’s software architect, responsible for the underlying architecture of the GDA framework and beamlines’ software, and mentoring the group to follow a disciplined engineering approach;
- Lead the component team as it develops, tests, maintains and supports aspects of the GDA software on Diamond’s beamlines, working in collaboration with other members of the Data Acquisition group, and sometimes with beamline staff, and the Scientific Software and other groups;
- Provide direction, support and motivation to the component team. Ensure work is delivered on time and of high quality. Ensure the team follows a disciplined engineering approach;
- Envisage, produce and support software components common to all beamlines and enhance the GDA framework to make it robust, adaptable, and easy to use and deploy by developers. Promote code reusability between beamlines;
- Work with data acquisition beamline teams on specific projects;
- Provide assistance to other developers to support the software on beamlines. Take responsibility for escalated issues;
- Promote the use of the GDA software outside Diamond;
- Use technical and professional knowledge to identify opportunities for technical or process improvement.
Software Engineer - Develop, support and enhance the data acquisition software used on Diamond’s beamlines from within the component team. Work with other Data Acquisition developers or beamline staff to understand beamline requirements. Develop and support the core GDA framework and a set of reusable common components. Coordinate development across beamlines to promote code reuse and to share engineering knowledge. Support Data Acquisition developers and other facilities that use Diamond’s GDA software for data acquisition.
- Develop, test, maintain and support the GDA software on Diamond’s beamlines, in collaboration with beamline staff, other members of the Data Acquisition group, and the Scientific Software and other groups;
- Provide first line support of the software for beamlines, interacting closely with both beamline staff and external users;
- Enhance the core GDA framework to make it robust, adaptable, and easy to use by developers;
- Provide a technical advisory/support function to other departments;
- Use technical and professional knowledge to identify opportunities for technical or process improvement;
- Undertake research or development work within parameters determined by more senior roles, and with regular review of progress;
- Maintain responsibility for the management and coordination of own workload, and ensure outputs are delivered on time and to high quality.
Qualification & Experience - Essential
- First degree in science or engineering;
- Experienced professional with significant post-qualification experience in technical software engineering;
- Significant relevant experience of Java;
- Ability and initiative to get to the heart of the problem and take it effectively through to completion;
- Good interpersonal, communication and presentational skills;
- Conscientious and pays attention to details;
- Ability to interact effectively with staff at all levels;
- Self motivated;
- Must be available to travel occasionally in UK and overseas including overnight absences;
- Ability to work on own initiative and take personal responsibility for delivery of work packages.
Additional requirements for appointment at the senior level:
- Ability to communicate complex information to a ‘non-technical’ audience in an easily comprehensible way;
- Ability to analyse, collate and present information in coherent reports or briefings;
- Ability to influence at a senior management level using in-depth professional knowledge.
Qualification & Experience - Desirable
- Skilled in developing UI applications (especially in Java's Eclipse RCP);
- Experience in managing significant projects, co-ordinating internal/external resources and managing associated budgets (Essential for appointment at the Senior level);
- Experience of UNIX-like operating systems and their administration.
- Experience of interfacing software to hardware;
- Excellent technical/theoretical understanding of methods, systems and approaches relating to technical software engineering; (Essential for appointment at the Senior level);
- Previous experience in supervising and directing small teams; (Essential for appointment at the Senior level).
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 firstname.lastname@example.org