montreal, Quebec

Senior embedded software engineer

Senior Embedded Software Engineer 

Sector : R&D 
Localisation : Montreal

Role and responsabilities 

As a software designer and part of the software development team.
You'll be responsible for all aspects of the software development.
Using the principles of software engineering, agile methodologies and cyber security, you'll design, develop, test and document software according to the product management specifications.
Working closely with the software designers, software architects, hardware designer, verification & validation specialists and technical writers, the duties will consist but not limited to the following:
• Understand and clarify product requirements;
• Collaborate with colleagues and stakeholders;
• Design, develop, test and maintain software;
• Design, develop and maintain automated unit tests;
• Review design, code and test;
• Document the design, implementation and test results
• Improve and maintain continuous integration tools infrastructure;
• Produce high quality and highly secure software (static analysis, dynamic analysis) according to specifications;
• Maintain continuous integration tools infrastructure;
• Analyze, plan and estimate efforts then commit and deliver accordingly;

Education and requirements

• Graduate diploma in computer science, software engineering or equivalent 
• A minimum of 5 years’ experience in a similar role;
• Solid experience in Embedded or Real-time Development on Linux platform (kernel and user space);
• Solid experience in Embedded Software Development in C and some C++
• Solid experience with GCC tools chain as well as IAR or Keil tools;
• Solid scripting skills in Python;
• Experience with product and solution cyber security (HW/SW);
• Experience in unit testing with unit test frameworks;
• Experience in continuous integration;
• Experience in Application Development mixing multiple languages;
• Experience in Multi-Threaded/Multi-Process applications and distributed solutions;
• Knowledge of IP networking and network topologies (ex: mesh, star, p2p);
• Solid analytical skills using standard methodologies (ex: Six Sigma;
• Experience with communication protocols and web services;
• Experience in debugging software and hardware as well as complex wired/wireless solutions;
• Comfortable using lab tools such as (Scope, Multimeter, Digital analyzers…) for testing and analysis;
• Good knowledge of Linux build

Apply for this job