The Principal Firmware Engineer will lead the firmware development of a wide variety of storage systems consisting of hard drives, fans, power supplies and electronics with high speed communication interfaces. Due to the complex interrelationships of these systems, the engineer will work closely with software and hardware architects to develop firmware in a process driven environment.
- The candidate should have strong skills and experience in the computer server and storage industry with familiarization with storage processors, storage protocols, BIOS and BMC firmware stacks.
- In addition to a broad background across many processor types the candidate must possess strong analytical skills and be a creative “out of the box” thinker.
- In this role, the engineer will be an individual contributor on the program and will also provide mentorship to junior firmware engineers and will be required to work closely with engineers in other departments and locations.
- The candidate must understand product life cycles and agile development and be responsible for the entire engineering life cycle of their assigned area including requirements analysis, design, implementation, integration, test, documentation and maintenance.
- As a lead engineer, the candidate will also be responsible for the design, development and execution of test programs written in either C/C++ or scripting languages such as Python to ensure all firmware is fully tested and ready for customer release.
- Each project team consists of cross-functional engineers with electrical, mechanical, firmware and manufacturing backgrounds.
- As a member of the project team your creative thinking and judgment will contribute to the overall resolution of technical, logistical, cost, and schedule issues for the program.
- In this leadership position, you will mentor and build the skills of less senior engineers and work closely with QA and support engineers in support of customer issues.
- This is a high-impact, high visibility opportunity for the right individual with superior technical skills, good project management abilities, and an enthusiasm for success.
- BS degree in electrical engineering, computer engineering or computer science.
- Strong background in embedded software design on embedded processors for computer storage; 8 -10 years required
- Hands-on experience in implementation of real-time software.
- Knowledge and training in embedded software design, real-time operating systems, device drivers, and hardware-software interfaces.
- Strong troubleshooting ability to debug issues while running in real time environment.
- Demonstrated microcontroller programming experience using C/C++ and/or assembly language.
- Strong debugging skill using kernel mode debuggers and electrical circuit test equipment such as logic analyzers and bus analyzers.
- Demonstrated ability in creative problem solving and innovation.
- Strong team player, effective communication skills, and highly motivated.
- Experience in agile development and self-managed development teams from design to production.