Robotics Software Engineer (C++ & Python)
Posted Updated
- In this role, you will be working with our robot software engineering team on the code that drives our Tally(TM) autonomous robots
- You will work on all aspects of the Tally stack including but not limited to navigation, perception, autonomous behaviors, hardware drivers, cloud integration, and infrastructure management
- Your primary objective will be to build, maintain, and evolve the Tally software stack to make our robots better, faster, smarter, easier, and bulletproof to failure
- Maintaining and extending the Tally software stack
- Improving Tally’s autonomy, navigation, perception, and human-robot interaction (HRI) behaviors
- Testing and integrating new hardware components including new sensors that will go into the next generation of Tally
- Assist in finishing our migration from ROS1 to ROS2
- Evaluating third-party ROS packages for integration into our stack
Benefits
- Comprehensive health plans
- Culture of learning
- Flexible time off
- Familiarity with modern software development methodologies (e.g. continuous integration/deployment, scrum, automated regression testing)
- Proficient in shell scripting, preferably with Bash and Python
- Well-versed in source control systems, particularly Git
- Experience working with Ubuntu or other Debian-based Linux distributions
- ~ 2 years of industry experience
- Extremely adept in both C++ and Python programming
- Experience writing ROS nodes
- Good understanding of the Robot Operating System (ROS) and core concepts such as nodes, messages, topics, services, parameters, build system, etc. Understanding of both ROS1 and ROS2 is strongly preferred
- BS, MS, or PhD in Computer Science or related field highly recommended but not required
- Experience in packaging and deploying software in production environments
- Experience with databases, especially redis
- Familiarity with Docker containers
- Experience with Nvidia Jetson platform
- Experience with cloud computing platforms (GCP, AWS, Azure, etc)
- Experience managing large numbers of connected IoT devices (e.g. robots, wearables, phones, smart home)