At Apple, the Satellite Connectivity Group is looking to solve the problem of enabling connectivity to iPhone and Watch Ultra when off the grid without cellular or Wi-Fi coverage, ensuring millions of users can stay connected for safety and communication through services like Emergency SOS, Roadside assistance, and Messages via satellite.
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) involving topics such as concurrency, memory safety, CPU-hardware interaction (including cache coherency management), and RPC / IPC / message passing.
- 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.
- Ability to write kernel-space user-space device drivers in C++ for high-bandwidth and real-time hardware accelerators / custom peripherals.
Responsibilities
- Development of software-defined-radio system on Linux running on AMD/Xilinx SoC (C++, Python, shell).
- Cross-team coordination and execution of software releases and hardware-software integrated test campaigns.
- Development and deployment of operation procedures (Python or Go) running on the cloud-based control and monitoring system.
Other
- Familiar with AMD/Xilinx SoC and Vivado/Vitis/Petalinux toolchains.
- Previous experience of FPGA code development in RTL or HLS.
- General radio-frequency (RF) digital signal processing knowledge.
- Hands-on development experience in areas related to 5G, WiFi, GNSS, CCSDS, and/or SpaceWire.
- Knowledge of and ability to mentor other team members on modern design/coding best practices (e.g. C++ Core Guideline).