JOB DESCRIPTION:
We are looking for a strong software engineer (Python) to build, debug, and operate testbeds and fielded systems for a tactical communications program.
This role combines software development with system integration and operational support. The ideal candidate will write and maintain software and tooling while also debugging issues across multiple layers of the system and ensuring reliable operation of deployed systems.
This role works closely with teams developing networking and data link capabilities and focuses on building shared test infrastructure and tools used across multiple users and organizations. This includes developing testbeds, network emulation/simulation capabilities, and automation and deployment frameworks that must be scalable, adaptable, and usable by a range of users in fast-evolving environments.
- Full lifecycle application development.
- Designing, coding, and debugging applications in various software languages.
- Software analysis, code analysis, requirements analysis, software review, identification of code metrics, system risk analysis, software reliability analysis.
- Object-oriented Design and Analysis (OOA and OOD).
- Software modeling and simulation.
- Front end graphical user interface design.
- Software testing and quality assurance.
- Performance tuning, improvement, balancing, usability, automation. Supports, maintains, and documents software functionality.
- Integrates software with existing systems.
- Evaluates and identifies new technologies for implementation.
- Maintains standards compliance. Implements localization or globalization of software
RESPONSIBILITIES:
- Design tools and systems that are actively used by others; success is measured by adoption, usability, and reliability not just functionality.
- Write and maintain shared software tools and test infrastructure (Python) used to deploy, configure, and operate systems across internal teams and external partners. Tools must be scalable, maintainable, and usable beyond one-off or individual workflows.
- Support and iterate on tools based on feedback from end users
- Build and support control interfaces, including GUIs and headless workflows driven by job queues and custom C2 messaging.
- Debug issues across all layers of the system: application, networking, Link Layer, OS, and hardware.
- Identify root cause and drive issues to resolution, including working with domain experts when needed.
- Bring systems up, keep them running, and recover them when they fail (restarts, reconfiguration, reimaging, FPGA reflashing, etc.).
- Support CI/CD pipelines and automated test environments.
- Validate and support releases across multiple active systems.
- Take ownership of uptime and system reliability across lab and field environments.
- This role involves working in partially defined environments where systems may be incomplete, unstable, or evolving.
REQUIRED QUALIFICATIONS:
- Python development skills.
- Experience working in Linux environments.
- Proven ability to debug complex, multi-layered systems.
- Experience with system integration across software and hardware.
- Experience developing team-facing tools or platforms that are used by multiple users (not just one-off or personal scripts).
- Experience building operational tools, GUIs, or control systems.
- High ownership: you take responsibility for outcomes, not just tasks.
- Comfortable designing systems and tools in environments with evolving requirements, prioritizing iteration, and usability over upfront perfection.
- Able to move quickly and make progress in loosely defined environments.
- Ability to work independently while collaborating closely with a small, hands-on team.
PREFERRED QUALIFICATIONS:
- Strong C++ development skills
- Experience with communications systems, networking, or RF systems.
- Familiarity with CI/CD systems (e.g., Gitlab).
- Familiarity with monitoring/observability tools (e.g., Grafana, InfluxDB).
- Experience supporting deployed or fielded systems.
WORK MODE:
- Candidate should expect to be onsite 2 days/wk with the remaining time remote.
- However, once a quarter, there will be an increased onsite presence (likely 5 days/wk) for a week or two during test cycles.
TRAVEL:
- Travel to test sites 1-2 times a year for a test event. This travel is domestic.
CLEARANCE:
- Candidates can start with an interim clearance at the start of the position.
INTERVIEW PROCESS:
- Initial phone or zoom interview; second round will be meeting with the broader team in person.
- For a relocation candidate, we will be open to a second-round zoom interview, but local candidates should plan to come in person