4 Software Engineers jobs in Kitchener
Director of Software Development
Posted 1 day ago
Job Viewed
Job Description
Job Description
We are looking for an experienced Director of Software Development for our client. This is a permanent position that is remote to start with later relocation to Vancouver . Our client is a global enterprise company providing a last-mile delivery service to large E-Commerce and retail businesses.
You Have:
- 10+ years’ experience as a Software Developer
- 2+ years' people management experience leading full-stack engineering teams
- Extensive experience mentoring junior developers; performing code reviews, contributing to architectural decision-making, and
- Experience with the following; Java , Node.js , MongoDB , React , HTML , SQL
- Experience working with Microservices architecture
- Experience working in cloud environment, ideally with AWS
Perks:
- Very Competitive Salary
- Equity Options
- Individual performance bonus
- Health and dental benefits
- 3 weeks’ vacation
Senior Software Developer - Infrastructure
Posted 1 day ago
Job Viewed
Job Description
Job Description
Salary:
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 maintainconfiguration 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.
Perception Software Engineer
Posted 1 day ago
Job Viewed
Job Description
Job Description
Salary: $70,000+ yearly
Job Responsibilities:
- Design and develop high quality, maintainable and testable code
- Work closely with system architects to ensure conformity to target architecture
- Interact and work closely with other teams for systems integration
- Develop foundational software to support new Autonomy behaviors and robot applications
- Develop Perception models for different Autonomy sensors
- Develop Swap robotic arm perception
- Participate in code reviews and in all phases of the Software Development Life Cycle
Basic Qualifications
- B.Sc. or graduate degree in computer science, engineering or equivalent
- 1+ years of experience with software development in a professional setting
- 1+ years of experience with developing supporting software for autonomous systems
- Computer Science fundamentals in algorithm design, problem solving, and complexity analysis
- Computer Vision and Linear Algebra fundamentals
- Experience developing software in core Python or C++ with Object Oriented implementations
- Strong proficiency in C++ (C++11, 14)
- Knowledge and experience with best practices in modern software development
- Proficiency with Linux-based operating systems
- Driven individual, passionate, self-starter, cross-functional, self-organizer
- Adaptability for priorities changes
Preferred Qualifications
- ROS1/2 professional experience
- Docker tools
- Deep learning approaches to obstacle detection
- SLAM and / or lidar-based localization
- Experience with multiple sensor technologies
- Experience developing high-performance foundational software layers
- Multi-threaded and multi-process implementation
- AWS IoT
- Exposure to Agile project management methodologies
- Exposure to gitflow and scrum environments
- Self-motivated and able to solve problems independently
- Strong communication skills, ability to work well in a team environment
Why work for us?
- Project leadership opportunities
- Welcoming, inclusive and collaborative team environment
- Flexible working hours
- Modern office and Green Energy technology
- Exciting Startup with lots of opportunities to have your voice heard
Swap Robotics is an equal opportunity employer. We are committed to inclusive, barrier-free recruitment and selection processes and work environment. If you are contacted for a job opportunity, please let us know if any accommodation is needed to ensure you have access to a fair and equitable process. Any information received relating to accommodation will be kept confidential.
Senior C++ Software Engineer
Posted 1 day ago
Job Viewed
Job Description
Job Description
We are looking for an experienced Senior C++ Software Engineer for our client. This is a permanent position that is remote . Our client is a B.C based tech company enjoying substantial growth.
The work will be heavily related to developing and implementing new features for an SDK.
You Have:
- 5+ years’ experience developing complex software projects and applications, with a strong proficiency in C/C++ development.
- A degree in Computer Science. Masters is preferred.
- Knowledge and or interest in computer graphics, document formats (especially page description languages such as PDF, SVG, XPS, PostScript), image compression technologies and AI is a plus.
- Familiarity related to raster and vector image processing is a plus.
Perks:
- Competitive Salary
- Health and dental benefits
- Completely remote work
If this opportunity sounds like something that fits your career path, please apply to this posting; we'd love to talk to you!
Be The First To Know
About the latest Software engineers Jobs in Kitchener !