Computer Vision and Deep Learning Software Engineer


Rivian is on a mission to keep the world adventurous forever. This goes for the emissions-free Electric Adventure Vehicles we build, and the curious, courageous souls we seek to attract.

As a company, we constantly challenge what’s possible, never simply accepting what has always been done. We reframe old problems, seek new solutions and operate comfortably in areas that are unknown. Our backgrounds are diverse, but our team shares a love of the outdoors and a desire to protect it for future generations.

Role Summary

As a Software Engineer you will be a member of the Deep Learning team at Rivian, which develops advanced machine learning algorithms that directly impact safety critical self-driving features of our category defining vehicles.

As a member of the team, you will be working with business partners, software development engineers, testers and UI/UX designers to design, implement, test, launch, document, and maintain complex software applications, tools, and systems. You will have a significant influence on our overall strategy by helping define how our in-cabin systems communicate and capture the customer journey. We are at the center of the infotainment experience. You will learn a variety of cutting-edge technologies, development processes, and develop well-rounded skills in leadership and design.

We are looking for 10+ engineers to join our ADAS team in Serbia.


  • Develop, optimize and deploy ultra-low latency Deep learning/ Machine Learning algorithms for Rivian ADAS use cases.
  • Research state of the art model compression and efficient model design techniques and enable the team to leverage these across a wide range of customer facing features.
  • Collaborate with the low-level software and hardware architecture teams to characterise the in-house ML models on our embedded platforms and optimize the models subject to the on device compute and memory constrains.


  • Preferred BSc in Computer Science, Electrical, Mechanical, Aerospace Engineering or a related field.
  • Good understanding of the fundamentals of deep learning with 3+ years of industrial experience.

Research and development experience in one or more of the following areas:

  • Model compression and neural architecture search techniques
  • Knowledge distillation, pruning, quantisation and quantisation aware training
  • Optimising and deploying inference on various embedded processors
  • Experience defining compute architecture for efficient Deep learning inferencing
  • Capability to understand hardware spec documents and performance profiling tools
  • Strong Python programming background and in-depth knowledge of at least one framework amongst PyTorch, TensorFlow or MXNet
  • Familiarity with DL model optimisation strategies such as pruning, knowledge distillation, training time and post training quantisation
  • Ability to work in a fast-paced development environment
  • Good team player with great communication skills to drive cross functional efforts
  • Passionately motivated to take ideas from R&D phase to a product
  • Productisation of inference models on embedded platforms.
  • Experience with training and deploying deep learning models computer vision such as object detection and segmentation.
  • Experience designing and deploying automotive grade applications
  • Experience with software development process for safety critical systems (ISO 26262)
  • Experience implementing inference logic from first principles using low level subroutines like BLAS, CUDA Kernels or C++ natively.