Embedded Software Developer

Back to Jobs
MMIST logo

Embedded Software Developer

MMIST

120,000–130,000 / Year

Location

Ottawa, Ontario, Canada (Hybrid)

Experience

Mid

Posted

Jul 30, 2026

Apply by

August 29, 2026

Applicants

0

Early applicantEasy applyFull-timeHybrid

Job Description

Embedded Software Developer Ottawa, ON Mist Mobility Integrated Systems Technology is a pioneering company in the field of precision aerial delivery and recovery systems including the Sherpa™ family of GPS guided parafoils, Space Recovery Systems, LaunchPADS™ Multi-Mission Manager, SkyLink™ Parachutist Navigation and Situational Awareness System, and other support equipment. With a strong commitment to innovation and excellence, we have established ourselves as the industry leader. Our cutting-edge technologies and solutions are trusted by military and commercial customers worldwide. We are currently seeking a Embedded Software Developer to join our Ottawa based team. What will you be doing? As the Embedded Software Engineer, you will play an integral part of an agile development team, developing & maintaining software for MMIST’s family of solutions for Precision Aerial Delivery and Recovery ensuring products are at the leading edge of technology for our customers. - Write efficient, modular, and maintainable code in languages such as C/C++ - Create unit tests for created code. - Develop, design, and implement advanced guidance, navigation & control algorithms for autonomous parachute system, focusing on stability, efficiency, and safety. - Develop fault-tolerant system designs, ensuring the system can continue operating with minimal disruption even in the presence of faults. - Conduct thorough analysis of control feedback and collaborate with stakeholders to implement improvements and optimize system behavior. - Verify the effectiveness of guidance, navigation & control strategies through simulation, modelling, and physical testing, ensuring alignment with performance goals and safety requirements. - Be responsible for troubleshooting and root cause analysis of issues within our software. - Ensure code is appropriate for use within mission critical, safety critical high availability systems. - Providing expert knowledge for embedded software systems to meet budget and customer delivery times. - Being accountable for continuous improvements to processes to deliver quality robust solutions. - Collaborate closely with cross-functional teams, including mechanical, electrical, systems, and software developers, to refine control strategies based on real-world performance data and operational requirements. - Collaborating with internal cross-functional and leadership teams to identify product improvements and influence key decisions. - Define and document requirements of the embedded software both into and from the system specifications. - Detects areas in embedded systems that need improvement and leads the work on making those improvements. - Mentors Junior embedded engineers on the team and throughout the organization What do we need from you? - Degree or suitable experience in relevant field of Computer Science etc. - Advanced development and verification skills using C/C++ for embedded real-time systems. - Proficiency in embedded software development tools, debugging techniques, and cross-compilation environments. (Keil, MPLAB X, Visual Studio, or similar) - Familiarity with communication protocols such as UART, SPI, I2C, USB, CAN, Ethernet, or wireless technologies. - Experience of real-time system modelling with UML software development for POSIX compliant RTOS e.g. QNX - Strong documentation writing skills - Familiarity with various microcontroller architectures and their peripherals, especially arm. - Familiarity with sensors, actuators, and feedback control mechanisms used in industrial applications, as well as fault-tolerant system design. - A huge plus for understanding of the GNC disciplines such as: Autopilot design and stability analysis, Guidance laws for varying phases of flight, Navigation systems including integration of GNSS and IMU, and Data fusion and state estimation. - Experience with aerospace software development standards (e.g., DO-178C) would be great. Compliance Statement This position may require exposure to export-controlled information and is subject to additional security screening. In the event information provided during the security screening reveals ineligibility to access export-controlled information, any offer of employment may be reconsidered or withdrawn. MMIST values diversity in the workplace. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability or protected veteran status. If you require accommodation due to a disability at any time during the recruitment and/or assessment process, please contact Talent Acquisition and we will make all reasonable efforts to accommodate your request. Please note that the compensation range information provided is a general guideline only. Criteria such as the candidate’s qualifications and relevant experience, the scope of the specific position, as well as market and business considerations will be evaluated when extending an offer.

Key Responsibilities

  • Write efficient, modular, and maintainable code in C/C++ for embedded real-time systems.
  • Create unit tests for created code.
  • Develop, design, and implement advanced guidance, navigation, and control algorithms for autonomous parachute systems.
  • Develop fault-tolerant system designs to ensure minimal disruption during faults.
  • Conduct analysis of control feedback and collaborate with stakeholders to optimize system behavior.
  • Verify guidance and navigation strategies through simulation, modeling, and physical testing.
  • Troubleshoot and perform root cause analysis on software issues.
  • Ensure code meets requirements for mission-critical, safety-critical, high-availability systems.
  • Provide expert knowledge for embedded software systems to meet budget and delivery timelines.
  • Drive continuous improvements to processes for quality robust solutions.
  • Collaborate with cross-functional teams to refine control strategies based on performance data.
  • Define and document embedded software requirements from system specifications.
  • Identify areas for improvement in embedded systems and lead improvement efforts.
  • Mentor junior embedded engineers on the team.

Requirements

  • Degree or suitable experience in Computer Science or relevant field

Skills Required

CC++Embedded Real-Time SystemsKeilMPLAB XVisual StudioUARTSPII2CUSBCANEthernetWireless TechnologiesUMLPOSIXRTOSQNXMicrocontroller ArchitecturesARMSensorsActuatorsFeedback ControlFault-Tolerant System DesignUnit TestingDebuggingCross-CompilationDocumentation WritingCollaborationMentoringProblem SolvingGNC disciplinesAutopilot designStability analysisGuidance lawsGNSS integrationIMU integrationData fusionState estimationDO-178C standards

App exclusive · Free

Smart Job AI Coach

Your personal interview coach on every job — readiness tips, profile improvements, and role-specific prep. Available only in the Pulse Job app.

Interview readiness

See how prepared you are and what to improve for each role.

Personalized tips

Actionable suggestions based on your profile and the job.

After you apply

Keep coaching momentum from job detail through application success.

Get Smart Job AI Coach in the appFree on iOS and Android