Software Engineer
Listed on 2026-07-20
-
Software Development
Software Engineer
Job Description
The Applied Physics Laboratory (APL) has an outstanding opportunity for a Software Engineer to join the Electronic and Photonic Systems (EPS) Department. This is a full-time Maryland-based position.
About this OpportunityReporting to the Senior Principal Engineer, the Software Engineer will specialize in systems engineering for unmanned and unattended sensors. The person hired will play a critical role in the design, integration, and lifecycle management of novel autonomous platforms. This position focuses on Unmanned Systems (UxS) and Unattended Sensors, ensuring these technologies operate reliably in complex maritime environments. This position will work closely with the Technical Project Manager and the customer.
This position will work throughout all phases of system development and integration from requirements gathering through final release and life cycle maintenance for major hardware and software components. The incumbent must have experience testing, integrating, and deploying a complex system of systems. The candidate must be comfortable working at multiple location types such as offices, on-site naval testing facilities, or candidate must be capable of troubleshooting complex problems in real time.
The candidate must anticipate and identify potential technical issues and produce innovative solutions.
- Deconstruct high-level mission needs and customer objectives into system architectures, functional allocations, software interfaces, and integration concepts for unmanned systems, unattended sensors, and supporting mission software.
- Work with the customer’s Project Manager, technical leadership, software developers, test engineers, and external performers to define system boundaries, interface assumptions, operational constraints, and technical risks early in the development lifecycle.
- Develop and maintain architecture artifacts such as interface descriptions, data-flow diagrams, sequence diagrams, software/system block diagrams, architecture notes, version description documentation, and technical decision records.
- Evaluate existing and emerging software frameworks, open-source tools, autonomy frameworks, sensor packages, and mission-system components; identify architectural gaps, legacy-code issues, inefficient computations, fragile interfaces, and recommended corrections.
- Work with the customer’s Project Manager, Technical Project Manager, software developers, test engineers, and external stakeholders to elicit, refine, document, and maintain requirements for unmanned systems, unattended sensors, mission software, test tools, and integration environments.
- Maintain traceability from customer needs and operational scenarios through system architecture, software tasks, test cases, validation activities, and delivered capability using MBSE tools, requirements databases, issue trackers, and version-control artifacts as appropriate.
- Identify ambiguous, incomplete, conflicting, or changing requirements and work with the customer and internal leadership to resolve scope, schedule, cost, feasibility, and quality impacts.
- Provide technical oversight for software, autonomy, integration, and test activities supporting unmanned systems, unattended sensors, mission software, open-source tool evaluation, and supporting laboratory or field environments.
- Review software designs and implementations for correctness, maintainability, performance, testability, safety, and alignment with program standards; provide feedback to engineers and help correct technical issues before release.
- Lead or contribute to small technical teams by assigning tasks, monitoring progress, resolving blockers, reviewing work products, and mentoring junior engineers in coding practices, documentation, configuration management, testing discipline, and customer communication.
- Analyze legacy software and integration frameworks to identify inefficient calculations, boundary-condition risks, fragile assumptions, unreachable code, missing tests, and opportunities for refactoring, improved automation, or improved validation.
- Lead or support integration of software components, autonomy behaviors, sensor interfaces, communication links, test tools, and mission-system components in laboratory, simulation, customer-site, naval test facility, or at-sea environments.
- Develop integration plans, test procedures, test readiness materials, configuration records, test data collection plans, and acceptance criteria for software and system-of-systems testing.
- Troubleshoot complex real-time integration issues involving software behavior, timing, data messages, sensor interfaces, configuration errors, network behavior, external tools, and interactions among multiple hardware/software components.
- Work closely with Navy stakeholders, software developers, and external vendors to ensure…
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).