Start Date
Immediate
Expiry Date
27 Sep, 25
Salary
0.0
Posted On
29 Jun, 25
Experience
0 year(s) or above
Remote Job
Yes
Telecommute
Yes
Sponsor Visa
No
Skills
Scripting Languages, Software Infrastructure, Automation, Kernel Programming, Python, Version Control, Collaboration, Mechatronics, Computer Science, Distributed Systems, Background Checks, Distributed Applications
Industry
Computer Software/Engineering
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.
REQUIREMENTS:
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.