Robotics Software Engineer
Maidbot is a fast-growing robotics company pioneering a revolution in hospitality - the world’s largest industry - by creating robots to handle the dull, dirty and dangerous tasks required of human workers. With rising market demand and Maidbot’s first-mover status, we have already partnered with many of the largest hospitality brands through pilot programs and pre-orders. After completing a successful test with one hospitality company where a dozen of our robots worked alongside hotel staff, we are developing new features and enhancing our current software stack, which ranges from a customer-facing web application to autonomous robotics to state-of-the-art electronics. In our new Austin office you’ll find an army of robots; 3D printers to laser cutters; hypoallergenic dogs; and an endless supplies of hawaiian shaved ice, coffee, and tea!
You are a professional software engineer with robotics experience or a roboticist with extensive software engineering experience. You will work both individually and in a small team to develop software for our autonomous mobile robots. You are able to write software at multiple levels of abstraction: from low-level drivers and behaviors that interface directly with the sensors and actuators, all the way to task-level decision making and high-level control. Most importantly, you are passionate about playing a key role in the development of a revolutionary robot.
- Development of autonomous navigation and operation capabilities (localization, path and motion planning, recovery behaviors, user interaction, etc.)
- Building of high-fidelity maps of the robot’s environment using SLAM techniques.
- Development for embedded Linux and microcontroller environments.
- Testing in simulation, in our office’s testbed, and in the field.
- Source code management, documentation, unit testing, continuous integration.
- B.S. / M.S. / Ph.D. in Robotics, Computer Science, or related field.
- At least 2 years of C++ development experience.
- Substantial experience with the Robot Operating System (ROS).
- Extensive practical experience with robotics, especially mobile robot navigation.
- Training and / or experience in software engineering and related activities (version control, unit, integration, acceptance tests, etc.)
- Experience working and developing in a Linux environment.
- Applicants must be authorized to work in the U.S.
- Experience developing for an embedded Linux environment.
- Experience developing code for AVR and / or ARM microcontrollers.
- Substantial Python development experience.
- Exposure to Agile software development practices.