Senior Embedded Software Engineer - Automotive (C++/Linux)
On behalf of our Automotive client, Procom is searching for a Senior Embedded Software Engineer - Automotive (C++/Linux) for a 12 month contract role. This position is a hybrid position with 4 days onsite at our client’s Ottawa office.
Senior Embedded Software Engineer - Automotive (C++/Linux) - Job Description:
Our client is seeking a Senior Embedded Software Engineer to take full stack ownership of a Vehicle Information Manager (VIM), a critical real-time CAN data broker at the heart of a Linux-based vehicle platform. This role involves deep technical ownership and team leadership, focusing on the entire lifecycle of vehicle data from configuration to processing live traffic.
- Own the end-to-end architecture of the Vehicle Information Manager, including the core daemon, client libraries, and configuration toolchains
- Lead development of the core daemon, focusing on high performance CAN PDU processing, signal transmission, and SOA services
- Develop and maintain public-facing client libraries used across the platform’s applications
- Maintain and evolve a Python-based configuration pipeline for optimized runtime configurations
- Design and maintain multi-threaded real-time unit test suites using Google Test/GMock
- Lead and mentor a small team of 2-4 developers through code reviews and architectural guidance
- Act as primary point of contact for application teams, ensuring seamless integration
- 8+ years of professional experience in embedded Linux development using modern C++
- Proven expertise in real-time, multi-threaded systems with critical performance and latency
- Deep understanding of SOA, IPC middleware, and asynchronous RPC patterns
- Expert level knowledge of CAN bus protocols, including PDU encoding/decoding
- Advanced proficiency with Google Test and GMock
- Strong Python scripting skills for data-heavy configuration pipelines
- Experience leading or mentoring a small team in an agile workplace
Senior Embedded Software Engineer - Automotive (C++/Linux) - Assignment Location:
Ottawa, Ontario, Canada. This is a hybrid position requiring 4 days in the office.