Our client is seeking an experienced Embedded Software Engineer to join their technical team. This is a highly collaborative, hybrid contract position requiring 4 days per week on-site at our client's engineering centers in either Oakville or Waterloo. The successful candidate will own the entire software development lifecycle—from defining architecture and writing embedded code to test execution and deployment—ensuring all solutions align cleanly with user needs and industry standards.
...
This role is tailored for a seasoned software professional specializing in embedded environments within the automotive or aerospace domains. You will be responsible for translating high-level customer requirements into scalable software architectures, choosing optimal technology stacks, and developing robust code blocks. This position requires a strong blend of technical execution in C/C++ and Python, combined with the systems engineering discipline required to author technical specifications and implement modern CI/CD practices.
Advantages
You will have the opportunity to drive the full scope of product delivery, including high-level architecture design, implementation, automated test strategy, and deployment.
You will be able to tackle sophisticated system-level challenges within specialized, mission-critical embedded software environments.
You'll work alongside cross-functional squads utilizing industry-standard requirements tools and advanced simulation frameworks like Matlab and Simulink.
Responsibilities
Software Architecture & Embedded Development
Create high-level software architecture designs outlining the overall structure, component definitions, and interfaces of the application.
Design, develop, and deliver embedded software solutions utilizing C/C++ and Python across various layers of the technology stack.
Evaluate and determine the most suitable technology stack, integration methods, and deployment strategies based on specific software application or service requirements.
Monitor, evaluate, and incorporate emerging technologies and capabilities, actively participating in solutions for new stack layers and industry collaborations.
Requirements Engineering & Stakeholder Collaboration
Engage deeply with customers to understand their specific use-cases, pain points, and functional requirements, showcasing empathy and advocating for user-centric solutions.
Capture, author, and manage technical requirements and software specifications using enterprise tools.
Collaborate daily with cross-functional project teams, including product owners, UI/UX designers, and enterprise architects, to ensure alignment with business roadmaps.
Test Strategy & Quality Optimization
Define and implement comprehensive software test strategies, guidelines, policies, and processes in line with the organizational vision and market best practices.
Utilize advanced programming practices, including Test-Driven Development (TDD), Continuous Integration (CI), and Continuous Delivery (CD) pipelines.
Support robust security practices, including data encryption and anonymization protocols, to safeguard user data.
Continuously monitor and improve software application performance, optimizing code and analyzing system logs to maximize overall development efficiency.
Qualifications
Core Requirements
Education: Bachelor’s Degree in Computer Science, Computer Engineering, Software Engineering, or a related technical discipline.
Domain Experience: 5+ years of dedicated professional experience in automotive and/or aerospace software development.
Embedded Background: 5+ years of hands-on experience developing software specifically tailored for embedded environments.
C/C++ Development: 3+ years of experience developing software applications using C/C++.
Python Engineering: 3+ years of experience utilizing Python to develop automated tests, diagnostic tools, and scripts.
Specification Authoring: 3+ years of experience in technical specification and requirements authoring using enterprise platforms such as IBM DOORS/DNG, Polarion, or Jama.
Methodologies: Strong familiarity with Agile software development frameworks, sprint delivery cadences, and task decomposition.
Preferred Qualifications (Nice to Have)
Master’s Degree in an engineering or computer science discipline.
3+ years of experience developing software applications and state-machines using Matlab, Simulink, and Stateflow.
3+ years of Systems Engineering experience, including authoring system-level requirements or utilizing model-based systems engineering (MBSE) tools like MagicDraw.
Summary
-----------------------------------------------------------------------------------
Randstad Canada is committed to fostering a workforce reflective of all peoples of Canada. As a result, we are committed to developing and implementing strategies to increase the equity, diversity and inclusion within the workplace by examining our internal policies, practices, and systems throughout the entire lifecycle of our workforce, including its recruitment, retention and advancement for all employees. In addition to our deep commitment to respecting human rights, we are dedicated to positive actions to affect change to ensure everyone has full participation in the workforce free from any barriers, systemic or otherwise, especially equity-seeking groups who are usually underrepresented in Canada's workforce, including those who identify as women or non-binary/gender non-conforming; Indigenous or Aboriginal Peoples; persons with disabilities (visible or invisible) and; members of visible minorities, racialized groups and the LGBTQ2+ community.
Randstad Canada is committed to creating and maintaining an inclusive and accessible workplace for all its candidates and employees by supporting their accessibility and accommodation needs throughout the employment lifecycle. We ask that all job applications please identify any accommodation requirements by sending an email to accessibility@randstad.ca to ensure their ability to fully participate in the interview process.
This posting is for existing and upcoming vacancies.
show more
Our client is seeking an experienced Embedded Software Engineer to join their technical team. This is a highly collaborative, hybrid contract position requiring 4 days per week on-site at our client's engineering centers in either Oakville or Waterloo. The successful candidate will own the entire software development lifecycle—from defining architecture and writing embedded code to test execution and deployment—ensuring all solutions align cleanly with user needs and industry standards.
This role is tailored for a seasoned software professional specializing in embedded environments within the automotive or aerospace domains. You will be responsible for translating high-level customer requirements into scalable software architectures, choosing optimal technology stacks, and developing robust code blocks. This position requires a strong blend of technical execution in C/C++ and Python, combined with the systems engineering discipline required to author technical specifications and implement modern CI/CD practices.
Advantages
You will have the opportunity to drive the full scope of product delivery, including high-level architecture design, implementation, automated test strategy, and deployment.
...
You will be able to tackle sophisticated system-level challenges within specialized, mission-critical embedded software environments.
You'll work alongside cross-functional squads utilizing industry-standard requirements tools and advanced simulation frameworks like Matlab and Simulink.
Responsibilities
Software Architecture & Embedded Development
Create high-level software architecture designs outlining the overall structure, component definitions, and interfaces of the application.
Design, develop, and deliver embedded software solutions utilizing C/C++ and Python across various layers of the technology stack.
Evaluate and determine the most suitable technology stack, integration methods, and deployment strategies based on specific software application or service requirements.
Monitor, evaluate, and incorporate emerging technologies and capabilities, actively participating in solutions for new stack layers and industry collaborations.
Requirements Engineering & Stakeholder Collaboration
Engage deeply with customers to understand their specific use-cases, pain points, and functional requirements, showcasing empathy and advocating for user-centric solutions.
Capture, author, and manage technical requirements and software specifications using enterprise tools.
Collaborate daily with cross-functional project teams, including product owners, UI/UX designers, and enterprise architects, to ensure alignment with business roadmaps.
Test Strategy & Quality Optimization
Define and implement comprehensive software test strategies, guidelines, policies, and processes in line with the organizational vision and market best practices.
Utilize advanced programming practices, including Test-Driven Development (TDD), Continuous Integration (CI), and Continuous Delivery (CD) pipelines.
Support robust security practices, including data encryption and anonymization protocols, to safeguard user data.
Continuously monitor and improve software application performance, optimizing code and analyzing system logs to maximize overall development efficiency.
Qualifications
Core Requirements
Education: Bachelor’s Degree in Computer Science, Computer Engineering, Software Engineering, or a related technical discipline.
Domain Experience: 5+ years of dedicated professional experience in automotive and/or aerospace software development.
Embedded Background: 5+ years of hands-on experience developing software specifically tailored for embedded environments.
C/C++ Development: 3+ years of experience developing software applications using C/C++.
Python Engineering: 3+ years of experience utilizing Python to develop automated tests, diagnostic tools, and scripts.
Specification Authoring: 3+ years of experience in technical specification and requirements authoring using enterprise platforms such as IBM DOORS/DNG, Polarion, or Jama.
Methodologies: Strong familiarity with Agile software development frameworks, sprint delivery cadences, and task decomposition.
Preferred Qualifications (Nice to Have)
Master’s Degree in an engineering or computer science discipline.
3+ years of experience developing software applications and state-machines using Matlab, Simulink, and Stateflow.
3+ years of Systems Engineering experience, including authoring system-level requirements or utilizing model-based systems engineering (MBSE) tools like MagicDraw.
Summary
-----------------------------------------------------------------------------------
Randstad Canada is committed to fostering a workforce reflective of all peoples of Canada. As a result, we are committed to developing and implementing strategies to increase the equity, diversity and inclusion within the workplace by examining our internal policies, practices, and systems throughout the entire lifecycle of our workforce, including its recruitment, retention and advancement for all employees. In addition to our deep commitment to respecting human rights, we are dedicated to positive actions to affect change to ensure everyone has full participation in the workforce free from any barriers, systemic or otherwise, especially equity-seeking groups who are usually underrepresented in Canada's workforce, including those who identify as women or non-binary/gender non-conforming; Indigenous or Aboriginal Peoples; persons with disabilities (visible or invisible) and; members of visible minorities, racialized groups and the LGBTQ2+ community.
Randstad Canada is committed to creating and maintaining an inclusive and accessible workplace for all its candidates and employees by supporting their accessibility and accommodation needs throughout the employment lifecycle. We ask that all job applications please identify any accommodation requirements by sending an email to accessibility@randstad.ca to ensure their ability to fully participate in the interview process.
This posting is for existing and upcoming vacancies.
show more