Software Developer - Platform OS

Technical Kitchener, Ontario


Description

Position:              Software Developer - Platform OS

Location:              Kitchener, Ontario          

Experience:        2+ Years relevant work experience         

Education:           Undergraduate degree (CS or equivalent)

Division:               OTTO Motors

About Clearpath Robotics Inc.

Clearpath Robotics Inc. develops the future of robotics technology through development and sale of industry-leading self-driving technology, products, and services to over 500 of the world’s most innovative brands. Proprietary hardware, software, and services are delivered through the company’s research and industrial divisions: Clearpath Robotics and OTTO™ Motors. Clearpath Robotics Inc. is an award-winning company with recent awards including Robotics Business Review Top 50 Robotics Company, Edison Award for Innovation, Business Insider Top 40 under 40, and Canada’s Top 100 Employers. 

About OTTO Motors

OTTO™ Motors is making material handling in industrial settings safer, easier, and more efficient through development of hardware and software that automates movement of goods in busy factories and warehouses. The company’s industry-leading self driving technology provides automated and on-demand material handling in the most demanding industrial environments, spanning automotive, medical device, aerospace, logistics, and more. Customers trusting their mission-critical material handling needs to OTTO Motors include Fortune 100 brands GE, Toyota, and Caterpillar. For more information visit www.ottomotors.com.

About the Job

We believe in providing our clients with complete solutions revolutionizing manufacturing and warehousing. OTTO Motors provides system software that allows its customers to direct and monitor their fleet of robots without having to worry about the details. We're looking for an experienced Software Developer to help us get our robots working in efficient harmony.

The Platform OS team is responsible for a deep software stack which include bare metal firmware, kernel device drivers, application layer components, networking components and fleet management functionality. As a software developer in this team, you will take part in developing the software framework running on our robots. You will have the opportunity to see the Software Development Life Cycle from beginning to end and contribute to every aspect of it. Your code will ultimately run on the robots and control mission-critical functionality such as battery management, sensor drivers or motor command output. 

Your primary responsibilities will be:

  • Design and implementation of custom software, ranging from low-level robot control code to fleet communication and application development ( C/C++, python, ROS )
  • Architecture development, in conjunction with our Autonomy and Fleet management teams
  • Participating in team-wide code and architecture reviews

Additional tasks may include:

  • Collaboration with other teams including controls and navigation planning, fleet manager and application UI
  • Triage and support of live industrial systems in our test facilities

About You

You want to work for a company that thinks big and dreams huge.  You are driven, view work as more than just a job, and are never satisfied with a project left half-done.  You want to be surrounded by people like you; creative, fun-loving, and passionate about their work. You are motivated by making an impact on your workplace and you thrive on challenging and rewarding problems.   Oh, and you have some form of higher education with the common sense to back it up.

Required Skills:

  • 5+ years of experience working on C++ projects
  • Graduate degree in engineering/CS or a related field
  • Strong software development skills (C++ and Python)
  • Proficiency with Linux
  • Working knowledge of the Git version control system
  • Used UnitTesting framework such as GTest/GMock or other
  • Working knowledge of TCP/IP stack and other network protocols
  • Hands-on with RTSP protocol and Data Distribution Service
  • Has worked with deployed products
  • Excellent teamwork/communication skills
  • Ability to independently develop software development plans, including timelines and test procedures

Bonus points for:

  • Working with ROS or ROS2
  • Experience with JIRA
  • Working in an Agile (Scrum) development team
  • Experience writing efficient, high performance code
  • Writing low level Firmware
  • Experience dissecting network protocol PDU and understanding network protocols
  • Can name the winners of your favorite Robotic challenge competition