Embedded Software Test Engineer
This role focuses on developing, executing, and maintaining automated test frameworks to ensure the quality and reliability of Battery Management System (BMS) products used in large-scale energy storage solutions. You will validate embedded software and hardware systems deployed globally, working hands-on with controllers, embedded devices, sensors, communication protocols, and physical hardware. The position emphasizes embedded systems testing rather than traditional software-only QA, combining strong quality assurance fundamentals with practical experience in scripting, networking, and embedded environments.
Responsibilities
- Develop, execute, and maintain automated test cases for embedded Battery Management Systems (BMS).
- Design and implement regression test plans and support ongoing release validation activities.
- Create automation scripts using Python and Bash to validate embedded system functionality.
- Execute tests directly on physical hardware, including controllers, sensors, and network-connected devices.
- Perform system stress testing, fault injection testing, and reliability testing to evaluate system robustness.
- Transfer, manipulate, and validate files on embedded Linux devices using SSH and FTP/SFTP.
- Analyze logs and system outputs to identify, document, and help resolve software and hardware defects.
- Verify communication across devices using Modbus TCP, Ethernet, TCP/IP, and related networking protocols.
- Develop creative test strategies to expose system vulnerabilities, edge cases, and failure modes.
- Document test cases, execution results, and defects using Jira, Xray, or similar test management tools.
- Collaborate closely with software, firmware, and hardware engineering teams to troubleshoot issues and improve product quality.
- Support manufacturing and deployment testing activities for energy storage systems.
- Contribute to continuous improvement of test frameworks, tools, and processes for embedded systems validation.
Requirements
- Bachelor's degree in Computer Engineering, Electrical Engineering, Computer Science, or a related technical field.
- 5+ years of experience in Quality Assurance, Test Engineering, Validation Engineering, or Test Automation.
- Proven experience testing embedded systems, hardware/software integrated products, or industrial control systems.
- Hands-on Python scripting experience for test automation.
- Bash scripting experience within embedded environments.
- Strong Linux troubleshooting and command-line skills.
- Experience using SSH, FTP/SFTP, and remote device administration tools.
- Solid understanding of TCP/IP networking fundamentals.
- Experience validating networked devices and communications.
- Demonstrated experience in defect reporting and test documentation.
- Experience developing test plans, test procedures, and regression testing strategies.
- Ability to work directly with embedded devices, controllers, sensors, and physical hardware in a lab environment.
Skills
- Experience with Battery Management Systems (BMS), energy storage, electric vehicles (EV), or power systems.
- Familiarity with Modbus TCP or other industrial communication protocols.
- Experience with Jira and Xray Test Management or similar test management platforms.
- Knowledge of hardware interfaces, controllers, sensors, and data acquisition systems.
- Experience automating test execution across multiple connected devices.
- Understanding of file integrity validation techniques such as CRC and hash validation.
- Experience analyzing system logs and identifying root causes of failures.
- Strong problem-solving mindset and ability to design creative test strategies.
- Effective communication skills for cross-functional collaboration with software, firmware, and hardware teams.
Work Environment
This is a hybrid role with three days in the office and two days working from home each week. You will work directly on the Battery Management System hardware and embedded Linux devices in a hands-on lab environment, interacting with controllers, sensors, and network-connected equipment. The position involves frequent use of Linux command-line tools, SSH, FTP/SFTP, networking utilities, and test management platforms such as Jira and Xray. The environment supports collaboration with software, firmware, and hardware engineering teams and emphasizes rigorous testing, continuous improvement, and high-quality delivery of large-scale energy storage solutions.
Pay
The pay range for this position is $60.00 - $77.00/hr.
Benefits
Eligibility requirements apply to some benefits and may depend on your job classification and length of employment. Benefits are subject to change and may be subject to specific elections, plan, or program terms. If eligible, the benefits available for this temporary role may include the following:
- Medical, dental & vision
- Critical Illness, Accident, and Hospital
- 401(k) Retirement Plan – Pre-tax and Roth post-tax contributions available
- Life Insurance (Voluntary Life & AD&D for the employee and dependents)
- Short and long-term disability
- Health Spending Account (HSA)
- Transportation benefits
- Employee Assistance Program
- Time Off/Leave (PTO, Vacation or Sick Leave)
Schedule
This is a Contract position based out of Herndon, VA, with a hybrid schedule of three days in the office and two days working from home each week.