Senior Software Engineer

Apple
San Diego, CA
Remote
Job Description
Apple is seeking a Senior Software Engineer to develop software on a Linux system running on AMD/Xilinx SoCs. This role involves software development, cross-team coordination, hardware-software integration, and deployment. The ideal candidate will have strong C++ skills, familiarity with modern programming practices, and experience with modern toolchains.

Requirements

  • 10+ years of experience of software development in modern C++.
  • 5+ years of experience of designing and implementing software-defined radio (SDR) software or high-bandwidth data-processing application.
  • Experience of designing software system running on a heterogeneous computing system (CPU+FPGA, CPU+GPU, CPU+ASIC accelerator, etc.).
  • Strong familiarity with low-level systems programming using modern C++ constructs (C++20 and above).
  • Knowledge of and ability to mentor other team members on modern design/coding best practices.
  • Experience of development and publishing custom Python modules via an artifact storage such as PyPI.
  • Experience of test automation, data analysis, and data visualization in Python.
  • Experience of setting up a Yocto Linux or Petalinux project for a custom SoC board from scratch.
  • Ability to write kernel-space user-space device drivers in C++ for high-bandwidth and real-time hardware accelerators / custom peripherals.
  • Experience with operating complex software services on the cloud; development of test / operation procedures, real-time monitoring system, data-ingestion system, dashboard.

Benefits

  • Comprehensive medical and dental coverage
  • Retirement benefits
  • Discounted products and free services
  • Tuition reimbursement
  • Reimbursement for educational expenses
]]>