Software Engineer
Aquila TechnologyAbout the role
Software Engineer
Location: Candidates should expect to be onsite 2 days per week, 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. within 100 miles of Lexington, MA.
Clearance Level: Must be able to obtain an Active Secret Clearance - Must Be US Citizen to apply
At Aquila Technology, you will see our team’s passion every day, whether we are building a robust, policy-compliant IT system or stress-testing a system to identify gaps and security vulnerabilities. To own the advantage, we ensure our team owns results and gets the work done right the first time by deploying smart, purposeful solutions that work. Aquila is the right people with the right skills driving the right outcomes. We call this the Aquila Advantage.
Aquila Technology is seeking a Software Engineer to join our team in supporting one of the country’s premier defense research organizations. 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.
- Degree Level: Bachelor's Degree
- 10 years - Software/Algorithm Development
- 10 years - Program/Project Management OR Analysis
- 10 years - Software Documentation
- 7 years - Development experience on a Linux platform
- 2 years - Multithreaded programming
- 10 years - Object Oriented Software Design and Development
- 10 years - Python Programming/Scripting
- 10 years - Software Design/Development
- 7 years - Experience with controls systems in a Lab environment involving hardware/software development
- 10 years - Hardware and Software Integration
Nice to Have
- Programming
- C/C++ Programming
- Software
- Gitlab CI/CD
- Systems
- Communication Systems
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.
- 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 loo
Apply for this role
Generate a tailored application kit with a matched cover letter, interview prep, and CV highlights — in under 60 seconds.
Apply Now →Generate Application KitFree account required — sign up in 30s