Senior Software Engineer

LeidosLaurel, MD
$131,300 - $237,350

About The Position

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. 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.

Requirements

  • TS/SCI with Polygraph upon Application, to be considered for the position.
  • Minimum of fourteen (14) 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.
  • 2+ years of experience with databases, Ansible, JSON, JavaScript, and Bash scripting.
  • 2+ years of experience with Splunk.
  • 10+ years of experience with Linux.
  • Familiarity with network protocols, hardware, virtualization, security architectures, and firewall technologies.
  • 2+ years of experience with cloud technologies and Docker containerization.
  • 3+ years of experience with RESTful APIs and web services.
  • 5+ years of experience with Linux.
  • 6+ years of experience with Python, databases, JSON, Bash/Shell scripting, Java, XML, and Scala.
  • 6+ years of experience with Splunk, including query language, reporting, dashboards, applications, data ingestion, integration, administration, and data modeling.
  • Familiarity with Hadoop, Spark, or similar technologies.
  • Experience with automation, distributed computing, load balancing, network protocols, hardware, virtualization, security architectures, firewalls, and switches.
  • Data-analysis skills and understanding of data structures.
  • Proficiency with configuration-management and automation tools including Ansible and Puppet.
  • Proficiency with software-management tools including Git and GitLab.
  • Knowledge of DevOps practices and tools.
  • 1+ years of experience designing and developing RESTful applications.
  • 1+ years of experience with MySQL databases.
  • 1+ years of relevant User Interface/User Experience (UI/UX) design experience.
  • 5+ years of relevant Java or JavaScript experience.
  • 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).
  • Ability to create and deploy applications to a web server.
  • Familiarity with network protocols, hardware, virtualization, security architectures, and firewall technologies.

Nice To Haves

  • 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).
  • Splunk Core Certified Advanced Power User certification.
  • Splunk Enterprise Certified Admin certification.
  • Red Hat Certified System Administrator (RHCSA) or Red Hat Certified Engineer (RHCE).
  • Familiarity with Docker and Continuous Integration/Continuous Deployment (CI/CD).
  • Familiarity with basic Linux system administration, package management, and virtualization.
  • Familiarity with Atlassian tools such as JIRA and Confluence.

Responsibilities

  • 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.
  • 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.
  • 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.
  • Serve as a team lead at the level appropriate to the software-development process and project.
  • Oversee one or more software-development teams and help ensure work is completed within the constraints of the development process being used.
  • Coordinate technical activities with users, systems engineers, hardware engineers, and other engineering disciplines.
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service