Technical Requirements for C++ Autonomous Driving Developer
- Modern C++ (C++11/14/17/20) features and best practices
- Template programming and STL containers/algorithms
- Memory management and performance optimization
- Multi-threading and concurrent programming
- RAII and smart pointers usage
- OpenCV library for image processing
- Camera calibration and distortion correction
- Object detection and tracking algorithms
- Lane detection and road segmentation
- Point cloud processing (PCL library)
- ROS/ROS2 (Robot Operating System)
- Cyber RT (Baidu Apollo framework)
- DDS (Data Distribution Service) middleware
- Real-time operating systems (RTOS)
- Kalman filters and particle filters
- SLAM (Simultaneous Localization and Mapping)
- Path planning algorithms (A*, RRT, etc.)
- Sensor fusion (camera, LiDAR, radar, IMU)
- Machine learning for perception tasks
- CMake for build system
- Docker for containerization
- Git for version control
- GDB/LLDB for debugging
- Valgrind for memory analysis
- LiDAR data processing
- Camera interfaces (GigE Vision, USB3 Vision)
- Radar signal processing
- GPS/IMU integration
- CAN bus communication
- Carla, Gazebo, or Apollo Dreamview
- Hardware-in-the-loop testing
- SIL (Software-in-the-loop) validation
- ISO 26262 functional safety standards
- Vehicle dynamics and control theory
- Sensor characteristics and limitations
- HD map formats (OpenDRIVE, Lanelet2)