Share this Job

Research Software Engineer - Neutrons

Date: Jan 18, 2023

Location: Oak Ridge, TN, US, 37831

Company: Oak Ridge National Laboratory

Requisition Id 9731 




Oak Ridge National Laboratory (ORNL) is the United States Department of Energy's largest science and energy laboratory tasked to provide the United States government agencies and departments with technology and expertise to support national and homeland security needs. 

Our diverse capabilities span scientific and engineering disciplines, enabling the Laboratory to explore fundamental science challenges and to carry out the research needed to accelerate the delivery of solutions to the marketplace. 

We invite applications for the position of Research Software Engineer in the Applications Engineering Group within the Computer Science and Mathematics Division.


The Application Engineering group is tasked with engineering the next generation of scientific software to meet the quality, performance, reliability, trustworthiness, and usability requirements needed to fulfill our mission of scientific discovery. We are committed to the notion that excellence in science requires excellence in software, and actively investigate and adopt techniques and tools that will ensure that software developed by our group is of the highest standard.


Computer Science and Mathematics Division (CSMD). The Computer Science and Mathematics Division is ORNL's premier source of basic and applied research in high-performance computing, applied mathematics, intelligent systems, and software engineering.


Job Duties and Responsibilities:


  • Work closely with management and staff in both CSMD and the Neutron Scattering Division to evaluate and optimize the software development practices of the group, determine appropriate staffing levels, and ensure success of the project.
  • Lead planning and major development efforts on scientific software projects for neutron techniques in the areas of diffraction, engineering diffraction, imaging, reflectometry, small-angle scattering, and spectroscopy.
  • Lead or collaborate on proposals related to the neutron sciences, and on proposals in computing that support better software and infrastructure for the neutron sciences.
  • Coordinate, lead, and act as a representative of the Laboratory in international collaborations related to scattering software.
  • Work closely with partners to meet their software requirements, address bugs, and achieve their scientific goals.
  • Act as a mentor for project members, junior staff, post-graduates, and students to help them grow.


Basic Requirements:


  • A minimum of a BS degree in computer science or a scientific field and 5+ years of relevant experience outside of degree.
  • Experience with languages including C++ and Python; tools such as Git and Docker; and modern practices such as test-driven development and continuous integration/continuous deployment.


Preferred Requirements:


  • 8+ years of experience in addition to the degree.
  • Experience with Agile software development practices and a firm, demonstrable knowledge of software development lifecycles.
  • The ability to work on a team in a dynamic group environment as the team meets daily, practices continuous integration, collaborates on the source code and has regular deadlines as part of an Agile-based development process.
  • Prior experience developing or contributing to large, complex software systems in the physical and neutron sciences.
  • Experience with multiple languages beyond C++ and Python.
  • Experience in high-performance computing and a working knowledge of the field. Bonus points for experience with resources from the National Center for Computational Sciences.
  • Activity within the broader open-source software community.
  • A track-record in developing detailed documentation in multiple formats and experience with documentation generation using tools like Sphinx, and Doxygen.


Code Sample:


An open-source code sample that may be used for evaluation purposes will be required later in the application process. Your code sample should be related in some way to the subject of this post. It should be object-oriented, contain five or more classes, show a sophisticated understanding of the project and be your sole work to a very high degree (>95%). Code samples will need to be made available on GitHub or a similar sharing platform.


Benefits at ORNL:  


UT Battelle offers an exceptional benefits package to include matching 401K, Pension Plan, Paid Vacation and Medical / Dental plan. Onsite amenities include Credit Union, Medical Clinic and free Fitness facilities.   

For more information about our benefits, working here, and living here, visit the “About” tab at




This position will remain open for a minimum of 5 days after which it will close when a qualified candidate is identified and/or hired.

We accept Word (.doc, .docx), Adobe (unsecured .pdf), Rich Text Format (.rtf), and HTML (.htm, .html) up to 5MB in size. Resumes from third party vendors will not be accepted; these resumes will be deleted and the candidates submitted will not be considered for employment.

If you have trouble applying for a position, please email

ORNL is an equal opportunity employer. All qualified applicants, including individuals with disabilities and protected veterans, are encouraged to apply.  UT-Battelle is an E-Verify employer.

Nearest Major Market: Knoxville