Analyzes, designs, programs, debugs and modifies firmware (e.g., DSP, embedded code, BIOS). Work often involves analog and digital hardware and real-time operating systems. Position requires knowledge and exposure to hardware design. Typically programs in machine language, assembly language and high-level languages (e.g., C, C++).
- Designs enhancements, updates, and programming changes for portions and subsystems of firmware, including DSP, embedded code, EFI drivers, EFI applications and BIOS/UEFI.
- Analyzes design and determines coding, programming, and integration activities required based on general objectives and knowledge of overall architecture of product or solution.
- Writes and executes complete testing plans, protocols, and documentation for assigned portion of application; identifies and debugs, and creates solutions for issues with code and integration into application architecture.
- Leads a project team of other firmware engineers and internal and outsourced development partners to develop reliable, cost effective and high quality solutions for assigned systems portion or subsystem.
- Collaborates and communicates with management, internal, and outsourced development partners regarding firmware design status, project progress, and issue resolution.
- Represents the firmware engineering team for all phases of larger and more- complex development projects.
- Provides guidance and mentoring to less- experienced staff members.
Education and Experience Required:
- Bachelor’s or Master’s degree in Computer Science, Information Systems, Electrical Engineering, or equivalent.
- Typically 4-12 years experience.
Knowledge and Skills:
- Expertise in multiple firmware design tools and languages.
- Strong analytical and problem solving skills.
- Designing firmware, including interaction and integration with hardware design.
- Firmware testing methodology, including writing and execution of test plans, debugging, and testing scripts and tools.
- Excellent written and verbal communication skills; mastery in English and local language.
- Ability to effectively communicate product architectures, design proposals and negotiate options at management levels.