Firmware Engineer
Role details
Job location
Tech stack
Job description
The Firmware Engineer is responsible for the design, development, testing, and optimization of embedded firmware solutions supporting hardware systems and product development initiatives. This role works independently on complex technical objectives while collaborating closely with cross-functional engineering teams, senior leadership, vendors, and external partners to deliver reliable, scalable, and innovative solutions aligned with organizational goals., * 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
Do you have experience in Software engineering?, * Bachelor's or advanced degree in Electrical Engineering, Computer Science, Computer Engineering, or related technical field
Must-Have Skills & Experience
- 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.
- Ability to understand interactions between hardware, firmware, and commercial release processes across the full product lifecycle.
- Knowledge of firmware debugging, testing, and validation methodologies
- Strong analytical and problem-solving abilities
- Ability to work independently on complex technical assignments
- Excellent communication and collaboration skills
- Detail-oriented with strong organizational and documentation practices
- Ability to balance multiple priorities in a fast-paced engineering environment
- Demonstrated initiative and accountability in driving technical deliverables
Benefits & conditions
Pulled from the full job description
- Health insurance
- Paid time off
- Vision insurance
- Dental insurance
- Flexible spending account
- Disability insurance
- Happy hour, * Medical, dental vision, life, STD, FSA, additional company perks
- Equity incentives
- Self-managed PTO