Algorithm Software Engineer - Robotics System Specialization
At Sharpa, we manufacture time by making robots useful.
Founded in 2024, Sharpa is an AI robotics company inspired by the Sherpa people of the Himalayas - known for guiding and assisting alpinists on their difficult journey to the summit. We build general purpose robots that assist, not replace, humans - freeing people from repetitive and strenuous work so they can pursue inspiring endeavors.
Our team is made up of geeks and innovators with backgrounds at leading AI and robotics companies. We are dedicated to developing ultra-high performance, autonomous robotic systems capable of adapting to the complexity of real world environments. Sharpa operates out of Singapore, Shanghai and Mountain View.
What you'll be doing:
- You will participate in the core development of robotic systems or automation projects. You will be responsible for designing, implementing, and optimizing ROS-based software modules, collaborating with hardware, algorithm, and testing teams to drive efficient product development and deployment.
- Develop robot control, perception, navigation, or communication modules based on the ROS (1/2) framework, ensuring system stability and performance.
- Write efficient, maintainable code using C++11/14/17 standards, and conduct unit and integration testing.
- Participate in robotic system architecture design, optimizing communication (e.g., Topics, Services, ActionLib) between ROS nodes.
- Collaborate with hardware teams to integrate and debug sensor drivers (e.g., LiDAR, cameras, IMU).
- Solve complex issues related to multi-threading, real-time performance, and resource contention to enhance system robustness.
- Prepare technical documentation, including design specifications, interface descriptions, and user manuals.
What we're looking for:
- Bachelor's degree or higher in Computer Science, Automation, Electronic Information, or related fields.
- Proficient in C++ programming language with project experience involving ROS.
- Familiar with fundamental ROS concepts (Nodes, Messages, TF, URDF, etc.) and possess practical project development experience.
- Proficient in Linux development environments and skilled in using tools like CMake, GDB, and Git.
- Understanding of multi-threaded programming, network communication (TCP/UDP), and performance optimization techniques.
- Familiarity with ROS 2 or DDS communication mechanisms. (Preferred)
- Practical experience with robotics algorithms such as SLAM, path planning, or motion control. (Preferred)
- Knowledge of Python or Shell scripting for automation tasks. (Preferred)
- Familiarity with Docker containerized deployment or CI/CD pipelines. (Preferred)
Apply for this job
* Indicates a required field