Software Developer – Functional Safety On behalf of our client, Procom is looking for a Embedded Software Developer to be involved in the full lifecycle of the system development. Remote work at present. Onsite work in Ottawa may be required at a later date.
Job details
Developers will be contributing a system architecture and implementing software components that allows Ford to deliver a digital cockpit that meets our functional safety goals aligned with ISO 26262 standards. The software development will be with primarily in C / C++ and the QNX operating system.
Responsibilities
- Work on proof of concepts and implementation for next generation digital cockpit and infotainment systems with a focus on functional safety
- Implement graphical user-interfaces and middleware
- Integrate APIs / SDKs that provide functional safety support
- Participate in system design, documentation, and testing to deliver a best-in-class infotainment and digital cockpit systems
- Work in an agile team of software developers, test engineers, technical product managers and leads.
- Be an active participant in an agile product development environment, including stand up meetings, regular sprint planning, demos and retrospectives
- Address issues, write unit tests and contribute to system specifications and code reviews.
Required Qualifications
Bachelor's or foreign equivalent degree in software engineering, computer science, or a related field.5 years of experience using C / C++ to develop software, including ability to demonstrate advanced skills with :Embedded C, C++ on embedded RTOS (QNX, VxWorks, Embedded Linux)
POSIX compliant systems ( QNX)multi-threaded software applicationsinter-process communications- familiar with communication between processes and systems.debugging with GNU toolchainvalidating code with unit-testing and mock frameworksdetecting and fixing bugs with static and dynamic code analysis tools, including code coverage (Klocwork, Valgrind, lcov or equivalent)complex crash and stability and performance analysisExperience using software development best practices, including :applying Agile methods to software development processes
documenting designs using design patterns and UML (state diagrams, sequence diagrams, and class diagrams)working with a team using a distributed version control system to track source codeusing requirements and defects tracking softwareAssignment Length : 12 months