Avidbots Logo

Avidbots

Senior Software Developer - Infrastructure

Posted 23 Days Ago
Be an Early Applicant
In-Office
Kitchener, ON
Senior level
In-Office
Kitchener, ON
Senior level
The Senior Software Developer will design and optimize software infrastructure for autonomous cleaning robots, focusing on Linux development, C/C++, and automation tools.
The summary above was generated by AI

Avidbots is a pioneering leader in the field of robotics, dedicated to developing cutting-edge autonomous cleaning solutions for commercial and industrial environments. Our mission is to revolutionize the way cleaning and maintenance tasks are performed by introducing innovative, efficient, and sustainable robotic technologies. Avidbots is committed to delivering intelligent and autonomous robotic solutions that not only enhance operational efficiency but also promote a cleaner and healthier world.

Our groundbreaking autonomous cleaning robots, specifically the Neo 2 and Kas, are redefining the cleaning industry by offering state-of-the-art technology, advanced navigation, and data-driven insights to businesses across the globe. These robots are designed to perform tasks such as scrubbing and sanitization, and maintain cleanliness in a wide range of industries, including airports, shopping malls, warehouses, retail, and more.

Headquartered in Kitchener, ON, Canada, we are an employee-focused organization that has been certified a Great Place to Work® consecutively for the last 5 years and one of Deloitte's Fast 500 (2021). We are looking for passionate and talented individuals to join our team and contribute to the development of our cutting-edge technology. 

Position Overview:

The Infrastructure team at Avidbots is seeking an experienced and highly skilled Senior Software Developer to take a leading role in designing, developing, and optimizing the core software infrastructure that powers our autonomous robotics solutions. This is a hands-on software engineering role focused on creating robust, scalable, and high-performance systems. You will leverage your deep expertise in strong Linux programming, C/C++, and systems software to build and maintain the foundational platforms, develop tools for other engineers, and enhance our build systems. Your work will involve everything from kernel-level programming and performance optimization to the creation of base OS images and sophisticated configuration management systems, ensuring our developers have a world-class environment to build next-generation robots.

You will be working in a fun, fast-paced Agile environment, working closely with cross-functional teams in Engineering to develop state-of-the-art infrastructure solutions for our fleet of autonomous robots. We are looking for a self-starter with an impressive programming background, a strong work ethic, and great attention to detail.

This opportunity is a hybrid position based out of our Kitchener HQ a minimum of 3 days per week.

Responsibilities:

Linux Software Development

    • Design, develop, and maintain custom Linux environments, including the creation and management of base images for our robotic platforms and development infrastructure.
    • Engage in Linux kernel programming, device driver development/integration, and performance optimization for robotics and IoT device interactions.

Robotics Platform Software

    • Develop and optimize software infrastructure for embedded Linux systems powering our robots.
    • Implement, test and maintain communication protocols, including MQTT, for device-to-cloud communication

Containerization and Deployment

    • Develop and manage containerized applications, creating optimized and reproducible environments for development and testing. 
    • Engineer solutions for efficient deployment and management of software components on robotics platforms.

Infrastructure tooling & Automation Development

    • Develop robust tools and automation solutions (primarily C/C++, Python, Shell) to streamline software development, deployment, and operational workflows, directly supporting other engineering teams.
    • Design, implement, and maintain configuration systems to ensure consistency, reliability, and scalability across all development, testing and production environments.

System Performance and Reliability Engineering

    • Proactively identify system bottlenecks and develop software solutions for performance optimization across the software stack, from kernel to application level.
    • Design and implement software-based solutions for system monitoring, high availability, and fault tolerance.

Collaboration and Documentation

    • Work closely with software developers, research scientists and QA engineers to understand their needs and provide effective, well-documented infrastructure software and tools.
    • Maintain clear and comprehensive documentation for all developed software, systems and processes.

