Software and Systems Engineer
M1 Technology LLC · Herndon, VA · 3 mo ago
Information TechnologyFull-time
Key Responsibilities
- Design and implement new features across all Test Framework subsystems: Test Manager (configuration, orchestration, results) and Asset Manager (reservation, configuration, tasking, device adapters)
- Define and implement service APIs using IDLs
- Develop and maintain device adapters that abstract physical lab hardware (test devices, traffic generators, packet switches, optical switches) behind generic interfaces, including adapters for embedded Linux devices accessed over the network
- Implement and maintain datastores across multiple database technologies, e.g., PostgreSQL, GraphDB, DynamoDB
- Deploy and manage the Test Framework using Amazon CDK
- Develop and maintain CI/CD pipelines in Amazon Pipelines and Gitlab Pipelines
- Instrument and monitor services with CloudWatch, time series databases, and other alerting tools
- Produce and maintain technical documentation
- Provide technical support and guidance to users of the Test Framework
- Triage and resolve production issues
Required Qualifications
- 5+ years of professional software development experience
- Proficiency in Python or Rust; experience with both is a plus.
- Proficiency in Bash scripting
- Experience designing and building distributed systems
- Experience defining service interfaces using an IDL
- Experience with CI/CD pipeline design and implementation (GitLab CI, Jenkins, or equivalent)
- Familiarity with containerization
- Experience working in Linux/Unix environments, with an emphasis on console usage
- Strong written and verbal communication skills
Preferred Qualifications
- Experience with Amazon CDK or other Infrastructure as Code technologies
- Experience with embedded Linux systems
- Knowledge of networking fundamentals relevant to embedded and lab environments: Ethernet, IP routing, optical networking concepts, traffic generation and analysis
- Experience developing in classified or air-gapped environments with restricted tooling
- Experience with AWS CloudWatch for observability: metrics, logs, alarms, and dashboards
- Experience with test framework technologies, e.g., pytest, pytest-bdd, robot, behave, etc.
- Background in hardware-in-the-loop or lab automation testing environments