Senior Software Engineer
Leidos
- Location
- Laurel, MD
- Work model
- On-Site
- Level
- Senior
- H-1B history
- 26 approvals (FY2023)
- Posted
- Aug 27, 2026
Skills
About this role
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. The Leidos Intel Sector combines technology-enabled services and mission software capabilities to support Intelligence Community customers as they address evolving national security challenges. About the Opportunity Leidos is seeking a Senior Software Engineer to develop, integrate, and enhance complex software systems supporting critical mission needs. You will solve challenging software and system problems, develop performance-driven solutions, integrate software into operational environments, and contribute technical leadership across the software development lifecycle. At this level, you will also help ensure the quality of team products, implement improvements to engineering practices, collaborate with systems and hardware engineers, and oversee software-development activities as appropriate to the project. Depending on assignment, the technical environment may emphasize Linux and Splunk engineering, cloud and distributed data platforms, or full-stack application development. Why This Role Matters Complex mission software must meet demanding functional, performance, interface, and operational requirements while continuing to evolve with changing mission needs. As a Senior Software Engineer, you will bring advanced technical judgment to those challenges—developing and integrating software, solving complex performance problems, improving engineering practices, and helping ensure software teams deliver reliable capabilities into operational environments.
What You'll Do
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 software 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 appropriate scientific analysis and mathematical models to evaluate design outcomes and consequences. Integration, Data & System 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. Write and review software and system documentation. Recommend and implement improvements to documentation and software-development process standards. Apply software-development and software-design methodologies appropriate to the development environment . Technical Leadership Serve as a team lead at the level appropriate to the software-development process and project. Oversee one or