Sr. Embedded Machine Learning Engineer
Role details
Job location
Tech stack
Job description
We are hiring a Senior Embedded Machine Learning Engineer to own the end-to-end process of taking trained machine learning models including any code supporting them and deploying them efficiently onto resource-constrained edge hardware. This person sits at the intersection of machine learning, embedded systems, and hardware engineering.
The role has two tightly linked primary responsibilities: integrating, converting, and optimizing models so they run within strict constraints on latency, memory, power, and thermal budget; and building and integrating the supporting C++ code that runs the models on device and performs any necessary pre or post processing. The role is highly cross-functional. You will partner with CVML who build the models, with embedded and firmware teams who own the device, and with product teams who define performance targets. Success means models that are not just accurate in the lab but fast, small, and dependable in the field.
What You'll Do:
- Model optimization. Apply quantization, pruning, knowledge distillation, operator fusion, and graph optimization to shrink models and reduce inference cost while protecting accuracy.
- Model conversion and deployment. Convert trained models into formats suitable for edge runtimes using ONNX and TensorRT and deploy them to target hardware.
- Hardware bring-up and benchmarking. Profile inference on accelerators such as GPUs, NPUs, DSPs, TPUs, or FPGAs. Measure latency, throughput, memory footprint, and power, then drive the changes needed to hit targets.
- C++ application integration. Design, write, and maintain the supporting C++ code that hosts inference on device. This includes the application and library code that loads and runs models, the pre- and post-processing pipelines, data and memory management, threading, and the interfaces to the rest of the embedded system. Ensure the combined model and C++ stack meets real-time constraints, fits within the device memory budget, and behaves reliably on the target platform, using Python where appropriate for tooling and validation.
- Accuracy and quality validation. Build test harnesses that verify on-device accuracy against reference results and catch regressions introduced by optimization or quantization.
- Model update pipeline. Contribute to the tooling and processes for packaging, versioning, and delivering model updates to deployed devices, including over-the-air update paths where applicable.
- Cross-functional collaboration. Work closely with research, firmware, and product teams to set realistic performance targets early and to feed hardware constraints back into model design.
- Technical leadership. Set best practices for edge deployment, review designs and code, and mentor other engineers on optimization and embedded ML techniques.
What You'll Do:
- Development and optimization of computer vision algorithms for our autonomous gun turret, focusing on real-time drone detection, tracking, and classification.
- Design and implement machine learning models that can operate in resource-constrained environments while maintaining high accuracy and reliability.
- Collaborate closely with electrical engineers to integrate computer vision systems into the turret's hardware architecture.
- Conduct extensive testing and validation of computer vision algorithms in various scenarios to ensure robustness and performance under different environmental conditions.
- Contribute to the hardening of the prototype turret into a military-grade system, and assist in developing variants for different weapon systems and engagement ranges.
Requirements
- A Bachelor's or Master's Degree in Computer Science, Electrical Engineering, Computer Engineering or a related field, or equivalent practical experience.
- 10+ or more years of professional software or systems engineering experience, including at least 2 years focused on deploying ML models to embedded or edge devices.
- Very strong proficiency in C/C++ (or Python but C++ most important)
- Proficiency with CUDA
- Hands-on experience with PyTorch and with at least one edge runtime or inference format (TensorFlow Lite, ONNX Runtime, TensorRT, or similar).
- Practical experience with model optimization techniques such as quantization (post-training and quantization-aware), pruning, or distillation.
- Demonstrated ability to profile and optimize for latency, memory, and power on constrained hardware.
- Working knowledge of embedded or edge platforms (for example NVIDIA Jetson, Google Coral, Qualcomm, ARM Cortex, or comparable NPUs and SoCs) and of Linux or an RTOS.
- Solid grasp of computer architecture concepts relevant to inference, including memory hierarchy, fixed-point arithmetic, and accelerator offload.
- Domain experience in computer vision or sensor processing on device
Benefits & conditions
Pulled from the full job description Health insurance Paid time off Vision insurance Dental insurance, * Competitive salary
- ACS Equity Package
- Health, Dental, Vision Insurance
- Paid Time Off