Software Engineer
Summary
Develops and optimizes low-level C/C++ code for 5G NR physical layer systems, focusing on real-time performance on embedded platforms with SIMD, multi-threading, and hardware acceleration (FPGA/DSP).
We are seeking a Software Engineer to help implement, design and optimize the infrastructure code underpinning our 5G NR physical layer (PHY) systems. This role focuses on developing and optimizing platform specific code to ensure real-time performance on embedded platforms
Platform Development
- Develop software for running and testing the 5G NR PHY algorithms
- Utilise SIMD, multi-threading, and hardware acceleration (e.g., FPGA, DSP).
- Integrate the platform code with 5G NR PHY algorithms and ARM enabled boards.
- Improve and maintain CI testing across the entire platform
- Support interoperability testing with other vendors and operators.
- Work closely with system-test, hardware, and system architecture teams.
- Customer facing experience.
- Contribute to technical reviews.
Required Skills
- Strong proficiency in C or C++
- Proficiency in a scripting language: Python, Groovy, bash
- Experience with real-time embedded systems and Linux.
- Familiarity with hardware acceleration (FPGA, DSP, SIMD).
- Knowledge of signal processing and optimisation techniques.
- Hands-on with FPGA toolchains (Xilinx Vivado).
- Exposure to O-RAN architecture and fronthaul protocols (eCPRI).