Research Software Engineer

Research Software Engineer


Research Software Engineer

Details of the offer

Requisition Id

Oak Ridge National Laboratory (ORNL) is the United States Department of Energys 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/Technical Staff Member within the Computer Science and Mathematics Division.

This position is part of ORNL's Scientific Software Initiative, which provides scientific software development expertise to the Laboratory, by providing software engineering and development services across the Laboratory in a broad range of areas and topics. The Initiative supports the mission of the Laboratory by creating a community for software professionals at the Laboratory to connect people, projects, and interested parties; by providing software engineering expertise for development, evaluation, quality assurance or other needs; by providing training and continuing education opportunities; by providing fair performance evaluation criteria; by recruiting new software engineering talent; and by mentoring students and early career scientists and engineers.

The Initiative currently contributes to scientific computing projects in advanced materials, advanced manufacturing and 3D printing, astrophysics, batteries, neutron science, nuclear energy, and quantum computing. It also contributes to pure computer science projects. Initiative members are active in the open source community, including the Eclipse Foundation, and most Initiative projects are available on GitHub.

Job Duties and Responsibilities:

:Contribute to the development of open source software on scientific projects and original research.
:Deploy, maintain, and support web applications, servers, and cloud development platforms in support of scientific projects.
:Work closely with customers to meet their software requirements, address bugs, and achieve their scientific goals.

Basic Requirements:

:A minimum of a MS Degree in physics, chemistry, computer science, or a related field.
:5+ years of
experience in modern object:oriented programming languages including C++, Java or Python, outside of degree.
:Demonstrated software development experience in computational science, engineering, computer science, or applied math.

Preferred Requirements:

:PhD and 2+ years of software engineering experience outside of the degree.
:Experience with software development methodologies, such as version control systems like Git and Subversion and knowledge of UML.
:Excellent communication and writing skills
: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.
:Prior experience developing or contributing to large, complex software systems.
:Experience using multiple languages, including the following: C/C++, Java, JavaScript, Python. Applicants with experience only in Fortran will not be considered.
:Activity within the broader open:source software community would be looked upon favorably, but is not required.
:Regular presentations or tutorials at relevant conferences.
:A track:record in developing detailed documentation in multiple formats and experience with documentation generation using tools like Javadoc and Doxygen.
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



  • Eclipse
  • Subversion
  • Basic
  • Java

Machine operator (5189-1)

ESSENTIAL DUTIES AND RESPONSIBILITIES: • Pulls stock from inventory • Read & interpret blueprints to cut stock • Operate cut-off saw • Issue cut-stock to...


Published 23 days ago

Stock room clerk (5186-1)

POSITION SUMMARY: Receives, stores, and issues material and supplies and compiles stock records in stockroom. ESSENTIAL DUTIES AND RESPONSIBILITIES: • Receive...


Published a month ago

Assembler (5185-1)

Job Description: Under specific instruction, assembles individual electronic, electrical and mechanical components as required from the specific engineering...

North Carolina

Published a month ago

Assembler (5199-1)

ESSENTIAL DUTIES AND RESPONSIBILITES: include the following: Performs bench-type processes to complete mechanical and electrical assemblies and sub-assemblies...


Published 16 days ago