Senior Software Engineer (Design in Test)
Posted Updated
Summary
Designs and builds Python-based automated test frameworks and simulators for embedded Linux systems, integrating them into CI/CD pipelines. Collaborates with developers to analyze failures, validate fixes, and ensure quality across enterprise software and device workflows.
- The Software Development Engineer in Test (SDET) is responsible for designing and implementing automated test frameworks, tools, and simulated environments that ensure the reliability and quality of our enterprise software systems. This role is development‑focused and centers on building test harnesses, emulating third‑party systems and network conditions, and creating robust automation infrastructure that enables comprehensive in‑house validation
- The SDET develops reusable test code, service/API simulators, and scalable Python‑based frameworks that integrate into CI/CD pipelines to deliver consistent and repeatable coverage across complex application workflows. In addition to building automation systems, they analyze system behavior, investigate failures, collaborate closely with developers, and validate fixes to drive overall product stability and release confidence
- Design, develop, and maintain automated test frameworks and tools using Python, targeting embedded Linux systems
- Build and maintain Python test cases and libraries, with opportunities to develop tooling and infrastructure around device automation and visibility
- Monitor nightly automated test runs, analyze failures, and provide actionable insights through integrations with Jira/X‑Ray, Slack, and CI/CD pipelines
- Troubleshoot and diagnose issues within the embedded Linux system, including examining system logs and device telemetry, collaborating with developers to isolate root causes and verify fixes
- Perform targeted manual testing for new feature development, complex regression scenarios, and defect reproduction where automation is not yet feasible
- Validate functional behavior, edge cases, and system workflows across distributed application components
- Document test frameworks, automation patterns, test cases, expected outcomes, and reproduction steps for defects
- Support and improve internal Python‑based test applications, tools, and services used in daily verification workflows
- Ensure adequate test coverage for new features, releases, and high‑risk areas
- Contribute to continuous improvement of automation tooling, coding standards, and test strategy
- Assist in ensuring readiness of builds for deployment and release
- Other job-related duties as assigned
Benefits
- Competitive compensation: We offer competitive compensation as well as 401(k) with employer match.
- 100% health insurance: We cover 100% of our employee’s health premiums for medical, dental and vision insurance with various plan choices such as HRA, LSA and HSA
- Time off: Striking a balance between work and our personal lives is important. We offer 15 days of PTO, 11 company holidays, four floating holidays (pro-rated based on hire date) and one day of paid volunteerism leave per year.
- Flexible work schedule: Need to focus on family certain hours of the day? Are you a night owl? We can work with you to build a schedule that works best for you and your teammates.
- Maternity leave: New birth mothers receive up to eight weeks of paid leave for medical recovery due to childbirth, supplementing employer-provided disability insurance.
- Parental leave: For births or adoptions, new parents are offered paid leave to care for and bond with their new child.
- ESPP: Be part of the growth and success story at BlackSky by participating in our Employee Stock Purchase Program.
- PC or Mac: You select the type of computing environment that works best for you. And, yes, we are deeply into cloud computing.
- Casual offices: No stuffy environment at BlackSky. We want you for who you are, not what you wear.
- On-site perks: Like to work out at lunch? Visit our on-site gyms. And recharge afterwards with free snacks and beverages.
- Team get-togethers: We host events across teams. Learn who your coworkers are, not just where they sit and what they do.
- Unique swag: Lots of companies offer embroidered hats and gear (and we do, too). But, which of them offer mission patches too?
- Experience designing and maintaining automated CLI tests, with emphasis on code structure and maintainability
- Strong troubleshooting and debugging skills across application layers (API, backend services, UI)
- Minimum of years of six (6) years of experience as a Software Test Engineer, Automation Engineer, or SDET, with significant hands‑on software development responsibilities
- Strong ability to analyze automated test results, identify root causes across services and layers, and validate fixes in collaboration with developers
- Strong proficiency in Python, including writing reusable modules, building automation frameworks, and creating test harnesses or tools
- Understanding of embedded Linux systems, API-driven architectures, and service interactions
- Due to program requirements, this position requires US citizenship
- Working knowledge of CI-based automated test pipelines, nightly execution workflows, and test orchestration
- Bachelor’s degree in relevant field of study (or equivalent additional experience of four years)
- Familiarity with reporting test results and integrating automation with Jira/XRay, Slack, or similar tools
- Ability to document test plans, automation approaches, and defect reports with clarity and precision
- Experience building Python‑based utilities, simulators, mocks, or environment emulators to support complex test scenarios
- Experience developing automated API tests using Python Requests or equivalent frameworks
- Experience testing and verifying embedded software
- Bonus for ability to debug C/C++ and perform fault analysis
- Experience programming in Python
- Bonus if experience building or maintaining hardware for embedded software testing
- Experience programming in C/C++
- Experience maintaining CI/CD systems, or in maintaining infrastructure as code
- Experience with QEMU and device emulation
- Experience with buildroot or Yocto
