
Staff Firmware Engineer
- Reno, NV
- Permanent
- Full-time
- Promote excellence in software fundamentals, including architectural design, algorithm development, data structures, code modularity, and maintainability.
- Develop, enhance and debug new and existing real-time firmware in C. Deliver high-quality code in a real-time embedded environment.
- Drive firmware development for performance, scalability, robustness, and tight integration with the hardware.
- Design safety rated firmware to meet functional safety standards such as UL1998 or IEC 61508
- Hands-on hardware bring up
- Bachelor's in engineering, Computer Science, Mathematics, Physics or proof of exceptional skills in related fields with practical firmware engineering experience.
- Minimum of 6+ years of relevant work experience
- Minimum of 3+ years of experience delivering top-quality C code in a real-time embedded environment.
- Minimum of 3+ years of experience with Multithreaded or RTOS experience.
- Familiarity with a Unix environment.
- Experience with test-driven development using unit testing, software in the loop, and hardware in the loop methodologies. Our developers participate significantly in firmware testing, so a validation mindset is required.
- Experience with communication interfaces on embedded systems such as RS-485, CAN, SPI, I2C is desired.
- Familiarity with electrical test tools like scopes, meters, and power supplies.
- Experience developing time-critical code using ADC, PWM for power controls, and battery management.
- Python experience for supporting tools and data analysis.
- Proficient in standard source control tools like Git.
- Remain engaged, proactive, and positive when taking on challenging tasks, owning assignments, and taking accountability for personal and overall team success.