Senior Embedded Systems Developer

Company name: Thorens Solutions – Headhunters
  • Activity area : Technologies

  • Salary : Based on experience

  • Job type : Permanent - Full time, Hybrid work mode

  • City : Montréal

Company description

Our client is a Quebec-based company offering unique and innovative technology. In full growth, our client specializes in the field of new generations of wireless devices.

Job description

As a Senior Embedded Systems Developer, you will be responsible for designing, developing and maintaining firmware covering various embedded system applications, which includes network protocols, core libraries as well as application development. You will play a key role in defining system architecture and mentoring junior developers. You will design, implement and test firmware to form optimal wireless communication networks using ultra-low power wireless transceivers. This includes developing low-power wireless sensor networks in point-to-point, star and mesh configurations, as well as efficient point-to-point links for audio streaming applications. The successful candidate will be responsible for developing effective firmware to support these applications, as well as a graphical user interface for each system that allows users to control the flow of information through the wireless system.

Tasks and Responsibilities

  • Design, implement, test and document embedded and application software;
  • Develop algorithms for communication system protocol layers and networks;
  • Provide architectural and detailed designs to meet system requirements;
  • Familiarity with network architectures;
  • Provide technical direction and strategy to engineering development efforts to solve complex problems;
  • Define and communicate the most appropriate technical approach to business development activities;
  • Maintain system software components including device drivers and applications;
  • Participate in the team's testing processes by developing protocols for unit testing, integration/regression testing, and system level testing;
  • Ability to train and mentor more junior engineers.


  • Bachelor's degree in electrical engineering, computer engineering or equivalent;
  • 10+ years of experience developing embedded applications in C and C++;
  • 7+ years of experience in low-level C programming on microcontrollers / microprocessors, with advanced knowledge of MCU / CPU architectures and ecosystems;
  • Whole system understanding and ability to understand and improve multi-disciplinary RF/PHY/L1/L2 processes;
  • Good understanding and debugging capabilities of a mixed HW/FW multiprocessor PHY/L1 implementation;
  • Demonstrated understanding of complex wireless systems with a strong ability to understand the dependencies between system components and protocol layers and their interactions;
  • Extensive hands-on software programming skills for modeling and simulation of sophisticated systems from RF/PHY layer signals to channel modeling. Up to MAC protocol/network simulations; corresponding skills with Matlab are required;
  • Experience and/or knowledge of industry standards such as Bluetooth, Ultra-Wideband, GPS and/or other wireless protocols;
  • Ability to work effectively with Linux and Windows;
  • Experience with Visual Studio Code and Eclipse IDE;
  • Experience developing Board Support Packages, boot loaders and component drivers;
  • Experience with virtualization and container technologies (VMware, KVM, Docker);
  • Experience with Git version control systems;
  • Experience with software development platforms such as Gitlab and Github;
  • Understanding of communication protocols including I2C, SPI, UART and USB;
  • Experience developing and debugging embedded targets using in-circuit debuggers and electronic test equipment (oscilloscope, multimeter, logic analyzer, etc.);
  • Experience with modern software development processes (peer review, unit testing, etc.);
  • Excellent oral and written communication and presentation skills (French and English);
  • Ability to work effectively with a team of developers;
  • Ability to multi-task, prioritize projects, set task-oriented goals and objectives, and show initiative;
  • Write clean, understandable, robust and sustainable code suitable for embedded systems.

Work conditions

  • Full-time, permanent position;
  • Group insurance and % paid by the employer: 50/50;
  • Hybrid work mode-2 days office / 3 days home.
Note : The masculine is used to lighten the text without prejudice to the feminine form.

This offer has already been filled.