Software Engineer, Embedded Systems
Indexed description
We're looking for a hands-on Embedded Software Engineer to build high-performance software that runs close to the hardware. You'll develop production embedded applications in C/C++, optimize software for resource-constrained edge platforms, and work across Linux, networking, and system-level software.
If you're the kind of engineer who can read complex C/C++ code like a book, enjoys understanding entire systems rather than isolated components, and loves solving practical engineering problems, we'd love to talk.
What You'll Do
- Port, optimize, and enhance platform software for embedded and resource-constrained compute environments.
- Deploy, validate, profile, and optimize AI/ML-enabled applications on edge hardware.
- Develop production-quality software using C/C++, Python, Golang, and Linux-based technologies.
- Collaborate with Data Science teams to integrate AI/ML models into production software pipelines.
- Work across Linux kernel, device interfaces, networking, and system-level software components.
- Participate in architecture reviews, code reviews, testing, troubleshooting, and technical planning.
- Bachelor’s degree in Computer Science, Electrical Engineering, Computer Engineering, Robotics, or a related technical field, or equivalent practical experience.
- 4+ years of professional software engineering experience or equivalent demonstrated expertise
- Professional experience building, deploying, and maintaining production embedded software systems on edge devices with constrained CPU, GPU, memory, storage, and power resources.
- Expert-level proficiency in C/C++ with the ability to quickly understand, debug, and extend large existing codebases. This role is not a fit for candidates without deep C/C++ experience. Working knowledge of Golang and Python3.8+ preferred.
- Strong experience with Yocto-based embedded Linux distributions, including image customization, package management, board support packages, kernel configuration and tuning, and production deployment workflows.
- Strong debugging, profiling, and performance optimization skills on constrained compute platforms.
- Ability to collaborate effectively across software, firmware, DevOps, data science, and hardware teams.
- Enjoys understanding complete systems—not just individual components.
- Takes ownership of complex technical problems and follows them through to production.
- Is comfortable diving into large existing codebases and becoming productive quickly.
- Values practical, reliable engineering over unnecessary complexity.
- Collaborates effectively across software, firmware, hardware, and AI teams.
- Has experience at smaller or fast-growing companies where engineers own broad portions of the product rather than a single isolated component.
- Has experience developing connected devices, IoT platforms, fleet management systems, robotics, or other distributed edge computing products.
- Experience deploying AI/ML models usingTensorRT, ONNX Runtime,PyTorch, TensorFlow Lite, or similar frameworks.
- Experience with NVIDIA Jetson, CUDA, GPUs, NPUs, or other edge accelerators.
- Background in radar, RF sensing, robotics, autonomy, perception systems, signal processing, or sensor fusion.
- Experience with hardware-in-the-loop testing, board bring-up, and embedded platform validation.
Create a free Caio profile to unlock more results and save your role and location preferences.
Unlock free search