Robotic Software Engineer
Job description
Responsibilities:
- Develop software for Dorabot systems including robot arms, mobile robots, mobile manipulators, etc.
- Integrate libraries and other software that allow robots to autonomously perceive their environment, navigate surroundings, and manipulate objects.
- Implement algorithms for autonomous operation.
- Make fleets of robots think and act faster using network communication, cloud computing, parallel computing with multiple threads/CPUs/GPUs, etc.
- Build tools to monitor, maintain, and deploy software for fleets of 100+ robots.
- Apply cutting-edge robotics technology to build amazing products.
Position Requirements:
- BS in Computer Science, Software Engineering, Electrical Engineering, Mechanical Engineering or related fields.
- Basic knowledge of robotics, computer vision, and related hands-on experience.
- Proficient with languages: C++, Python, etc.
- Strong software engineering skills with real life coding experiences;
- Able to turn academic ideas into robust programs.
- Experience working with Linux and Git.
Preferred Qualifications:
- Experience with multi-core architectures/speeding up algorithms with parallelization.
- Experience in creating efficient computational code that scales to multiple applications.
- Experience with ROS, ROS II or other robot software platforms.
- Strong background in any of the following areas:
- Machine learning
- Computer vision
- Motion planning
- Robotic manipulation
- Computational geometry