Job Description
The embedded software team creates and produces software operating on embedded hardware within the vehicle envelope. They design, develop, and maintain software for real-time embedded vehicle applications such as power distribution, sensor subsystems, and automotive software control systems.
Key Job Elements
- Develop embedded software for use on Light Armoured Vehicle (LAV) products using C and C++.
- Follow established organization software processes and plans for developing software e.g. peer reviews, software requirements specification, test procedures/results, software configuration management, etc.
- Work within both Agile and Waterfall software development frameworks.
- Work with design engineers and system engineers as needed to develop software.
- Evaluate impact of hardware on software performance, and recommend changes to hardware designers, if required.
- Write, test, and maintain code for automotive software applications.
- Create and maintain technical documentation, including design specifications, user manuals, and release notes.
- Document code and development processes for future reference and compliance.
- Participate in code reviews, peer reviews, and process improvements, offering suggestions and constructive feedback to others.
- Provide troubleshooting support and technical assistance for software related issues, analyzing and resolving customer reported problems.
- Support software activities in a variety of environments (e.g. Office, System Integration Lab (SIL), on-vehicle, and external test sites).
- Share new IRAD ideas with the Advanced Products & Technology team, and support project execution as requested.
- For more information about the expectations related to Engineering roles at each Global Career Framework (GCF) level, see: Responsibility Matrix of ED&T KJEs by GCF Levels (located on ED&T Portal).
Required Qualifications
- University Degree or College Diploma in Computer Science, Computer or Electrical Engineering or in a related field
- Minimum 3 years relevant experience
- Demonstrated expertise in C/C++
- Experience with Unified Modeling Language (UML) design and/or model driven development
- Experience with serial protocols for communication and logging
- Testing and debugging skills
- Knowledge of vehicle communication network protocols (SAE J1939, TCP/IP, UDP)
- Ability to participate in concept, UI, and feature development
- Aptitude in hardware selection
- Matlab / Simulink experience
- Architecture, design, implementation, and deployment
- Full SDLC experience
- Two or more of Microsoft Visual Studio, Code Warrior, Eclipse, etc
- Build Automation
- Git and Bitbucket
- Intermediate computer skills in MS Office, including Word, Excel and PowerPoint
- Ability to travel (5% Cdn) and (5% US & International) and possess/be able to acquire and maintain a valid passport
Preferred Qualifications
- P. Eng or the ability to obtain a P. Eng
- Control theory / Mechatronics
- MotoHawk
- Good experience in Linux
- Real-time systems
- Vehicle systems
- Safety Critical Systems – (i.e. ISO 26262/MISRA)
- Cyber Security – (i.e. SAE J3061)
- Agile, V-Model, Atlassian Suite
- Development experience with Qt, Xamarin Forms, Windows Forms
Incase you would like to apply to this job directly from the source, please click here