Firmware Engineer I
About the role
Entry-level professional role responsible for supporting embedded systems firmware development activities within a defined technical scope. Applies foundational engineering knowledge to assist with coding, debugging, testing, and documentation of embedded software components under close supervision. Works with guidance on assigned tasks, learning company tools, development methods, and engineering standards while contributing to team deliverables.
Help create innovative technologies that make the world cleaner and more sustainable, more secure, connected, energy efficient, and productive. Work alongside some of the world's most talented engineers.
Responsibilities
- Support the development and modification of embedded systems firmware code for assigned product features or enhancements under close supervision.
- Assist with debugging, troubleshooting, and resolving defined firmware issues using established tools and methods.
- Perform bench level testing with tools: debuggers, protocol analyzer, oscilloscope, multimeter, power analyzer.
- Participate in unit testing, code verification, and basic validation activities for firmware changes.
- Work with engineers and cross-functional partners to gather information needed to complete assigned tasks.
- Follow development processes, coding standards, and configuration management procedures.
- Report on task status in project team meetings.
- Contribute to team projects by completing assigned deliverables accurately and on time.
Requirements
- 0-2 years of professional experience in firmware, embedded software, or a related engineering area.
- Foundational knowledge of C/C++ programming concepts and Object-Oriented Design development practices.
- Ability to support debugging, testing, and documentation tasks within a defined scope.
- Willingness to learn engineering tools, methods, and team processes.
- Ability to follow instructions, ask clarifying questions, and work under guidance.
Qualifications
- BS degree student in Software Engineering, Electrical Engineering, Computer Engineering, Computer Science, or related discipline.
- Knowledge of and experience with 8-bit, 16-bit, and 32-bit microcontrollers is preferred.
- Strong interpersonal, verbal, and written communication skills.
- Internship, co-op, or academic project experience in firmware or embedded systems.
- Knowledge of and experience with bus protocols such as RS-232, I2C, SPI, and UART.
- Experience utilizing Python programming language.
- Knowledge of Agile/Scrum development process.
- Experience working with Jira, Confluence, Slack.
- Familiarity with version control, issue tracking, or basic software testing tools.
- Basic understanding of hardware/software interaction in embedded products.
Benefits
- Comprehensive benefits, including life and health insurance, life assistance program, accidental death and dismemberment insurance, disability insurance, and 401k Plan.
- Generous vacation time that can be scheduled with manager approval based on business priorities and personal needs, without pre-set maximums.
Pay
The typical hiring salary for this role ranges from USD $78,792.0 to $134,148.0 per year but varies by specific work location. Within a range, base pay is determined based on market conditions, skills, and experience.
Schedule
- Full time
- Hybrid setting (3 days in office, 2 days remote)