Location: St. Petersburg, FL (Onsite)
Job Type: Contract (6+ Months)
Rate: TBD
Position Overview
We are seeking an experienced Software/Firmware Design Engineer to develop, design, and test embedded software for electromechanical systems. This role focuses on firmware development for 8-bit, 16-bit, and 32-bit microprocessors and microcontrollers, including motor control applications, software verification, and hardware/software integration.
The engineer will work with cross-functional engineering teams throughout the software development lifecycle, from requirements and architecture through implementation, integration, and testing.
Key Responsibilities
- Design, develop, and maintain embedded software and firmware using C, C++, and C#.
- Develop motor control solutions for brushed DC and brushless DC (BLDC) motors using sensor-based and sensorless control techniques.
- Perform software verification, including static analysis, unit testing, integration testing, and white-box and black-box testing.
- Troubleshoot firmware, hardware/software interfaces, and electromechanical systems.
- Develop Python scripts to automate testing and verification activities.
- Participate in software requirements definition, architecture, detailed design, implementation, and integration.
- Identify, document, troubleshoot, and resolve software defects.
- Develop and execute verification tests to evaluate software functionality, stability, and performance.
- Maintain technical documentation, test results, and software development records.
- Use Git and application lifecycle management tools such as Azure DevOps or Jira.
- Collaborate with project managers and engineering teams on technical estimates, project risks, and development activities.
- Follow established engineering processes, quality standards, and safety procedures.
Required Qualifications
- Strong programming experience with C, C++, and C#.
- Experience developing embedded firmware for microprocessors and microcontrollers.
- Hands‑on experience with BLDC and DC motor control, including sensor-based and sensorless control.
- Experience with static code analysis, unit testing, integration testing, and white-box and black-box testing.
- Experience troubleshooting electromechanical systems and embedded software.
- Proficiency in Python scripting for test automation.
- Understanding of software design principles, verification methodologies, and embedded systems development.
- Experience using Git and development tracking tools such as Azure DevOps or Jira.
Preferred Qualifications
- Experience developing software or firmware for medical devices.
- Knowledge of FDA-regulated medical device development and IEC 62304 software lifecycle processes.
- Experience with software requirements, architecture, design documentation, and integration.
- Familiarity with Agile development methodologies.