Lachine, Quebec

Embedded Software Designer

Embedded Systems/Software Designer

Client: Large firm specialized in Building Automation – IoT – Internet of Things

Location: Lachine, QC

The embedded software designer works with his team and with 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
* 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
* Experiment with new technologies and quickly design proof of concepts

* Bachelor or master’s degree in computer science or computer engineering, or a combination of equivalent education and relevant experience
* A minimum of 5 years of applicable experience in embedded software development in C/C++
* A minimum of 3 years of embedded systems design/software (on ARM MCU’s)
* A minimum of 1 year of experience with embedded Linux or/and real time operating systems
* Hands on experience designing, implementing and troubleshooting secure wireless solutions, more specifically using Wi-Fi/Cellular/Mesh networking technologies
* Knowledge of IPv4 networking and awareness of IPv6 networking and IT related security issues is a plus
* Understand electrical schematics and very comfortable with test equipment (Scope, DMM…) and other test setup instruments.
* 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 SCRUM environment.
* Strong verbal and written communications skills
* Bilingual fluency in English and French

Desired Characteristics
* Strong 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, JIRA
* 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 and ZigBee.