Our Client, an Internet Content & Information company, is looking for a Software Engineer III for their Redmond, WA location.
Responsibilities:
• The ideal candidate is equally comfortable in a PyTorch training loop and in a C/C++ inference runtime on a resource-constrained device.
• They understand that on-device ML is a co-design problem, where model architecture, quantization, and the target hardware all shape one another, and they can make the trade-offs required to get a research model running on real hardware quickly. Familiarity with audio ML, computer vision ML, or audio DSP is a strong plus, as many of our models operate on multimodal (audio and visual) sensor data.
• Our team cultivates an honest and considerate environment where self-motivated individuals thrive. We encourage a strong sense of ownership and embrace the ambiguity that comes with working on the frontiers of research.
• Responsibilities
• Work side by side with research scientists to take ML models from research prototypes to efficient, real-time inference on embedded devices
• Train, fine-tune, and adapt ML models with deployment constraints (latency, memory, power, compute) in mind
• Optimize models for on-device inference using techniques such as quantization, pruning, distillation, operator fusion, and architecture adjustments
• Port, integrate, and profile ML models on embedded targets (e.g. DSPs, NPUs, microcontrollers, mobile SoCs), identifying and resolving performance bottlenecks
• Write clean, maintainable, high-performance C/C++ code for on-device inference pipelines and integrate it into real-time prototype systems
• Build tools and infrastructure that make it faster for researchers to evaluate model performance and accuracy on target hardware
• Coordinate with internal hardware, runtime, and toolchain teams across Client and Client to evaluate and integrate with existing systems
• Work collaboratively as part of a multifunctional team where communication, documentation, and teamwork are highly valued
• Learn constantly, dive into new areas with unfamiliar technologies, and embrace the ambiguity of AR/VR problem solving
Requirements:
• BS degree in Computer Science, Computer Engineering, Electrical Engineering, or related field, or equivalent work experience
• Industry experience optimizing and running ML inference on embedded or resource-constrained devices
• Experience training ML models using deep learning frameworks such as PyTorch or TensorFlow
• 2+ years of industry experience writing C/C++
• Experience profiling and debugging performance issues across the ML model and the target hardware
• Experience working in cross-functional teams
• Preferred qualifications
• Experience with ML for audio (e.g. speech enhancement, source separation, keyword spotting, acoustic event detection)
• Experience with ML for computer vision (e.g. detection, tracking, segmentation, pose estimation)
• Experience with audio DSP fundamentals (e.g. filtering, STFT/filterbanks, beamforming, real-time audio processing)
• Experience with on-device inference frameworks and toolchains (e.g. ExecuTorch, TFLite/LiteRT, ONNX Runtime, vendor NPU/DSP SDKs)
• Experience with model compression techniques such as quantization-aware training, post-training quantization, pruning, or distillation
• Experience writing hardware-specific optimizations (e.g. SIMD/NEON, DSP intrinsics, fixed-point arithmetic)
• Experience working in the AR/VR or wearable device space
• Ability to gather requirements and work closely with researchers to develop novel solutions
• History of writing code to support the execution of research initiatives
• Top 3 must-have hard skills:
• Optimizing and running ML inference on embedded / resource-constrained devices
• Training ML models (PyTorch or similar)
• C/C++ (2+ years industry experience)
• Good to have skills:
• Audio ML
• Computer vision ML
• Audio DSP
Why Should You Apply?
• Health Benefits
• Referral Program
• Excellent growth and advancement opportunities