Principal Software Engineer
About Leidos
Leidos is a FORTUNE 500® company bringing a mix of innovative technology and sector expertise to customers in the national security, engineering, and health industries. We deliver innovative solutions through the efforts of our diverse and talented people who are dedicated to our customers' success. Guided by our Mission, Vision, and Values, Leidos empowers its teams, contributes to its communities, and operates sustainably—always with a commitment to doing the right thing for our customers, our people, and our community. The Leidos Intel Sector combines technology-enabled services and mission software capabilities in the areas of cyber, logistics, security operations, and decision analytics to support Intelligence Community customers as they address evolving national security challenges.
About the Opportunity
Leidos is seeking a Principal Software Engineer to provide advanced software engineering and technical leadership for complex mission software systems. You will develop, maintain, integrate, and enhance software while helping establish the technical approaches, development processes, and quality standards used across software-development efforts. At this level, you will serve as a technical lead across multiple software-development teams, coordinate closely with customers and systems engineering, evaluate new technologies and processes, and help ensure developed and modified software meets demanding functional, performance, interface, and operational requirements.
Depending on assignment, the technical environment may emphasize Linux and Splunk platforms, cloud and distributed data technologies, full-stack application development, Python/C++ development, or Linux-based mission data-processing systems.
Why This Role Matters
Complex mission software requires more than strong individual development skills. It requires experienced technical leadership capable of making sound engineering decisions across teams while maintaining quality, performance, integration, and mission alignment. As a Principal Software Engineer, you will apply deep technical expertise while helping guide how software is designed, developed, tested, integrated, and delivered across complex engineering efforts.
What You'll Do
Advanced Software Design & Development
Analyze user requirements to derive software design and performance requirements.
Design and code new software and modify existing software to add capabilities.
Debug software, correct defects, adapt applications to new hardware, and improve performance.
Develop and implement algorithms that meet or exceed system functional and performance standards.
Design or implement complex algorithms subject to strict timing, system-resource, or interface constraints.
Design, develop, and modify software systems using scientific analysis and mathematical models to evaluate design outcomes and consequences.
Integration, Data & Systems Engineering
Integrate existing software into new or modified systems and operating environments.
Develop data queries for existing or proposed databases and data repositories.
Design and implement complex database and data-repository interfaces and queries.
Develop software solutions by analyzing system performance standards, system flows, data usage, work processes, and technical problem areas.
Confer with systems engineers and hardware engineers to derive software requirements and understand project limitations, capabilities, performance requirements, and interfaces.
Contribute to system-design decisions involving hardware/software tradeoffs, software reuse, COTS/GOTS alternatives, and requirements allocation.
Coordinate software-system installation and monitor equipment functioning to ensure operational specifications are met.
Testing, Quality & Engineering Practices
Review and test software components for adherence to design requirements and document test results.
Develop and execute test procedures for software components.
Resolve software problem reports.
Perform quality control on team products and ensure quality control of developed and modified software.
Write and review software and system documentation.
Recommend and implement improvements to documentation and software-development process standards.
Apply software-development and design methodologies appropriate to the development environment.
Technical Leadership & Engineering Direction
Serve as technical lead for multiple software-development teams.
Oversee software-development teams and ensure work is completed within the constraints of the development process being used.
Recommend new technologies and processes for complex software projects.
Select the software-development process in coordination with the customer and systems engineering.
Delegate programming and testing responsibilities to one or more teams and monitor team performance.
Provide technical leadership appropriate to the software-development process and project environment.
Coordinate engineering activities with customers, users, systems engineers, hardware engineers, and other technical stakeholders.
Required Qualifications
Clearance
TS/SCI with Polygraph upon Application, to be considered for this position.
Education & Experience
Minimum of twenty (20) years of experience as a Software Engineer supporting programs or contracts of similar scope, type, and complexity.
Bachelor's degree in Computer Science or a related discipline from an accredited college or university.
Four (4) additional years of Software Engineering experience on projects using similar software processes may be substituted for the bachelor's degree.
Assignment-Specific Technical Requirements
Technical requirements vary by assignment. Candidates are not expected to meet the requirements of every project profile below; they should meet the requirements associated with the specific project for which they are being considered.
Project 1 – Linux, Splunk & Platform Automation
Required
4+ years of experience with databases, Ansible, JSON, JavaScript, and Bash scripting.
2+ years of experience with Splunk.
15+ years of experience with Linux.
Experience providing system/server support, including operating system and application installation, configuration, administration, and troubleshooting.
Desired
Working knowledge of project data-flow technologies, including Niagrafiles, low-latency message transport, smart-collection systems, site-specific distribution management, and relevant protocols.
Working knowledge of Puppet.
Red Hat Certified System Administrator (RHCSA) or Red Hat Certified Engineer (RHCE).
Project 2 – Cloud, Splunk & Distributed Data Systems
Required
4+ years of experience with cloud technologies and Docker containerization.
5+ years of experience with RESTful APIs and web services.
9+ years of experience with Python, databases, JSON, Bash/Shell scripting, Java, XML, Scala, and Pig.
10+ years of experience with Splunk.
Experience with Hadoop, Spark, or similar technologies.
10+ years of experience with Linux.
Project 3 – Full-Stack Application Development
Required
1+ years of experience designing and developing RESTful applications.
1+ years of experience with MySQL databases.
1+ years of relevant UI/UX design experience.
5+ years of relevant Java or JavaScript experience.
Ability to create and deploy applications to a web server.
6+ years of programming experience on Linux platforms.
6+ years of experience with test-driven development.
7+ years of experience using version-control applications such as Git or Subversion (SVN).
Familiarity with network protocols, hardware, virtualization, security architectures, and firewall technologies.
Desired
Familiarity with Docker and Continuous Integration/Continuous Deployment (CI/CD).
Familiarity with Atlassian tools such as JIRA and Confluence.
Project 4 – Python/C++ Development
Required
4+ years of experience with Python and C++.
10+ years of relevant software-development experience in Linux environments.
Desired
Familiarity with Perl.
Project 5 – Linux Mission Data-Processing Systems
Required
4+ years of experience with databases, JSON, JavaScript, Python, and Bash scripting.
10+ years of relevant software-development experience.
15+ years of experience with Linux.
Experience providing system/server support, including operating system and application installation, configuration, administration, and troubleshooting.
Familiarity with network protocols, hardware, virtualization, security architectures, and firewall technologies.
Desired
Working knowledge of data-processing systems supporting areas such as internet and voice traffic analysis, telephony processing, digital network intelligence, and data management.
Red Hat Certified System Administrator (RHCSA) or Red Hat Certified Engineer (RHCE).
If you're looking for comfort, keep scrolling. At Leidos, we outthink, outbuild, and outpace the status quo — because the mission demands it. We're not hiring followers. We're recruiting the ones who disrupt, provoke, and refuse to fail. Step 10 is ancient history. We're already at step 30 — and moving faster than anyone else dares.
Original Posting:
August 26, 2026For U.S. Positions: While subject to change based on business needs, Leidos reasonably anticipates that this job requisition will remain open for at least 3 days with an anticipated close date of no earlier than 3 days after the original posting date as listed above.
Pay Range:
Pay Range $154,050.00 - $278,475.00The Leidos pay range for this job level is a general guideline only and not a guarantee of compensation or salary. Additional factors considered in extending an offer include (but are not limited to) responsibilities of the job, education, experience, knowledge, skills, and abilities, as well as internal equity, alignment with market data, applicable bargaining agreement (if any), or other law.