We are seeking a hands-on Firmware Design Engineer with 3-7 years of experience to implement, integrate, verify, and support embedded firmware for Client's fire and life-safety portfolio. The role supports new product development, product enhancements, platform updates, value engineering, component changes, compliance, and production support. Working with the Firmware Engineering Manager and experienced engineers, the candidate will own defined modules or features, develop drivers and product logic, support hardware bring-up, investigate defects, execute tests, and maintain controlled technical records. Assignments may include new implementations, legacy-code improvements, hardware or toolchain migrations, and changes driven by quality, cost, availability, or field performance.
Key Responsibilities
Firmware Development and Implementation
- Implement firmware work packages for new products, product enhancements, redesigns, sustenance, and value-engineering initiatives.
- Review software requirements, hardware interfaces, schematics, datasheets, existing source code, product documentation, and test procedures for assigned work.
- Develop or update startup, BSP, HAL, and driver modules for GPIO, timers, interrupts, ADC, PWM, serial interfaces, flash, non-volatile memory, watchdogs, and debug functions.
- Implement application logic for control, communication, indication, relays, supervised I/O, configuration, diagnostics, trouble reporting, and power-state behaviour as required.
- Maintain clear separation between reusable platform software and product configuration to reduce duplication and simplify regression.
- Support microcontroller, compiler, IDE, or hardware-platform migrations when included in an assigned project.
Integration Debugging and Verification
- Support board bring-up, peripheral validation, signal-level debugging, and hardware-firmware fault isolation with hardware engineers.
- Create and execute unit, module, integration, protocol, timing, fault-injection, regression, and system-integration tests for assigned features.
- Reproduce defects, collect logs and measurements, identify root cause, implement corrections, and verify that changes do not disturb existing behaviour.
- Use embedded IDEs, compilers, debuggers, JTAG or SWD probes, oscilloscopes, logic analysers, serial terminals, and protocol tools during implementation and debugging.
- Maintain requirements traceability, design notes, code-review records, test results, defect status, and release documentation for completed work.
Product Lifecycle Compliance and Release Support
- Implement firmware changes required by alternate components, hardware revisions, calibration updates, performance improvements, and cost-down initiatives.
- Support controlled test firmware and operating modes for transient, EMC, UL, FM, FCC, and other applicable compliance or certification testing.
- Prepare reproducible builds, binaries, maps, checksums, release notes, and configuration records and support production programming, ICT or FCT, pilot builds, and phase-in.
- Assist with production and field issue investigation and document corrective actions and regression evidence.
- Work with firmware, hardware, validation, compliance, manufacturing, product, and Client's US stakeholders to complete assigned work.
- Participate in design and code reviews, raise unclear requirements and technical risks early, and close assigned actions with objective evidence.
- Contribute reusable drivers, diagnostic utilities, test tools, documentation, and lessons learned for future development work.
Qualifications
- 3-7 years of hands-on embedded firmware-development experience, including coding, hardware integration, debugging, testing, and controlled release support.
- Bachelor's or Master's degree in Electronics Engineering, Electrical Engineering, Electronics and Telecommunication, Computer Engineering, Embedded Systems, or a related discipline.
- Strong Embedded C fundamentals and practical experience with microcontrollers, interrupts, timers, GPIO, ADC, serial communications, watchdogs, and non-volatile memory.
- Experience with bare-metal or RTOS-based embedded systems, modular drivers, state machines, error handling, and resource-constrained products.
- Ability to read schematics, datasheets, interface specifications, existing source code, system requirements, and test procedures and convert them into working firmware.
- Hands-on experience with embedded IDEs, compilers, debuggers, JTAG or SWD, common laboratory tools, version control, and defect tracking.
- A disciplined approach to coding, peer review, test evidence, root-cause analysis, regression testing, configuration management, and documentation.
Preferred Experience
- Prior experience with fire alarm, fire and life-safety, emergency communication, building-automation, or another regulated embedded product is strongly preferred.
- Participation in UL and FCC compliance or certification programs is strongly preferred; exposure to UL 864 or FM Approvals is an advantage.
- Experience with Renesas or similar microcontrollers, IAR or comparable toolchains, processor migration, or legacy-code modernisation is preferred.
- Exposure to fire-alarm communication loops, notification circuits, RS-485 or proprietary protocols, supervised I/O, annunciation, relay control, or networked power products is advantageous.
Core Competencies
- Ownership Mindset
- Embedded C
- Firmware Implementation
- MCU Peripherals
- Hardware Debugging
- Test Discipline
- Product Lifecycle
- Root-Cause Analysis
- Documentation
- Collaboration