The job is looking to solve the problem of providing satellite connectivity to iPhones when off the grid without cellular or Wi-Fi coverage, enabling services like Emergency SOS 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
- Knowledge of and ability to mentor other team members on modern design/coding best practices (e.g. C++ Core Guideline).
- Experience of setting up a Yocto Linux or Petalinux project for a custom SoC board from scratch.
- Remote development / debug using modern tools (VSCode Remote, VSCode Debugger).
- Experience with operating complex software services on the cloud; development of test / operation procedures, real-time monitoring system, data-ingestion system, dashboard.
- Managed software releases to the production environment.