Close X

Senior Embedded Software Engineer

Montreal - Full-time - Senior

We are seeking a Embedded Software Engineer to join the Hibe Team in our Montreal office. The successful candidate will understand low-level embedded software development for custom low-power SoC.

Responsibilities

Develop key Software Components of Reference Designs/Platforms and Solutions working collaborativel with teams comprising of hardware and software engineers

Define the architecture and contribute to the development of SoC software,

Participate in and resolve critical customer support cases in software applications

Ensure very high quality of SoC SW by implementing advanced verification and validation (e.g. co-simulation) and effective on target testing,

Cooperate with other SW developers, with HW designers, suppliers and other relevant functions to solve technical issues,

Develop and review critical customer facing documentation (User Guides, Application Notes, White Papers) to enhance user experience

Most experiences candidates may also coach other team members, and contribute to project management and follow-up.

Minimum qualifications

B.S. degree in Computer Science or Electrical Engineering and 10+ years of experience in Embedded Software Development

Experience in software design and programming in C/C++ for development, debugging, testing and performance analysis

Experience in understanding hardware, clock-level issues, bridges, delays, interrupts, clock gating, polling etc.

Preferred qualifications

5+ years of experience in embedded software design for low-power mobile SoC

Familiarity with embedded micro-controllers' architecture

Hands-on coding experience with peripherals such as UART, SPI, CSI-2, i2c, GPIO, USB

Experience in real-time processing for computer vision and user interaction tasks, high-compute/throughput systems and using simulation and modeling technique to estimate performance and power

Hands-on experience with FPGA and hardware evaluation boards, EDA design tools, and/or ISA simulators

Skills and technologies

Good knowledge of C/C++ language and Linux, an experience of working with Agile methodology, and continuous integration methods and related tools are needed.

An experience of working with SoC/ASIC, or of driver development would be a plus.

Your ability to work in an international context and to adapt to a complex technical environment will be key assets to succeed in this job.