About This Role
Designing, developing, testing, and optimizing embedded firmware solutions for hardware systems and products is the core of this engineering role. The Firmware Engineer works independently on complex technical objectives while collaborating with various teams and partners to deliver reliable, scalable, and innovative solutions.
Responsibilities
- Play a key role in strategic decisions related to firmware architecture and technology stack
- Design, develop, implement, debug, and maintain embedded firmware for hardware systems and products
- Contribute from early architecture to hardware bring-up through verification and validation, and sustaining
- Support firmware releases, field investigations, and continuous improvements
- Collaborate with hardware, software, systems, and test engineering teams to define firmware architecture and technical requirements
- Lead firmware integration, validation, and testing activities to ensure product reliability and performance
- Analyze system requirements and propose technical solutions aligned with company objectives and product roadmaps
- Work directly with schematics, datasheets, specifications, and lab equipment to implement and debug board-level and system-level designs
- Contribute to firmware porting across MCU platforms and firmware update mechanisms to ensure safe and reliable factory and field updates
- Troubleshoot complex firmware and hardware interactions, identify root causes, and implement corrective actions
- Support product development from concept through production and field deployment
- Develop and maintain technical documentation, including specifications, test procedures, and design documentation
- Contribute to continuous improvement initiatives related to firmware development methodologies, tools, and processes
- Interface with internal stakeholders and external partners to ensure alignment on technical deliverables and project priorities
- Provide technical expertise, mentorship, and problem-solving support within the engineering team
- Other duties as assigned
Requirements
- Bachelor’s or advanced degree in Electrical Engineering, Computer Science, Computer Engineering, or related technical field
- Typically requires 2–5 years of experience in firmware/software development, embedded systems, hardware engineering, or related technology domains
- C/C++ development in resource-constrained systems with deep understanding of MCU and MCU peripherals, interrupts, power domains, and RTOS-based systems
- Familiarity with microcontrollers, embedded processors, communication protocols, and hardware interfaces
- Comfortable using oscilloscopes, power analyzers, logic analyzers, and other lab tools to root-cause complex charging and power issues