Share this Job

Software Engineer

Date: Jun 4, 2021

Location: Oak Ridge, TN, US, 37830

Company: Oak Ridge National Laboratory

Requisition Id 4982 

The Information Technology Services Division in the Business Services Directorate at the Oak Ridge National Laboratory is seeking qualified applicants for a Software Engineer in the Research and Development Systems Engineering group. The R&D Systems Engineering group exists to facilitate lab goals through systems engineering, code/application integration, and support for the research community at ORNL. We run mid-range clusters, servers, workstations, and other services where science happens at the lab.

 The Software Engineer will work with research teams looking to adopt DevOps principles and methodology.  They will participate in full application lifecycle management which includes the creation and maintenance of applications, programs, and tools across diverse systems. They will work closely with others inside of the DevOps team to build, port, maintain, optimize and/or deploy software applications and tools, and provide documentation for maintenance and usage. There is no expectation of routine publishing associated with this position.


Major Duties/Responsibilities

Primary duties include:

  • Support deployment, monitoring, and management of applications for ORNL research projects.
  • Work closely with research groups to ensure the availability, performance, scalability, and security of internally developed applications.
  • Review architecture and offer recommendations for improvements.
  • System troubleshooting and problem solving across multiple platforms.
  • Embrace continuous integration and continuous delivery (CI/CD) processes.
  • Evaluate new compilers and toolchains for SDLC.
  • Collaborate with research teams to ensure new tools and applications meet ORNL and sponsor requirements.
  • Identify and document IT best practices that will improve the systems deployment function.
  • Responsible for working with customers and internal support teams for resolving critical customer escalations on need basis.
  • Work with research teams to design workflows for hybrid and cloud-based workloads.
  • Troubleshoot software application problems quickly and effectively.
  • Diagnose and assist in troubleshooting of developed/supported applications.
  • Monitor systems performance.
  • Collaborate with operations teammates to install and configure developed software.
  • Maintain documentation/notes on software builds and installs.


Basic Requirements

  • Bachelor's degree in Computer Science, Software Engineering or related technical subjects or equivalent combination of education and experience.
  • A minimum of 5 years of experience developing within or managing UNIX/Linux Systems.
  • A minimum of 2 years of experience developing applications within containerized infrastructure.
  • A minimum of 2 years utilizing configuration management and automation tools such as Git, Jenkins, Make, CMake, AutoMake, Maven or other software development tools.
  • Experience utilizing code analysis test suites for code quality.
  • Fluency in at least one scripting language such as Bash, Python, Go or equivalent.
  • Fluency in C, C++, procedural and object-oriented programming languages.
  • The ability to obtain and maintain a Department of Energy clearance, which requires US Citizenship.


Preferred Qualifications

  • Bachelor's degree in Computer Science, Software Engineering or related technical subjects or equivalent combination of education and experience.
  • 10 years of experience developing within or managing UNIX/Linux Systems.
  • Experience implementing toolchain modernization with existing codebases in C/C++
  • Experience managing virtual infrastructure on AWS.
  • Experience deploying applications to containerized platforms such as docker swarms/Kubernetes clusters.
  • Experience with developing applications for RHEL, CENTOS, Windows and MacOS.
  • Experience using SAST and DAST code vulnerability test suites.
  • Knowledge of software-defined networking fundamentals including TCP/IP, traffic analysis, common protocols, and diagnostics.
  • Experience with performance and diagnostic tools for software benchmarking, analysis, and tuning.
  • Experience working with operational groups to optimize application performance.
  • Previous experience working in a government, scientific, or other highly technical environment.
  • Excellent interpersonal skills suitable for user support and ability to work well with peer system administrators.
  • Excellent written and verbal communication skills.
  • Ability to work independently and demonstrated analytical and problem-solving skills.
  • Demonstrated ability to balance complex research and security requirements.
  • Background of contributing to open source projects or avocational endeavors such as hacker/maker spaces is desirable.
  • Technical documentation skills, including ability to prepare simple documentation web pages.
  • CLI-level programming experience.
  • Experience designing and deploying applications across multiple operating systems and processor architectures.
  • An active Q and/or TS/SCI Department of Energy clearance preferred.


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