Procom
Software Engineer Controls
Ottawa, ON, Canada · Hybrid
POSTED
8/5/2026
Job Description
Software Engineer Controls. HYBRID (MUST BE IN THE OTTAWA AREA)
THIS CONTRACT HAS A TBD START DATE AND GOES FOR 12 MONTHS LATER (GREAT CHANCE OF ONGOING EXTENSIONS)
LOCATION: HYBRID (4 DAYS PER WEEK IN THE OTTAWA AREA)
LANGUAGE: ENGLISH
REFERENCES: 2
RESUMES DUE: ASAP
Skills Required
- C++ — C++17 or above, memory management, polymorphism, thread management, and lambda expressions
- Hardware Abstraction Layer (HAL) implementations, especially in an automotive context
- Experience with modern Stable AIDL HALs (Android 11+ standards)
Skills Preferred
- Java — Customized Android services development (e.g., Bound Services, Foreground Services), AIDL, local binders, messengers, and Work Manager
Experience Required
- Bachelor's or foreign equivalent degree in Software Engineering, Computer Science, or a related field
- 5+ years developing Android services and applications, including:
- At least 3 years with C++
- At least 3 years with Java/Kotlin
- At least 1 year each with Android applications and inside AOSP
- Demonstrated experience with Android.bp (Soong) and Android.mk AOSP build systems
- Ownership of a small feature or component across more than one full release lifecycle (inception through delivery and support), within a complex application ecosystem (e.g., client/multiple servers, multi-screen displays, databases, thread synchronization, networking), including:
- Working with visual designs and functional requirements
- Defining software architecture
- Developing, testing, shipping, and supporting applications, including postmortem, crash, and stability analysis
- Articulating and evangelizing appropriate software design patterns
- Unit testing/mock frameworks (e.g., Mockito, MockK)
- Static/dynamic code analysis tools (SonarQube, Klocwork, Valgrind, or equivalent)
- Profiling and performance optimization
- Contributing to code inspections
- Experience with agile development tools and processes
Experience Preferred
- Industry-specific automotive development experience: CAN, ASPICE, FMEA, etc.
- Hardware Abstraction Layer implementations, especially for automotive
- Hands-on experience with Android-specific profiling tools to debug memory corruption and race conditions
- QNX or Automotive Grade Linux experience
Education Required
- Bachelor's Degree
Education Preferred
- Master's Degree
***IF YOU ARE INTERESTED IN THIS POSITION, PLEASE SEND AN UPDATED RESUME IN WORD FORMAT WITH THE DETAILED INFORMATON THAT IS LISTED UNDER THE EXPERIENCE AND LIST THE PROESSIONAL AND TECHNICAL SKILLS THAT YOU HAVE WORKED WITH***
STATEMENT OF WORK
Key Responsibilities
- Work on new and exciting features for next-generation digital cockpit and infotainment system experiences
- Actively participate in a cross-functional team of software developers, test engineers, designers, technical artists, technical product managers, and leads to champion best-in-class quality and functionality across the full product development lifecycle
- Deliver high-quality code for graphical user interfaces, middleware, and services
Ready to apply?
You'll complete the application through our portal.
Role summary
Software Engineer Controls
Ottawa, ON · Hybrid
TYPE
Contract · 12 Months
STARTS
8/24/2026
POSTED
11 hours ago
ATS ID
329226
Not quite the right fit?
Browse all of our open roles across tech, finance, and engineering.
See all jobs →Looking for something specific?
Create a profile and get jobs recommended to you based on your skills and preferences.
Create a profile →