- Kitchener, ON
- Full-time, permanent position
- Competitive salary, commensurate with experience with excellent benefits package
- Growth, leadership, and opportunity to own your role
Are you a Software Architect with many years under your belt looking for the next best opportunity? Do you have experience with mobile robotics and a deep knowledge of ROS?
If you’re looking for a new opportunity where you can take pride in designing well structured, quality driven, and scalable infrastructures while collaborating with a strong technical team, 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 Infrastructure Software) to join their growing company!
Software Architect (Robot Infrastructure Software)
The purpose of our Software Architect is to lead the technical planning and design for our growing robot infrastructure software. You’ll design sustainable systems and scalable software systems, so having a strong technical background is critical for this position.
Our client is embarking on an effort to build a multi-robot and multi-application infrastructure, thus having a lead architect on the robot infrastructure is crucial.
The ideal candidate has many years of experience in software architecture and ideally in a mobile robotics context as well (although IoT/embedded devices in general are also applicable).
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, and other technical planning of the organization while leading the technical planning for the robot infrastructure software
- Provide technical leadership on best practices and stay 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
- Lead the design and architecture of our robot infrastructure software and its new projects
- Coach and mentor more junior level software engineers on software development practices, by providing quality feedback
- 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.
- 10+ years of software development experience
- 4+ years of experience reviewing/approving technical design decisions, creating design artifacts, and/or leading software development teams in a technical role
- BASc in computer science / computer engineering or equivalent
- Strong software development background in C++ (C++11, 14) and Python
- Experience with embedded systems and IoT devices
- Strong working knowledge of Linux (application level, scripting, some 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 and efficiently)
- Background in robotics and ROS
- Experience in software architecture of mobile robots (AMRs)
- Deep understanding of ROS, ROS 2 and future trends in AMRs
- A passion for robotics and hardware development
- MASc in computer science / computer engineering or equivalent
- Experience in GUI design