Previous Job
Previous
Software Engineer III
Ref No.: 18-08443
Location: Lachine, Quebec


THIS JOB IS TEMP TO PERM (After 3 months)

Role Summary/Purpose The lead embedded systems/software designer works independently and contributes to the immediate team and to other teams across business. Contributes to design discussions. Designs and develops with accordance to the system architecture subsystem components of the embedded software.

Essential Responsibilities
* Design, implement, test and document new features on existing systems
* Maintain existing embedded software running on various computing platforms
* Use clear thinking to translate product specifications and user stories into software design requirements
* Estimate scope, duration, effort and risk on project proposals
* Prepare and present design reviews documentation to support reliability, robustness, functionality of the design and compliance to specifications
* Prepare necessary supporting material for the intellectual property clearance process
* Mentor and share knowledge with others
* Work in one or more Agile SCRUM teams
* Participate in multiple development projects and meet established deadlines
* Leverage external focus to improve skills in the face of rapidly evolving technology
* Manage technical interactions with third-party suppliers and make sure deliverables are as per expectations
* help maintain the continuous integration servers and improve the process
* Experiment with new technologies and quickly design proof of concepts

Qualifications/Requirements
* Bachelor or Master's degree in computer science or computer engineering, or a combination of equivalent education and relevant experience
* A minimum of 10 years of applicable experience in embedded software development in C/C++
* A minimum of 5 years of embedded systems design/software (on ARM MCU's)
* A minimum of 3 years of experience with embedded Linux and real time operating systems
* A minimum of 1 years of security related programming and solid understanding of security related protocols such as AES, TLS, PKI, SHA256, DES, VPN, etc
* Hands on experience designing, implementing and troubleshooting secure wireless solutions, more specifically using Wi-Fi/Cellular/Mesh networking technologies, possibly including RF performance evaluation and optimization
* Very strong knowledge of IPv4 and IPv6 networking and awareness of IT related security issues
* Able to read and understand schematics and use test equipment (Scope, DMM,...) and instrument test setups.
* Basic knowledge of manufacturing process
* Strong analytical and problem solving skills
* Creative thinking in dealing with large amount of data (data mining)
* Comfortable in an Agile environments.
* Inclusive individual who can influence and gain consensus in cross-functional teams.
* Strong verbal and written communications skills
* Bilingual fluency in French and English

Desired Characteristics
* Solid experience in using/implementing SOLID principles and design patterns for architecture designs and implementations
* Secure coding practices, operating systems internals and hardening techniques including kernel mitigations, access control and security configurations
* System level (kernel/bootloader) software development and incorporating hardware-based security techniques e.g. TPM, Secure Boot, TrustZone, etc
* Solid experience working with GIT version control, Linux build systems and tracking tools such as Rally
* Comfortable with starting project from scratch, writing low level/bare metal software and maintaining/refactoring legacy implementation
* Good experience with scripting languages e.g. bash, python
* Experience with GPS, NFC, sensors (light, temperature,...), Cellular modems, WiFi, BLE.