Position Title: Software Engineer
Location: Lexington, MA USA 02421 (Hybrid)
Duration: 3 years Contract on W2 (Possible Extension)
Job Description:
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.