Project description
We are looking for a C++ Software Development Engineer (SDE) at the SDE II level to join our team. In this role, you will be developing and optimizing computer vision and image processing algorithms on Nvidia's embedded platforms (Xavier, Orin, etc.). You should have a strong background in modern C++ development, embedded systems, and deep knowledge of Nvidia's CUDA stack, including DLA toolchain.
Responsibilities
Design & Development
- Develop, optimize, and maintain C++ software modules for computer vision and image processing applications.
- Implement performance-critical algorithms with a focus on real-time embedded targets.
Nvidia Embedded Platform
- Leverage Nvidia's embedded platforms (Xavier, Orin, etc.) to integrate and deploy machine learning and computer vision solutions.
- Work with the Nvidia Deep Learning Accelerator (DLA) and CUDA to optimize inference pipelines.
Systems Integration & Optimization
- Collaborate with cross-functional teams to ensure seamless integration of software components on embedded devices.
- Profile, benchmark, and fine-tune performance across embedded systems, ensuring efficient memory and resource usage.
Testing & Documentation
- Develop and execute unit tests, integration tests, and performance tests.
- Document software architecture, design decisions, and best practices to facilitate maintainability and knowledge sharing.
Mandatory Skills
Education & Experience
- Bachelor's or Master's degree in Computer Science, Electrical Engineering, or related field.
- 3-5+ years of hands-on experience in C++ development (modern C++ 11/14/17 preferred).
- Proven experience in embedded software development.
Technical Skills
- Proficiency in C++ (SDE II level or equivalent).
- Solid knowledge of computer vision and image processing (OpenCV, or similar libraries a plus).
- Experience working with Nvidia embedded platforms (Xavier, Orin, etc.).
- Strong understanding of CUDA, including low-level optimizations, and familiarity with DLA on Nvidia.
- Experience with Linux development environments, cross-compilation, and embedded debugging.
Nice-to-Have Skills
- Knowledge of machine learning frameworks (TensorFlow, PyTorch, etc.) as they relate to embedded deployment.
- Familiarity with GPU profiling tools like Nsight Systems and Nsight Compute.
- Experience in real-time operating systems (RTOS) or safety-critical environments.