Posted in

Firmware Engineer

Firmware Engineer

CompanyApple
LocationSan Diego, CA, USA
Salary$135400 – $250600
TypeFull-Time
DegreesBachelor’s
Experience LevelMid Level, Senior

Requirements

  • BS with 3 plus years of industry experience.

Responsibilities

  • Deep understanding of components/modules within wireless communication systems and the corresponding calibration and impairment reduction techniques
  • Develop methods/algorithms to alleviate hardware induced impairments by calibration, cancellation and other applicable techniques
  • PHY firmware architecture and design, including calibrations, real-time processing flows, collaboration with RF hardware, microcode, and MAC layer.
  • Develop highly efficient designs delivering outstanding performance, optimizing power and memory footprints while meeting hard-realtime latency requirements.
  • Debug real-time systems with limited visibility, working hands-on with development boards and lab equipment.
  • Collaborate with Radio, MAC, and Systems engineering teams to architect, define and implement innovative algorithms, calibrations, and protocols.
  • Support pre-silicon validation efforts, including simulation, emulation, and FPGA prototyping.
  • Develop SoC test and calibration capabilities for chip, module, and product factories.
  • Support post-silicon bringup, validation, performance characterization, system integration and debugging.
  • Repeatedly measure and optimize results using various test harnesses
  • Automate calibration and verification processes.

Preferred Qualifications

  • Hands-on experience and working knowledge of wireless systems and protocols such as LTE/NR/WiFi/Bluetooth
  • Excellent problem-solving skills to address technical issues during design, development and maintenance phases
  • Strong embedded SW fundamentals, including knowledge of design and development-flows, real-time constraints, concurrency, multi-processor systems, caching and virtual memory.
  • Deep understanding of data structures, object-oriented design, and system architecture in an embedded environment
  • Strong software engineering skills including design, development (using C, C++), scripting (Python), and debugging
  • Familiarity with low-level hardware interfaces, register and interrupt programming, bare-metal software development, clock and power management.
  • Experience with configuration (GIT, Perforce) and release management, continuous integration, unit and regression testing.
  • Strong understanding of design strategies for maintainability, scalability, and code reuse.
  • Excellent communication skills – both written and oral.
  • Highly organized, motivated and passionate about driving results