Description
Firmware Developer role at Hewlett Packard Enterprise, a global edge-to-cloud company.
You will design enhancements, updates, and programming changes for portions and subsystems of firmware, including DSP, embedded code, CHIF, I2C, SPI drivers, BMC applications, and BIOS/UEFI.
Responsibilities:
- Leads multiple project teams of other software systems engineers and internal and outsourced development partners responsible for all stages of design and development for complex products and platforms.
- Manages and expands relationships with internal and outsourced development partners on software systems design and development.
- Reviews and evaluates designs and project activities for compliance with systems design and development guidelines and standards.
- Provides domain-specific expertise and overall software systems leadership and perspective to cross-organisation projects, programs, and activities.
- Drives innovation and integration of new technologies into projects and activities in the software systems design organisation.
- Provides guidance and mentoring to less-experienced staff members.
Requirements:
- Bachelor's or master's degree in Electronics & Communication, Computer Science, Information Systems, or equivalent.
- Typically, 10+ years' experience.
- Strong programming experience in C and C++.
- Strong understanding of the Server manageability domain in specific and Server Industry in General.
- Design, Debug and Development on RTOS like Green hills Integrity, Embedded Linux.
- Experience working with ARM processor or similar system controllers.
- Expertise in multiple firmware design tools and languages.
- Experience in overall architecture of software systems for products and solutions.
- Designing and integrating software systems running on multiple platform types into the overall architecture.
- Evaluating and selecting forms and processes for software systems testing and methodology.
- History of innovation with multiple patents or deployed solutions in the field of software design.
- Experience in openBMC or Yocto-based Baseboard Management Controllers (BMC).
- Strong programming experience in C and C++ or Python.
- Experience in Linux - device driver development, Inter-process communication, interrupt and exception handling, and dynamic memory handling.
- Working knowledge of debugging tools like gdb, kdb, and JTAG debuggers.
- Experience working with multi-core ARM processors or similar system controllers.
Benefits:
- Comprehensive suite of benefits that supports physical, financial, and emotional wellbeing.
- Investment in career development.
- Unconditional inclusion and celebration of individual uniqueness.