- Kitchener, ON
- Full-time, permanent position
- Competitive salary, commensurate with experience with excellent benefits package
- Brand new role with opportunity for growth, leadership, and the ability to own your role
Are you a Software Architect with a strong robotics background looking for the next best opportunity? Do you have your masters in perception for robotics with experience releasing product into the market?
If this sounds like you, and you’re looking for a new opportunity to join a growing company and contribute, we have just the opportunity for you!
Who are we?
Our client is a robotics company with a vision to bring robotic solutions into everyday life. Their ground-breaking product is deployed around the world and trusted by leading facilities and building service companies. Founded in 2014 and headquartered in Kitchener, ON, Canada, they offer comprehensive service and support to customers on 5 continents.
Now, they are looking you, their new Software Architect (Robot Perception Software) to join their growing company!
Software Architect (Robot Perception Software)
As our team grows, we are in need of a Software Architect to lead technical planning and design for our growing robot perception software (localization and obstacle detection stacks).
The ideal candidate has many years of experience in software development as well as having a strong academic background in mobile robotics perception (Masters required - PhD prefered).
You take a lot of pride in designing well structured, quality driven, and scalable infrastructures while collaborating with the technical team leads and other members. You have a wealth of practical and theoretical experience with many different sensor technologies (RGB cameras, LIDAR, ToF cameras, etc) as well the algorithms to use the sensors to localize and detect obstacles. Experience and background in deep learning approaches to obstacle detection (deep stereo, semantic segmentation) is ideal.
You approach problems with scientific rigor and you lead the direction while keeping an open mind to new ideas and approaches. You are comfortable implementing, deploying, testing, and troubleshooting your code and systems, while maintaining a strong systems mindset. You have a wide breadth of knowledge in many areas of design and software development while also being able to get your hands dirty, help in development, and detailing the design documentation.
Practically speaking, here’s what you’ll be working on:
- Participate in the overall development of long term planning efforts, technical roadmaps while leading the technical planning for the robot perception software (localization and obstacle detection stacks)
- Provide technical leadership on perception as well as staying up-to-date with industry-leading practices and technologies
- Review and collaborate with team leads to ensure that their software architecture fits with the overall architecture and long term goals
- Play an active role in the perception-related research activities conducted by our Advanced Technology Group (ATG)
- Coach and mentor more junior level software/perception engineers on software development and perception algorithms/concepts by providing quality feedback/mentorship
- Create, revise, and maintain design/technical documentation
- Spend at least 30% of time developing our code base and helping the teams with the project particulars of implementation
This is a full-time permanent position, offering a competitive annual salary, commensurate with experience, and generous benefits. Their office is based in Kitchener, but this position is open to candidates in any geographic area as long as you are comfortable commuting to the office a few times a week.
- Graduate level degree (MASc required - PhD preferred) in Perception (localization or obstacle detection topics), Computer Vision or equivalent
- 10+ years of software development experience
- 4+ years of practical experience deploying mobile robotics perception systems (sensors and algorithms)
- 2+ years of experience reviewing/approving technical design decisions, creating design artifacts, and/or leading software development teams in a technical role
- Strong software development background in C++ (C++11, 14) and Python
- Strong working knowledge of Linux (application level, scripting, driver/kernel development, Yocto, etc)
- Passionate about designing and developing high quality, scalable and robust software products
- Strong verbal and written communication skills (able to summarize and explain complex issues and technical problems effectively)
- Deep understanding of ROS, ROS 2 and future trends in the architecture of mobile robots
- Experience in perception stacks and sensor sets of mobile robots
- Has a strong GitHub with contributions to open source robotics projects
- A passion for robotics and hardware development