Software Engineer I

Leidos•San Diego, CA
•$69,550 - $125,725•Onsite

About The Position

The Undersea Systems Division at Leidos is seeking a Software Engineer I to join an engineering group in San Diego, California, that rapidly prototypes ocean systems. The role collaborates across a medium-sized team with technical responsibility for custom development and prototyping across multiple disciplines. Work ranges from real-world problem solving and concept development through iterative design, testing, and product demonstrations. The position calls for experience with firmware and software design processes. The engineer develops software for maritime missions, works directly with customers to translate mission needs into technical requirements, and supports prototype testing in laboratory, field, and at-sea settings. The position requires an active Secret clearance or the ability to obtain one and is onsite on a 9/80B schedule: 80 work hours over nine days in a two-week period, with every other Friday off, to align with the NIWC government team.

Requirements

  • U.S. citizenship and an active Secret security clearance or ability to obtain one.
  • Bachelor’s degree from an accredited institution in Computer Science, Software Engineering, Computer Engineering, or another related STEM field.
  • Relevant professional, internship, academic, or project experience developing and integrating software applications.
  • Proficiency in Python and experience using it to develop applications, automation tools, data-processing solutions, or hardware-control software.
  • Experience designing, developing, and integrating REST APIs.
  • Proficiency with software version-control processes and tools such as Git and GitHub.
  • Working knowledge of Linux command-line tools and shell scripting.
  • Experience testing software and debugging applications that integrate multiple data sources, services, or hardware components.
  • Ability to work effectively in a small, multidisciplinary team and contribute across multiple phases of the software-development lifecycle.
  • Ability to interact professionally and directly with customers, including gathering requirements, communicating technical tradeoffs, presenting demonstrations, and responding to feedback.
  • Ability to understand complex technical documents and communicate technical ideas effectively in writing, orally, and visually.

Nice To Haves

  • Experience with C++ and integrating software with purpose-built electromechanical or embedded systems.
  • Experience developing modular test architectures that support live hardware, recorded data, simulation, or other test inputs.
  • Experience integrating operational telemetry, environmental data, or external web services into software applications.
  • Experience developing interactive dashboards, data visualizations, geospatial maps, or configurable filtering capabilities.
  • Experience with test automation, build automation, static analysis, and continuous integration processes.
  • Familiarity with embedded or network communications protocols such as Ethernet, TCP/IP, or serial communications.
  • Familiarity with embedded electronics test equipment, including power supplies, oscilloscopes, and hardware debuggers.
  • Experience supporting laboratory, field, pier-side, or at-sea system integration and testing.
  • Experience working directly with government, defense, or technical customers in a rapid-prototyping environment.
  • Ability to operate independently, manage changing priorities, and assume broad technical responsibilities within a small team.

Responsibilities

  • Collaborate with a small engineering team and customers to identify software requirements and evaluate design approaches for technical problems.
  • Work directly with customers to understand mission needs, translate operational objectives into technical requirements, demonstrate software capabilities, and incorporate feedback.
  • Design and develop maintainable, robust, and performant software applications, services, data pipelines, and user interfaces.
  • Develop Python-based software for data processing, analytics, hardware integration, automation, and testing.
  • Build and integrate web-based and desktop user interfaces for system configuration, data visualization, and operational monitoring.
  • Implement, test, integrate, and verify software solutions against project and customer requirements for functionality, reliability, performance, and usability.
  • Develop and maintain engineering documentation, including interface control documents, software requirements specifications, test procedures, and user documentation.
  • Coordinate development with the engineering team and customers, anticipate design changes, prioritize features and bug fixes, and solicit feedback.
  • Support laboratory, field, and at-sea testing of prototype systems, including troubleshooting software, hardware interfaces, and operational data flows.
  • Present technical concepts, development progress, test results, and product demonstrations to customers and stakeholders.
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service