Job Type: Full-Time, 40 hours per week
Location: Kitchener, ON (Trillium / Homer Watson Industrial Park)
Department: Software & Firmware
Reports To: Software Engineering Lead
About Mycionics
We are a strong, multidisciplinary mechatronics team where every member directly contributes to the product. We design, prototype, fabricate, and industrialize full robotic systems—spanning mechanical, electrical, firmware, software, AI/ML, and data analytics—and deploy them globally to customers across three continents.
The Role
We are seeking a highly collaborative C++ Software Engineer to build the high-level software architecture that glues our robotic systems together. While our firmware team handles the low-level hardware drivers and our AI team develops the algorithms, you will be responsible for overarching client development, nodal architecture, and system integration.
Working closely with our Software Engineering Lead, you will act as a sounding board for architectural decisions and take ownership of implementing robust, modular, and extensible C++ code. We are looking for a dedicated software specialist—someone who is passionate about modern C++ design patterns, system efficiency, and building reliable software foundations, rather than someone looking to transition into machine learning or hardware.
Key Responsibilities
- Client & Systems Development: Design and implement high-level software clients that effectively link together various system components, algorithms, and hardware interfaces.
- System Architecture: Contribute to our nodal software architecture, implementing robust cross-nodal, in-process, and network communication methodologies.
- Core Infrastructure: Develop key architectural features and protocols, such as system-wide error management, fault recovery, and state handling.
- Design Patterns & Best Practices: Strictly apply Object-Oriented Programming (OOP) concepts, SOLID principles, and appropriate design patterns to ensure a highly modular and maintainable codebase.
- Code Optimization: Leverage modern C++ features (e.g., compile-time templating over runtime type erasure) to maximize execution speed and overall software efficiency.
- Collaborative Design: Partner with the Software Lead to brainstorm and refine system architecture, bringing fresh perspectives and robust solutions to the table.
Technical Qualifications
- Experience: 3+ years of relevant industrial experience in software development.
- Education: Degree in Software Engineering, Computer Science, or equivalent rigorous technical experience.
- Core Languages: Deep, expert-level proficiency in modern C++.
- Development & Debugging: Comfort working in environments like Visual Studio Code and strong experience utilizing memory/performance debugging tools such as Valgrind and GDB.
- Project Management: Experience utilizing project management tools (e.g., Jira) to pace workloads, identify scheduling concerns, and maintain accountability.
Nice-to-Have Skills
- Robotics Experience: Familiarity or past experience working with robotic systems and hardware integration.
- Parallel Computing: Familiarity with NVIDIA CUDA and GPU-accelerated environments.
- Networking/Messaging: Advanced experience with asynchronous messaging libraries (e.g., ZeroMQ)
Who You Are
- A Software Purist: You are passionate about software architecture and C++ development as your core domain, and you take pride in establishing robust code structures.
- An Architectural Thinker: You understand how low-level design patterns impact high-level system performance and scalability.
- A Collaborative Communicator: You enjoy technical brainstorming, value diverse perspectives, and engage in constructive, solution-oriented discussions to drive the best architectural outcomes.
Why Join Mycionics?
- Global Impact: We deploy systems to customers on three continents, offering opportunities for international travel.
- Cross-Functional Collaboration: Work in a facility where you see the physical machine being built next to you. You will collaborate closely with electrical, software, and AI teams to see your code drive massive physical movements.
- Growth & Advancement: We offer professional growth through hands-on experience and increasing ownership. If you show initiative and deliver results, there are real opportunities to advance as the team expands.
- Benefits & Wellness: We offer a comprehensive benefits package including extended health care, dental, vision care, and a Health Spending Account (HSA).
- Environment: Based in the industrial hub of Kitchener with free on-site parking.
- Culture: A collaborative team environment with casual dress, company events, and social hours.