Senior Software Engineer
Role details
Job location
Tech stack
Job description
The role sits at the intersection of software engineering, applied AI, embedded systems, and computational imaging. You will build the software stack that bridges high-speed FPGA pipelines with real-time AI inference and an intuitive user interface deployed to industrial customers. You will work closely with FPGA/embedded engineers, tomography engineers/scientists and ML researchers to bring our multi-modal tomography system from prototype to a market-ready industrial instrument., a. Edge AI & Algorithm Development and Deployment
- Implement, optimise, and deploy AI/ML models for real-time sensing and tomography reconstruction.
- Convert research-grade algorithms (Python/NumPy/PyTorch/TensorFlow) into efficient production codes (C++/Rust/Python).
- Develop novel multi-modal fusion pipelines for UST/MIT/ECT data streams.
b. FPGA / Embedded Systems Integration
- Interface with the FPGA and Algorithm Engineers to advance high-throughput data acquisition, processing, visualisation and management.
- Collaborate with FPGA engineers to integrate:
- AXI-stream data pipelines
- DMA transfer to ARM cores
- Custom accelerators (DSP slices, Vitis kernels, HLS modules)
- Implement deterministic real-time data ingestion, buffering, synchronisation, and pre-processing.
c. Real-Time Signal Processing & Reconstruction
- Collaborate with algorithm engineers for:
- time-domain and frequency-domain processing
- forward/inverse modelling and image reconstruction
- Develop GPU/FPGA-accelerated or SIMD-optimised algorithms where required.
d. Software Architecture & Productisation
- Architect modular, scalable software for hardware-in-the-loop systems.
- Build robust APIs between embedded firmware, host software for Edge AI application with UI and cloud APIs.
- Develop automated testing, diagnostics, and reliability frameworks.
e. User Interface & Customer-Facing Tools
- Design and develop professional, responsive UI dashboards (Electron, Qt, React, or similar).
- Implement intuitive visualisation for:
- Multi-industry Real-time tomograms (2D/3D) / visualisations
- Sensor diagnostics, FFT displays, and system health
- UI for inputs, calibrations and UDF
- Collaborate with customers and field engineers to refine UI/UX and operational workflows.
f. Cross-Functional Team Collaboration
- Work seamlessly across FPGA, embedded, mechanical, physics, and ML groups.
- Contribute to product documentation, roadmap planning, and technology strategy.
- Uphold and embody DIET-A values in project delivery and collaboration.
Requirements
- Degree (BSc) or post-graduate (MSc) or equivalent professional qualification in software (or equivalent) engineering from a recognised institution.
Core Technical Skills
Strong programming skills in Python and C++ (Rust is a bonus).
- Experience with machine learning, ideally PyTorch or TensorFlow.
- Experience with real-time signal processing, DSP, numerical methods, or imaging algorithms.
- Familiarity with FPGAs from a software-integration perspective (no need to code HDL, but able to interface effectively with those who do).
- Experience building data acquisition and reconstruction pipelines.
Embedded / FPGA / Systems
- Understanding of embedded Linux, ARM processors, and high-speed I/O.
- Ability to work with FPGA teams on:
- AXI-Stream
- DMA interfaces
- HLS-based accelerators
- Working knowledge of Vitis, Vivado, or FPGA-based AI pipelines is an advantage.
AI & Algorithm Deployment
- ONNX Runtime, TVM, TensorRT, or Vitis-AI experience a plus.
- Experience quantising and optimising models for edge devices.
Software Engineering & UI
- Strong software engineering discipline: version control, CI/CD, documentation.
- Experience building user interfaces (Qt, React, Electron, PyQt, or similar).
- Ability to create performant visualisation (matplotlib, plotly, OpenGL/DirectX, or custom).
Domain Knowledge (Bonus)
- Any exposure to tomography, imaging, or inverse problems.
- Experience with multi-modal tomography applications.
- Experience of software development for specialist devices
Attributes
- Self motivated: ability to 'take ownership' of the project and bring it to successful completion.
- Can do attitude and collaborative.
Benefits & conditions
Job Types: Full-time, Permanent
Pay: £45,000.00-£55,000.00 per year
Benefits:
- Company pension
- Cycle to work scheme
- On-site parking
- Private medical insurance
Ability to commute/relocate:
- Ely CB7 4EX: reliably commute or plan to relocate before starting work (required)
Work authorisation:
- United Kingdom (required)