Senior Embedded Software Designer
13 hours ago
Winnipeg MB, Winnipeg Census Division, MB; Manitoba, Canada
Go Fractional
Full-time
Free with email or Google
Save this job and keep your search organized
Create a free account to save jobs, create alerts and return to this listing from your dashboard.
Free with email or Google
By continuing, you agree to our Terms & Privacy Policy.
Senior Embedded Software Designer (6+ month Contract)
Canada / United StatesEngineering
- Software /Full-time Contract /Remote
* Competitive compensation with a robust equity plan to share in our success.
* Comprehensive coverage for health, dental, and vision insurance -including dependents.
* Unlimited vacation, supportive parental leave policy, and company-wide holiday shutdown.
* Semi-annual company-wide parties and frequent in-office team events.
* Relocation packages 1,500 annual professional development fund to support your growth.
* Fully stocked Toronto office kitchen with snacks, drinks, games and top-notch kitchen appliances.
* Town Halls, Celebration Calls, and Company-wide events Senior Embedded Software Engineer for a 6+ month contract. Your focus will be on software development and maintenance required for both space and ground-based assets for a growing fleet of spacecraft. You'll be relied upon for input and decisions that will directly impact design and operation.
Design, develop, and maintain reliable, high-quality embedded software for both spacecraft and ground-based systems supporting a growing fleet of satellitesDesign and implement secure communications capabilities, including encryption, authentication, and key exchange for next-generation data linksBuild and maintain low-level software components including device drivers, kernel modules, hardware interfaces, and platform servicesDevelop automated tests, validation tools, and technical documentation to support robust software delivery and long-term maintainabilityParticipate in software architecture discussions, design reviews, and code reviews to ensure software quality and system reliabilityCollaborate closely with cross-functional teams to define system requirements, debug complex issues, and evolve system architectureIdentify performance gaps, reliability risks, and architectural shortcomings in existing systems, and drive improvements across the software stackProvide technical leadership, mentorship, and guidance to junior engineers while contributing to engineering best practices and development standardsRequired Skills &
Qualifications:
6+ years of experience developing embedded software for complex, high-reliability systemsBachelor’s degree in Computer Science, Computer Engineering, Electrical Engineering, or equivalent practical experienceStrong software engineering fundamentals, including system design, debugging, testing, performance analysis, and maintainable code developmentProficiency in C/C++ for embedded systems, including concurrency, interrupt handling, memory-mapped peripherals, and hardware communication interfaces such as SPI, I2C, UART, and CANExperience developing software for embedded Linux and/or RTOS environments, including familiarity with build systems such as Yocto/OpenEmbedded and operating systems such as FreeRTOSExperience developing low-level embedded Linux components including kernel modules, device drivers, and device tree integrationsExperience developing and maintaining automated test frameworks, validation tooling, or hardware/software integration test environmentsStrong cross-functional collaboration and communication skills, with the ability to work effectively across software, hardware, and operations teamsProficiency with modern software development workflows and tools, including Git-based version control and code review practicesDemonstrates a willingness to adopt and effectively utilize AI-assisted engineering tools, applying sound judgment to improve productivity, quality, and innovation while continuously adapting to evolving technologiesBonus Points: Master's degree in Computer Science, Computer Engineering, or related fieldExperience developing software for aerospace applicationsExperience implementing embedded security solutions such as secure boot, hardware security modules (HSMs), certificate/key management, authentication, or encrypted communicationsFamiliarity with Linux networking concepts and infrastructure, including routing, interfaces, netlink, or packet-processing pipelinesExperience developing multi-stage bootloadersStrong knowledge of computer networking and modern networking protocolsExperience with RTL (Verilog and/or VHDL) and embedded SoCs #
- Software /Full-time Contract /Remote
* Competitive compensation with a robust equity plan to share in our success.
* Comprehensive coverage for health, dental, and vision insurance -including dependents.
* Unlimited vacation, supportive parental leave policy, and company-wide holiday shutdown.
* Semi-annual company-wide parties and frequent in-office team events.
* Relocation packages 1,500 annual professional development fund to support your growth.
* Fully stocked Toronto office kitchen with snacks, drinks, games and top-notch kitchen appliances.
* Town Halls, Celebration Calls, and Company-wide events Senior Embedded Software Engineer for a 6+ month contract. Your focus will be on software development and maintenance required for both space and ground-based assets for a growing fleet of spacecraft. You'll be relied upon for input and decisions that will directly impact design and operation.
Design, develop, and maintain reliable, high-quality embedded software for both spacecraft and ground-based systems supporting a growing fleet of satellitesDesign and implement secure communications capabilities, including encryption, authentication, and key exchange for next-generation data linksBuild and maintain low-level software components including device drivers, kernel modules, hardware interfaces, and platform servicesDevelop automated tests, validation tools, and technical documentation to support robust software delivery and long-term maintainabilityParticipate in software architecture discussions, design reviews, and code reviews to ensure software quality and system reliabilityCollaborate closely with cross-functional teams to define system requirements, debug complex issues, and evolve system architectureIdentify performance gaps, reliability risks, and architectural shortcomings in existing systems, and drive improvements across the software stackProvide technical leadership, mentorship, and guidance to junior engineers while contributing to engineering best practices and development standardsRequired Skills &
Qualifications:
6+ years of experience developing embedded software for complex, high-reliability systemsBachelor’s degree in Computer Science, Computer Engineering, Electrical Engineering, or equivalent practical experienceStrong software engineering fundamentals, including system design, debugging, testing, performance analysis, and maintainable code developmentProficiency in C/C++ for embedded systems, including concurrency, interrupt handling, memory-mapped peripherals, and hardware communication interfaces such as SPI, I2C, UART, and CANExperience developing software for embedded Linux and/or RTOS environments, including familiarity with build systems such as Yocto/OpenEmbedded and operating systems such as FreeRTOSExperience developing low-level embedded Linux components including kernel modules, device drivers, and device tree integrationsExperience developing and maintaining automated test frameworks, validation tooling, or hardware/software integration test environmentsStrong cross-functional collaboration and communication skills, with the ability to work effectively across software, hardware, and operations teamsProficiency with modern software development workflows and tools, including Git-based version control and code review practicesDemonstrates a willingness to adopt and effectively utilize AI-assisted engineering tools, applying sound judgment to improve productivity, quality, and innovation while continuously adapting to evolving technologiesBonus Points: Master's degree in Computer Science, Computer Engineering, or related fieldExperience developing software for aerospace applicationsExperience implementing embedded security solutions such as secure boot, hardware security modules (HSMs), certificate/key management, authentication, or encrypted communicationsFamiliarity with Linux networking concepts and infrastructure, including routing, interfaces, netlink, or packet-processing pipelinesExperience developing multi-stage bootloadersStrong knowledge of computer networking and modern networking protocolsExperience with RTL (Verilog and/or VHDL) and embedded SoCs #