Icon menu dark

Robotics Software Engineer - Onboard SDK

As an Onboard SDK Robotics Software Engineer at our DJI Silicon Valley R&D office, you will play a pivotal role in shaping the future of autonomous enterprise drones. The work you do will disrupt the way hundred-year-old industries do their business, ushering in a new era of productivity, robustness and efficiency fueled by autonomy.

You will design and implement algorithms for autonomous navigation, computer vision, deep learning, sensor fusion and distributed processing. We expect creativity in identifying and integrating sensing modalities for robotics algorithms. Expect to get involved with OS-level constructs such as multithreading, scheduling, I/O and resource management. You will code primarily in C++ on Linux. You are expected to have worked with IMUs, GPS, cameras, LiDAR or similar sensors, and have strong experience with at least one of these.

For those with impressive LiDAR experience, here's your chance to stand out and show your skills!

For those who boast a strong knowledge in C++.... our recruiter has a few questions to challenge the best!!

Core responsibilities

  • Build efficient, powerful and unique algorithms on top of flight control, sensing payloads and data sources that solve problems relevant to enterprise solutions
  • Work on developing an SDK framework that makes core capabilities of DJI products accessible to developers
  • Integrate and process data from a variety of sensors such as IMU, GPS, cameras, depth sensors, 3D sensors
  • Review and contribute to the SDK, produce documentation, and disseminate knowledge in the organization as well as to external developers
  • Work with internal teams (in international locations) and industry partners to prototype and develop core technologies for future products
  • Work with product teams to drive final technology integration into product development 

Required Skills/Experience 

  • BS in CS, EE, CE or equivalent 
  • 5-10+ years in developing embedded software for robots, consumer or industrial devices 
  • In-depth experience with stereo vision/cameras/LiDAR from a data processing and algorithms perspective
  • Expert in C++ programming (C++11 experience preferred)
  • Have implemented algorithms in robotics – state estimation, nonlinear control, sensor fusion, trajectory and action planning, SLAM
  • Comfortable with Linux (bash scripting, hardware drivers, system libraries)
  • Experience with OS-level programming – threading, scheduling and memory management
  • Experience with distributed computing and communication systems
  • Strong analytical problem solving skills using scientific method and design of experiments 
  • Excellent written and verbal communication skills, able to communicate complex technical issues to cross-functional teams 
  • Excellent collaborator, able to make a positive contribution in a dynamic team spread around the world – especially across cultures and timezones
  • Self motivated, able to work independently, entrepreneurial, excellent time management 
  • International travel (up to 20%) 

Preferred Skills/Experience: 

  • Masters or PhD 
  • Pre-eminent expert in the field of robotics algorithms involving sensing and imaging technologies OR autonomous navigation
  • Experience with statistical analysis concepts and tools
  • Familiarity with UI and web technologies
  • Familiarity with iOS/Android
  • Have written significant code for autonomous robots 
  • Experience with hardware bring-up 
  • Experience with debug lab equipment such as oscilloscopes, logic analyzers etc
  • Have designed, built and/or enjoy flying remote controlled aerial vehicles 
Verified open
Posted by employer


There was an error handling your request. Please make sure you're online.