Software Engineer
- Kitchener, ON, Canada
Full-time
Applications open in a new tab.
Job details
- Job type
- Full-time
- Apply by
- Experience
- Experience: 3+ years of relevant industrial experience in software development.
- Working hours
- 40 hours per week
- Posting language
- English
- Posted
Original job description
- Engineering
- Full-Time
- 3+ years
- Kitchener, Ontario
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.
- 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.
- 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)
- 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.
- 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.
First Name *
Last Name *
Email *
Phone Number *
LinkedIn Profile URL *
Upload File
Upload your CV *
Max file size 10MB.
Maximum file size is 5MB
Supported formats: PDF, DOC, JPG
Uploading...
fileuploaded.jpg
Upload failed. Max size for files is 10 MB.
Comments & Questions
I agree that you can keep my data for an extended time period so that it will be easier for you to contact me about job opportunities.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
- Engineering
- Full-Time
- 3+ years
- Kitchener, Ontario
Location: Kitchener, ON (Trillium / Homer Watson Industrial Park)
Department: Software & Firmware
Reports To: Software Engineering Lead
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.
- 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.
- 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)
- 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.
- 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.
More about this job
Responsibilities
Design and implement high-level C++ software clients and nodal architecture to integrate system components, algorithms, and hardware interfaces. Develop reliable system infrastructure for communication, error management, fault recovery, and state handling while applying modular design practices and optimizing performance.
Requirements
Requires at least three years of relevant industrial software development experience, a degree in Software Engineering or Computer Science (or equivalent technical experience), and expert-level proficiency in modern C++. Candidates should be comfortable with Visual Studio Code, Valgrind, GDB, and project management tools such as Jira; robotics, CUDA, and ZeroMQ experience are advantageous.
Skills
- Modern C++
- Software Architecture
- Object-Oriented Programming
- SOLID Principles
- Design Patterns
- System Integration
- Robotics
- Network Communication
- Error Management
- Fault Recovery
- State Handling
- Performance Optimization
- Valgrind
- GDB
- Jira
- Asynchronous Messaging
Benefits
- Extended Health Care
- Dental Care
- Vision Care
- Health Spending Account
- Free On-Site Parking
Visa sponsorship
Not detected in the job text
Categories
- Software
- Technology
- Engineering
- Manufacturing
Keywords
- C++
- Modern C++
- Software Architecture
- Nodal Architecture
- System Integration
- Robotics
- Mechatronics
- Object-Oriented Programming
- SOLID Principles
- Design Patterns
- Compile-Time Templating
- Network Communication
- In-Process Communication
- Error Management
- Fault Recovery
- State Handling
- Performance Optimization
- Visual Studio Code
- Valgrind
- GDB
- Jira
- NVIDIA CUDA
- GPU Computing
- ZeroMQ
- Asynchronous Messaging
- Hardware Integration
- AI/ML