Join Us

Working at  Software Motion

Embedded Software Developer

We are hiring…

Responsible for the development and maintenance of Linux/QNX kernel and drivers, including: kernel optimization, BSP development and debugging, functional application design, etc.
Job Requirements:
  • Major in Computer Science/Software Engineering/EE/Automation, Bachelor or above
  • Graduated from TOP7 in Iran
  • Familiar with C/C++
  • Familiar with Linux system, familiar with multi threads/process development, familiar with Linux OS such as Linux kernel、process scheduling、communication between process
  • Familiar with TCP/UDP communication protocol
  • Fluent in Writing/Speaking/Reading English
  • Knowledge about ROS2/CyberRT is a plus
  • Experiences about embedded system development is a plus

Perception Algorithm Engineer

We are hiring…

Responsible for the development of perception detection algorithms for cameras, lidar and other sensors. Debugging and testing; Responsible for deep learning target detection, semantic segmentation and other model building.
Job Requirements:
  • Computer science, artificial intelligence, image processing and other related majors, with good C++ programming skill, Master degree or above;
  • Familiar with basic vision algorithms, such as object detection and tracking, lane line detection and tracking, camera calibration, optical flow, distance estimation, etc.
  • Familiar with point cloud processing algorithms, such as point cloud filtering, segmentation, clustering, fitting, tracking, etc.
  • Familiar with basic machine vision algorithms, such as optimization algorithms, traditional classifiers, CNN, RNN, GAN, NAS, etc.
  • Practical project experience is preferred

Localization & Mapping Engineer

We are hiring…

Develop high-precision maps and real-time positioning algorithms and systems using various sensors ; Multi-sensor mapping and positioning algorithm development, sensor calibration, map data processing, large-scale parallel computing and storage system development, Web full stack development, 3D information visualization, etc
Job Requirements:
    • Master’s degree or above in computer, software, robotics, automation or related fields
    • Good foundation in mathematics, algorithms, and programming development experience, proficient in C++;
    • Familiar with Linux systems, with ROS experience preferred
    • Familiar with one of the technical skills as follows:
      • Lidar 3D point cloud processing and registration
      • 3D computer vision, SLAM, VIO
      • State estimation theory, real-time multi-sensor data processing and fusion (GNSS, IMU, wheel speed sensors, etc.), filtering techniques such as EKF/PF/UKF
      • Machine learning algorithms and practical operations, such as deep learning, GBDT, K-nearest neighbors, SVM, etc
      • Development of high-precision maps or GIS systems

Decision & Planning Algorithm Engineer

We are hiring…

Development and verification of decision-making planning algorithms in structured/unstructured full-scenario automatic driving solutions. Support mainline R&D and mass production project decision-making planning algorithm delivery tasks to create products with the ultimate user experience
Job Requirements:
  • Computer, automation, automobile, aviation and other related majors, master degree or above
  • Familiar with typical automatic driving system architecture or robot system, proficient in decision-making, planning and control related algorithms, understand its advantages and disadvantages and applicable scenarios; at least familiar with one of the following fields:
    • Convexoptimitization,numericaloptimization;
    • Dynamicprogramming,A*,D*,HybridA*;
    • POMDP/MDP-basedapproaches
    • Probabilisticgraphicmodel,includingfactorgraph,bayesian network, conditionalrandomfield
  • Familiar with basic robot system software development tools (Linux, Git, ROS, gdb) and methods (OOP, unit testing, CI/CD)
  • Proficient in C/C++ programming and common data structure algorithms
  • Understand deep learning and reinforcement learning related theories
  • Those who have read multiple open source libraries or wrote their own trajectory planning related libraries are preferred

Control Algorithm Engineer

We are hiring…

Be responsible for the design, development, debugging and verification of vehicle motion control algorithms in autonomous vehicles, and output relevant design documents. Be responsible for the adaptation and calibration of the vehicle control system
Job Requirements:
  • Master degree or above in computer, automation, navigation and other related professional background
  • Proficient in vehicle kinematics and dynamics models, and have vehicle dynamics modeling and simulation experience
  • Familiar with PID, MPC, fuzzy control and other common control methods
  • Familiar with control system frequency domain design method, control system stability and robustness analysis method, digital system modeling method and design method
  • Proficiency in signal processing related knowledge, in-depth understanding of digital signal frequency domain analysis and digital filter design
  • Proficiency in dynamic modeling methods of control systems, experience in system identification and application to controller design is preferred
Our Careers

Interested in joining us?