Firmware Engineer I
Job Responsibilities/Results
Understand and participate in establishing requirements
Have a solid understanding of system level requirements impacting firmware deliverables.
Participate in the creation of firmware requirements based on system requirements.
Collaborate with others in the organization to define and improve system level requirements for the hearing aid firmware.
Ensure that the firmware design is aligned with the requirements through continuous exploration of the firmware system through review of documentation on the wiki and discussions with senior members of the team.
Design and Implement High Quality Firmware
Create designs to meet the firmware requirements.
At this level the engineer is expected to provide technical solutions to a moderate range of challenging problems.
Solutions are reviewed by senior engineers for technical soundness.
Document and review designs. Documentation shall provide value and enhance the understanding of the firmware.
Use knowledge of programming languages (such as C or assembly) to implement firmware on resource constrained hardware.
Diligently follow firmware development processes such as code reviews, creation of design documentation, coding conventions, etc.
Create and continually update the status of assigned tasks using the established issue and project tracking software.
Use established version control software to store the code.
Root cause and resolve firmware issues in a timely manner. Communicating the root cause of firmware issues, possible solutions and the impact of the solution to firmware management and project team as needed.
Support the Firmware Verification Team
Verify the functionality of the firmware.
Support the Firmware Verification Team in devising test plans and executing tests to ensure high quality firmware at the system level.
Review and provide constructive feedback on the test plans of the Firmware Verification Team.
Create and perform unit tests to verify the functionality of firmware they have developed before handing off to Verification team.
Work with Firmware Verification Engineers and others from the R&D organization to understand and root cause issues.
Job Requirements
- Education: Bachelor’s degree in Electrical Engineering or related field; or MSEE or related fields; or PhD in related fields
- Experience: Minimum 1.5 years with B.S. or related experience
- Knowledge / Technical Requirements: Domain knowledge of one or more of the following: Digital Signal Processing, Wireless and wired communication and related protocols, Embedded firmware development, Firmware test methodologies and tools. Knowledge of languages such as C or assembly required. Knowledge of scripting languages such as MATLAB or Python required. Knowledge of analog or digital circuitry. Knowledge of architecture of programming devices such as DSPs or Micro-controllers.
Competencies, Skills & Abilities
- Great oral and written communication skills.
- Must be driven, methodical, and detail oriented.
- Able to work effectively in a team and individually.
- Ability to solve problems.
Salary And Other Compensation
- The target rate for this position is between $73,150 to $91,350/year.
- Factors which may affect starting pay within this range may include geography/market, skills, education, experience and other qualifications of the successful candidate.
Benefits
- Medical, dental and vision insurance
- 401(k) retirement plan with company match
- Company-paid life and short-term disability insurance
- Long-term disability insurance
- Employee assistance plan
- Hearing aid benefits
- Paid Time Off
- paid holidays
- paid floating holidays
- paid volunteer service day
- paid paternity and maternity leave
- Tuition reimbursement
- This position is eligible for a bonus based upon performance results. There is no guarantee of payout.