Requirements:

  • Bachelor's degree in Computer Science, Engineering, Mechatronics, or a related field.
  • 5+ years of hands-on software development experience with a strong emphasis on C/C++ and Python in a Linux environment.
  • Proven expertise in Linux programming: deep understanding of Linux internals, system calls, kernel programming and ideally device driver development, particularly for embedded Linux systems.
  • Demonstrable experience in designing and developing tools and automation for software infrastructure and developer productivity.
  • Solid experience with maintaining and enhancing build systems and version control.
  • Proficiency in scripting languages (Python, Shell) for complex automation and tool development.
  • Strong understanding of networking protocols and experience developing distributed applications or services.
  • Experience with message queuing systems and developing components for distributed systems.
  • A passion for computer performance optimization and low-level system details.
  • Excellent problem-solving, communication and collaboration skills.
  • Successfully complete pre-employment onboarding requirements that may include criminal/civil background checks

Nice-to-Haves:

  • Experience with real-time operating systems (RTOS) or real-time Linux (e.g. PREEMPT_RT).
  • Familiarity with robotics systems or developing software for robotics or IoT devices (experience with ROS/ROS2 is a plus).
  • Contributions to open-source projects related to systems software, kernel development or developer tooling.
  • Experience with advanced performance analysis and debugging tools (e.g. perf, eBPF, gdb, Valgrind).

 

***Applicants must be currently authorized to work in Canada for any employer

Avidbots is an equal opportunity employer committed to building a diverse workforce. As a multicultural organization, we encourage individual achievement and recognize the strength of a diverse workforce. We are a diverse Canadian company founded by international students, and we are proud of the strengths our diversity brings. We hold our executives to the same standards as all of our employees, and we believe work should be a safe space for all. Avidbots has an absolutely zero tolerance policy for discrimination or hate against members of any race, religion or sexual orientation. We also offer a professional working environment and culture and believe that work / life balance is critical to ensure the happiness/well-being of our people. 

Upon request, Avidbots will provide reasonable accommodation for applicants with disabilities throughout the recruitment and selection process.

Top Skills

C/C++
Containerization
Iot
Linux
Mqtt
Python
Robotics
Shell

Similar Jobs

9 Days Ago
Easy Apply
Remote or Hybrid
Ontario, ON, CAN
Easy Apply
Senior level
Senior level
Marketing Tech • Mobile • Software
As a Senior Software Engineer on the Testing Infrastructure team, you'll manage CI pipelines and improve developer tools for high-scale systems.
Top Skills: BuildkiteCypressDockerGitGithub ApiJestKotlinKubernetesNode.jsReactRspecRuby On RailsSlackSlack ApiTypescript
25 Days Ago
Remote or Hybrid
10 Locations
Senior level
Senior level
Machine Learning • Software
The role involves designing and maintaining an infrastructure for ML models, leading a team of engineers, and ensuring reliable cloud deployment across multiple providers.
Top Skills: AWSAzureCoreweaveGCPGpu ClustersOci
24 Days Ago
Remote or Hybrid
Toronto, ON, CAN
Senior level
Senior level
Beauty • Enterprise Web • Fintech • Payments • Software
The role involves enhancing infrastructure reliability and scalability, supporting development tools, and driving operational excellence across teams.
Top Skills: AWSAzureDockerGCPGoJavaKotlinKubernetesPythonRubyTerraformTypescript

What you need to know about the Ottawa Tech Scene

The capital city of Canada and the nation's fourth-largest urban area, Ottawa has proven a rapidly growing global tech hub. With over 1,800 tech companies, many of which are leaders in their sectors, the city's tech talent now makes up more than 13 percent of its total workforce. This growth is driven not only by the big players like UL Solutions and Dropbox, but also by a thriving startup ecosystem, as new businesses emerge to follow in the footsteps of those that came before them.

Sign up now Access later

Create Free Account

Please log in or sign up to report this job.

Create Free Account