Early/Mid-Level Software Engineer

Idaho National LaboratoryIdaho Falls, ID
$79,344 - $195,288Onsite

About The Position

Idaho National Laboratory is hiring a Software Engineer to support research and development efforts involving radio frequency (RF) systems and modeling, software-defined radio platforms, laboratory test environments, automation tools, and mission-focused software applications. The successful candidate will design, develop, integrate, test, document, and sustain software used in research, laboratory, and field environments. This role requires a hands-on software engineer who can work effectively as part of a technical team, follow disciplined software engineering practices, and help translate evolving research needs into reliable software solutions. This position is ideal for an early to mid-level software engineer with experience in software development, requirements implementation, test support, configuration management, continuous integration and continuous delivery, and full software development lifecycle execution. The incumbent of this role will work a 9x80 schedule onsite Idaho Falls, Idaho with every other Friday off.

Requirements

  • Level 2: Bachelor’s in computer science, software engineering, computer information systems, information technology, or a related field from an accredited institution AND 2 years of experience.
  • Level 2: Master’s in computer science, software engineering, computer information systems, information technology, or a related field from an accredited institution AND 0 years of experience.
  • Level 2: PhD in computer science, software engineering, computer information systems, information technology, or a related field from an accredited institution AND 0 years' experience.
  • Level 3: Bachelor's degree in computer science, software engineering, computer information systems, information technology, or a related field from an accredited institution AND 5 years of experience.
  • Level 3: Master’s in computer science, software engineering, computer information systems, information technology, or a related field from an accredited institution AND 2 years of experience.
  • Level 3: PhD degree in computer science, software engineering, computer information systems, information technology, or a related field from an accredited institution AND 2 years of experience
  • Equivalent combination of education and experience commensurate with a level that provides the required skills, knowledge, and abilities to successfully perform the essential functions of the position.
  • Relevant experience using Integrated Development Environments (IDEs) such as Visual Studio or VS Code.
  • Depending on work assignment, obtain and maintain Q-clearance and SCI access, and willingness to complete a US Government polygraph upon request.
  • Depending on work assignment, applicants may be subject to the requirements of DOE O 142.3B, Unclassified Foreign National Access Program.

Nice To Haves

  • Hands-on software engineering experience with developing, testing, documenting and sustaining software as part of a collaborative technical team.
  • Ease in working within research environments, implementing software from evolving requirements, supporting disciplined software engineering practices, and learning from senior engineers while contributing to reliable, mission-focused software solutions.
  • Experience developing software for RF systems, software-defined radio applications, laboratory test systems, cellular test environments, instrumentation, data acquisition, or cyber-physical systems.
  • Experience working within or supporting a CMMI-DEV software process environment.
  • Experience supporting research and development environments where requirements evolve as prototypes mature.
  • Experience with DevSecOps practices, secure coding, dependency scanning, static analysis, vulnerability remediation, or software supply chain considerations.
  • Experience with Agile, Scrum, Kanban, or hybrid software development methods.
  • Experience with issue tracking and project management tools such as Jira, GitLab, GitHub Issues, Azure DevOps, or similar tools.
  • Experience with automated testing frameworks, unit testing, integration testing, regression testing, and test coverage analysis.
  • Experience with containerization or virtualization technologies such as Docker, Kubernetes, or VMware.
  • Experience with Linux system administration concepts, networking concepts, shell scripting, and deployment in isolated or controlled lab environments.
  • Experience with requirements management tools such as DOORS, Jama Connect, Polarion, Jira, or similar tools.
  • Bachelor's degree in software engineering, computer science, computer engineering, electrical engineering, or a related technical discipline; equivalent experience may be considered.

Responsibilities

  • Design, develop, test, integrate, and maintain software applications supporting research, test, automation, data collection, and analysis activities.
  • Develop software using languages such as C, C++, Java, Python, Bash, or similar technologies.
  • Implement software features based on user needs, technical requirements, and project objectives.
  • Support the development of software designs, implementation plans, and project artifacts under the guidance of senior engineers or technical leads.
  • Support software integration with laboratory systems, RF systems, software-defined radios, instrumentation, networks, and computing infrastructure.
  • Troubleshoot software defects, integration issues, build failures, performance issues, and deployment problems in Linux and Windows environments.
  • Work as part of a software development team to deliver reliable, maintainable software solutions.
  • Participate in task planning, design discussions, code reviews, integration activities, and technical issue resolution.
  • Collaborate with researchers, senior software engineers, system administrators, technicians, cybersecurity staff, and project leadership.
  • Communicate development status, technical challenges, and risks clearly and in a timely manner.
  • Support junior team members, interns, or project contributors as needed.
  • Support software quality assurance practices consistent with disciplined software development processes.
  • Develop and maintain software requirements, design notes, interface documentation, test procedures, test results, release notes, and user documentation.
  • Apply software engineering practices including requirements traceability, configuration control, peer review, defect tracking, verification, and validation.
  • Develop and maintain Unified Modeling Language (UML) diagrams or similar software design artifacts, as appropriate.
  • Participate in software design reviews, code inspections, quality reviews, and release readiness activities.
  • Support software process activities consistent with Capability Maturity Model Integration for Development (CMMI-DEV) principles, where applicable.
  • Support the development, maintenance, and use of continuous integration and continuous delivery (CI/CD) pipelines.
  • Support automated builds, automated testing, static analysis, artifact generation, and release packaging.
  • Use Git or similar version-control systems to manage source code, configuration files, branches, tags, and release baselines.
  • Support build and automation tools such as Jenkins, GitLab CI/CD, CMake, Maven, Gradle, Make, or similar tools.
  • Assist with secure software development practices, dependency management, vulnerability remediation, and cybersecurity review support.

Benefits

  • Medical, Dental, Vision, and Flexible Spending Accounts
  • 401(k) with a 4.2% employer contribution and up to 4.8% match (regular positions) or self-contribute access (postdoctoral positions)
  • Paid time off (personal leave)
  • Employee Education Program (tuition assistance for eligible positions)
  • Comprehensive Relocation Package
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service