Firmware Engineer II
About the role
Nice North America, a subsidiary of Nice S.p.A., an Italian multinational leader in Home and Building Automation, develops cutting-edge solutions for smart home control, security, door and gate automation, access control, and more with a mission of Simplifying Everyday Movements. Headquartered in Carlsbad, CA, with several R&D and manufacturing centers and offices throughout the region, our team thrives in an environment that fosters continuous learning and professional growth where you'll collaborate with talented and dynamic individuals every day to create groundbreaking solutions. As a global leader, we offer award-winning sales and marketing programs, technical support, and CEU training to the industry's top partners.
Responsibilities
- Design, develop, and maintain embedded firmware for microcontroller-based systems used in vehicular gate operators
- Develop production-quality firmware in C/C++ for real-time embedded systems, including bare metal and RTOS-based applications
- Implement and debug low-level drivers and hardware interfaces directly on microcontrollers (no embedded Linux)
- Collaborate closely with electrical engineers during schematic review, board bring-up, debugging, and hardware/firmware integration
- Debug hardware/firmware issues at the signal level (GPIO, SPI, I2C, UART, ADC, PWM, RS485, etc.)
- Participate in firmware architecture discussions and contribute to design decisions for new products and feature enhancements
- Effectively use hardware debugging tools such as oscilloscopes, logic analyzers, and debuggers to diagnose and resolve issues
- Support manufacturing introduction, validation testing, and ongoing product reliability improvements
- Document firmware design, behavior, and interfaces through code commits, specifications, and technical documentation
- Work effectively within Git-based version control workflows, including code reviews and collaborative development
- Maintain awareness of applicable safety and regulatory requirements (e.g., UL 325) and how they impact firmware design
- Provide technical support and collaboration with other engineering disciplines and departments as needed
- Stay current with embedded systems best practices and contribute to continuous improvement of development processes
Qualifications
Bachelor's degree in Electrical Engineering, Computer Engineering, Computer Science, or a related field, or equivalent experience. 3–7 years of experience developing firmware on microcontrollers (bare-metal or RTOS) for production hardware.
Skills
- High proficiency in C for embedded microcontrollers
- Strong understanding of microcontroller peripherals (timers, interrupts, ADC, PWM, communication interfaces)
- Experience with common microcontroller families and IDEs (e.g., ST, Microchip, TI, NXP)
- Experience with RTOS-based firmware architectures
- Ability to read and understand schematics and basic circuit design
- Hands-on experience with hardware debugging tools such as oscilloscopes, logic analyzers, and JTAG/SWD debuggers
- Experience using Git or similar version control systems in a team environment
- Experience using higher-level languages (e.g. Python) for testing, scripting, or tooling is a plus
- Advantageous experience: BLDC Motor control, Battery and Solar management, standard wired and wireless embedded communication protocols, Embedded Web Servers, low power/standby modes, exposure to safety-critical or regulated products
- Strong problem-solving skills and attention to detail
- Ability to communicate effectively with electrical, mechanical, and test engineers
- Comfortable working in a small, collaborative engineering team
Pay and schedule
- Salary: $120,000 to $140,000 depending on experience
- Location: Kent, WA (fully onsite)