Software Engineer
Summary
Develops and optimizes C/C++ infrastructure code for 5G NR physical layer systems, focusing on real-time performance on embedded platforms with SIMD, multi-threading, and hardware acceleration.
Software Engineer
Department: Software
Employment Type: Permanent
Location: Southampton, UK, Hybrid
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
Key Responsibilities
Platform Development
- Develop software for running and testing the 5G NR PHY algorithms
Performance Optimisation
- Utilise SIMD, multi-threading, and hardware acceleration (e.g., FPGA, DSP).
Integration & Testing
- Integrate the platform code with 5G NR PHY algorithms and ARM enabled boards.
- Improve and maintain CI testing across the entire platform
Standards Compliance
- Support interoperability testing with other vendors and operators.
Collaboration
- Work closely with system-test, hardware, and system architecture teams.
- Customer facing experience.
- Contribute to technical reviews.
Skills, Knowledge & Expertise
Required Skills
- Strong proficiency in C or C++
- Proficiency in a scripting language: Python, Groovy, bash
Preferred Skills
- 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).