Senior Embedded Software Developer (Vehicle Information Manager - VIM)
Location: Ottawa, ON
Work Model: Fully Onsite (5 Days per Week)
6 months plus extensions
Overview Epitec is seeking a highly experienced Senior Embedded Software Developer to lead development and ownership of a critical Vehicle Information Manager (VIM) platform within an embedded Linux environment. This role is ideal for a hands-on technical leader who thrives in real-time systems, enjoys system-level architecture, and has deep expertise in automotive communication networks.
As the technical owner of the VIM platform, you will oversee the complete lifecycle of vehicle data, from configuration generation through high-performance runtime processing. You will also mentor a small team of developers, drive engineering best practices, and ensure the delivery of reliable, high-quality software.
Key Responsibilities
- Own the end-to-end architecture and technical direction of the Vehicle Information Manager (VIM).
- Lead development of high-performance embedded Linux software focused on real-time CAN network communication and data processing.
- Design, develop, and maintain core daemon services responsible for vehicle data handling and signal transmission.
- Build and support client-facing API libraries used across the embedded software platform.
- Maintain and enhance Python-based configuration toolchains that generate and optimize runtime configurations.
- Create and maintain robust automated test suites using Google Test (GTest) and Google Mock (GMock).
- Drive software quality, reliability, and performance through architecture reviews, code reviews, and testing strategies.
- Mentor and lead a team of 2-4 software developers in an agile development environment.
- Collaborate with cross-functional engineering teams to ensure seamless integration between vehicle networks and software applications.
- Identify opportunities for process improvements, architectural enhancements, and long-term platform scalability.
Required Qualifications
- Bachelor's degree in Computer Engineering, Software Engineering, Computer Science, or a related field.
- 8+ years of professional experience developing embedded Linux applications using modern C.
- Proven experience developing real-time, multi-threaded software systems with strict performance and latency requirements.
- Strong understanding of Service-Oriented Architecture (SOA), inter-process communication (IPC), and asynchronous RPC patterns.
- Expert knowledge of CAN bus communication and automotive networking protocols.
- Experience with CAN PDU encoding/decoding and complex network configurations.
- Advanced experience with Google Test (GTest) and Google Mock (GMock) frameworks.
- Strong Python development skills, including experience with pytest, pandas, and automation toolchains.
- Previous experience leading or mentoring software development teams.
- Demonstrated ability to take ownership of complex systems and drive technical improvements proactively.
Preferred Qualifications
- Background in automotive embedded systems.
- Experience supporting large-scale software platforms with multiple downstream consumers.
- Robust system architecture and software design experience.
- Familiarity with configuration generation pipelines and data-driven software development.
Required Technical Skills
- C
- Embedded Linux
- IPC (Inter-Process Communication)
- SOA (Service-Oriented Architecture)
- Software Testing & Automation
- CAN Bus Protocols
- Python
- GTest / GMock
- Multi-threaded Development
#INDOEM
📌 Software Engineer (2) - Commodity Engineer 2 (Ottawa)
🏢 Epitec
📍 Ottawa