Canvas is bringing automation to the construction industry. Our mission is to leverage technology to empower current trade workers to be dramatically more productive and free from repetitive, physically taxing, and dangerous tasks. Our small but growing team has spent the past two years engineering and developing a brand new type of machine and are now deploying on commercial job sites. We need a skilled Senior Robotics Engineer who is inspired by all the challenges that come along with iterating on a game changing tool.
This person will play a key role in defining how robots behave on a construction site by guiding algorithm development and implementation for our robotic construction platform. You will be responsible for the creation and deployment of behaviors from concept through implementation and testing. This includes researching state of the art approaches, early prototyping, integration into the software stack, and debugging on the hardware.
Who you are?
BS or MS in computer science
4+ years of job experience as software engineer
Experience working on the complete lifecycle of the software you create from development to testing to production
Proficient in C++ and Python and ability to port code between Python and C++, and vice versa
Experience debugging, doing code reviews and unit testing
Ability to automate software that runs on a CI system
Passionate about autonomous systems and robotics
Curious and eager to learn
Receptive to mentorship opportunities and thrives in a highly collaborative environment
Nice to have: Experience working on a robotics software stack with things like ROS2, robotic arms, and rigid transforms
Nice to have: experience in one autonomy related topic (perception, navigation, planning)
What you will do?
Develop and implement features for the Canvas robotic systems
Write clean, well tested software with documentation in C++
Develop and integrate mobile robot self-navigation technology, including low-level control systems, path planning algorithms and higher level behaviors
Help automate our robot bring up - from calibration to system testing
Address bugs and find solutions that meet the needs of our customers.
Release testing for our software and firmware releases
Development of device drivers, hardware and algorithms
Work closely with the rest of the team, supporting other areas of development
Contribute to project planning, timeline, resource allocation