Senior Control System Software R&D Engineer
Oak Ridge National LaboratoryAbout the role
Requisition Id 15149
Overview:
The Control System Section at the Spallation Neutron Source (SNS) is seeking a highly skilled, innovative Senior Control System Software Engineer to focus on control system architecture, infrastructure, system software and applications. This position is part of the Controls Integration Group within the Research Accelerator Division of the Neutron Sciences Directorate at Oak Ridge National Laboratory (ORNL).
The group is responsible for the overall architecture needed to maintain and improve integrated control systems for the SNS machine to ensure safe, high-reliability beam delivery to the target. These systems typically utilize PLC, VME, or MicroTCA hardware, integrated using the Experimental Physics and Industrial Control System (EPICS) framework. The architecture will need to evolve to meet increasing requirements and keep the internal network secure.
This position reports to the Controls Integration Group Leader. The group is currently focused on modernizing the SNS control system hardware and software, preparing systems for 2.8MW operations and building more cyber resilient computing and network infrastructure. Ongoing upgrade projects include replacing legacy VME solutions with MicroTCA applications, migrating applications to EPICS 7, introducing the PVAccess protocol, and enhancing the control room operator experience using more modern software tools.
The selected candidate will support these modernization efforts by:
- Research on performance, implementation and sustainability of PV Access and Secure EPICS in production systems to prepare for future adoption
- Developing system level software to support EPICS application development and testing including EPICS builds to support integration of various hardware platforms with EPICS
- Providing EPICS integration of machine specific semi-custom systems such as the timing and machine protection systems
- Working with other EPICS experts around the world to advance the state-of-art for scientific user facilities.
Major Duties/Responsibilities:
- Lead innovative research projects relevant to control systems for experimental physics facilities including emerging requirements, cyber resilience and/or AL/ML projects
- Participate in the EPICS collaboration, contributing to one or more working groups and sharing progress and expertise with the community
- Support the scientific mission of SNS by developing and evolving the overall machine control system architecture
- Develop software including device drivers, device control applications, and user interface applications within a Linux based EPICS environment including machine specify FPGA based applications
- Design and implement improvements to the software development, build, test and deployment environment and processes to ensure robust reliable solutions transition to operations while maintaining high control system availability
- Ensure compliance with environmental, safety, health, and quality programs and contribute to the development of Software Quality Assurance plans and methods.
- Deliver ORNL’s mission by aligning behaviors, priorities, and interactions with our core values of Impact, Integrity, Teamwork, Safety, and Service. Promote equal opportunity by fostering a respectful workplace – in how we treat one another, work together, and measure success.
- As a member of the ORNL scientific community, commit to ORNL’s Research Code of Conduct. The full code of conduct and a statement from the Lab Director’s office can be found here: https://www.ornl.gov/content/research-integrity
Basic Qualifications:
- PhD in physics, computer science, engineering, or a related field with at least 6 years of relevant experience; an MS degree with a minimum of 12 years of relevant experience; or a BS degree with at least 15 years of relevant experience
- At least 5 years of experience working on large, distributed control systems with a variety of device types
- At least 5 years of experience programming in C++
- Experience with standard Linux packaging mechanism, custom build images and kernel driver development
- Expertise with at least one or more applicable programming language, such as C++, Python, Java
- Experience with one or more hardware-software communication interfaces: UART, I2C, Modbus
Apply for this role
Generate a tailored application kit with a matched cover letter, interview prep, and CV highlights — in under 60 seconds.
Apply Now →Generate Application KitFree account required — sign up in 30s