About the role
Job Description
Position title: Senior Embedded Firmware Engineer
Reporting to: Firmware Team Lead
Department: Software Engineering
Employment status:
Position summary:
Reporting to the Firmware Team Lead, the Embedded Firmware Engineer will be responsible for developing unique software systems that are utilized in custom digital cameras and modules, integrating functions and features often not found in traditional cameras.
Essential duties and responsibilities:
-
Keep abreast of relevant technology while working in a fast-paced environment and keeping up to date on changing programming and technology trends;
-
Design firmware for embedded devices and systems;
-
Work with code and drivers to enhance and build new systems and products including digital cameras, embedded video systems, wireless modules such as Wi-Fi or Bluetooth, cellular modules, high-speed communication buses, general-purpose controllers with graphical LCD, etc.;
-
Work within a team environment with other software development engineers on tasks in real-time embedded communication and control environments;
-
Contribute to the design of next-generation imaging technologies, systems, and subcomponents;
-
Using software design techniques and procedures complete a sequence of related engineering tasks, such as investigating and debugging, designing, developing, and testing in accordance with company guidelines;
-
Apply complex technical and analytical skills to existing software to make enhancements and add new features;
-
Participate in the review of documents, designs, code, and test cases of software;
-
Collaborate with hardware engineers on a schematic review to ensure software resources are aligned with the hardware;
-
Perform functional testing of developed software to ensure correct operation and compatibility;
-
Guide and coach fellow software engineers on the skills and behaviours they need to learn or the challenges they must tackle;
-
Participate in the development and maintenance of relationships with prospective and existent customers and vendors.
Employment requirements:
Education level
-
A Bachelor's Degree in computer science or related field
Experience level
-
5+ years proven embedded firmware engineering experience
Abilities and skills
-
Solid Jira/Confluence and Git experience
-
Proven low level Linux Kernel and embedded Linux distribution tools skills (Yocto, Buildroot, OpenWRT)
-
Strong skills with Boot-loader development, U-Boot
-
Strong embedded programming skills (C/C++ (C++17), Python and Shell scripting)
-
Experience with image and video processing methods and with camera ISP coding (V4L2, GStreamer, OpenCV)
-
Experience with Agile development methodology
-
Strong written and verbal communication skills
-
Strong problem solving and debugging skills
-
Ability to think fundamentally
-
Ability to understand, follow and participate in a design of software architecture policies
-
Understanding and experience working with object-oriented analysis and design
-
Familiarity with AI/ML frameworks or hands-on experience with AI/ML within embedded environment will be an asset
-
Ability to read electronic schematics will be an asset
-
Ability to use basic electronic instruments (Scope, Multi-meter, etc.) will be an asset
-
Experience with the Ambarella platform will be an asset
-
Experience with the following best practices: TDD, pair programming, CI/CD practices will be an asset
-
Hands-on experience with CI pipeline organization for embedded project will be an asset
-
Hands-on experience with project organisation for hardware-in-the-loop test automation will be an asset
Other requirements
- Eligibility to work in Canada
About iENSO
Established in 2003, iENSO provides imaging and wireless solutions that are helping global brands take their products to the next level in the age of vision, embedded systems and AI platforms. Working with their clients, iENSO accelerates the deployment of innovative imaging and wireless products in a wide range of verticals such as IoT, home automation & robotics, automotive, drones, professional entertainment, industrial robotics, remote surveillance and security. With offices in Canada and China, Ienso has perfected the engineering ecosystems that exist between initial design to high volume manufacturing.
About the role
Job Description
Position title: Senior Embedded Firmware Engineer
Reporting to: Firmware Team Lead
Department: Software Engineering
Employment status:
Position summary:
Reporting to the Firmware Team Lead, the Embedded Firmware Engineer will be responsible for developing unique software systems that are utilized in custom digital cameras and modules, integrating functions and features often not found in traditional cameras.
Essential duties and responsibilities:
-
Keep abreast of relevant technology while working in a fast-paced environment and keeping up to date on changing programming and technology trends;
-
Design firmware for embedded devices and systems;
-
Work with code and drivers to enhance and build new systems and products including digital cameras, embedded video systems, wireless modules such as Wi-Fi or Bluetooth, cellular modules, high-speed communication buses, general-purpose controllers with graphical LCD, etc.;
-
Work within a team environment with other software development engineers on tasks in real-time embedded communication and control environments;
-
Contribute to the design of next-generation imaging technologies, systems, and subcomponents;
-
Using software design techniques and procedures complete a sequence of related engineering tasks, such as investigating and debugging, designing, developing, and testing in accordance with company guidelines;
-
Apply complex technical and analytical skills to existing software to make enhancements and add new features;
-
Participate in the review of documents, designs, code, and test cases of software;
-
Collaborate with hardware engineers on a schematic review to ensure software resources are aligned with the hardware;
-
Perform functional testing of developed software to ensure correct operation and compatibility;
-
Guide and coach fellow software engineers on the skills and behaviours they need to learn or the challenges they must tackle;
-
Participate in the development and maintenance of relationships with prospective and existent customers and vendors.
Employment requirements:
Education level
-
A Bachelor's Degree in computer science or related field
Experience level
-
5+ years proven embedded firmware engineering experience
Abilities and skills
-
Solid Jira/Confluence and Git experience
-
Proven low level Linux Kernel and embedded Linux distribution tools skills (Yocto, Buildroot, OpenWRT)
-
Strong skills with Boot-loader development, U-Boot
-
Strong embedded programming skills (C/C++ (C++17), Python and Shell scripting)
-
Experience with image and video processing methods and with camera ISP coding (V4L2, GStreamer, OpenCV)
-
Experience with Agile development methodology
-
Strong written and verbal communication skills
-
Strong problem solving and debugging skills
-
Ability to think fundamentally
-
Ability to understand, follow and participate in a design of software architecture policies
-
Understanding and experience working with object-oriented analysis and design
-
Familiarity with AI/ML frameworks or hands-on experience with AI/ML within embedded environment will be an asset
-
Ability to read electronic schematics will be an asset
-
Ability to use basic electronic instruments (Scope, Multi-meter, etc.) will be an asset
-
Experience with the Ambarella platform will be an asset
-
Experience with the following best practices: TDD, pair programming, CI/CD practices will be an asset
-
Hands-on experience with CI pipeline organization for embedded project will be an asset
-
Hands-on experience with project organisation for hardware-in-the-loop test automation will be an asset
Other requirements
- Eligibility to work in Canada
About iENSO
Established in 2003, iENSO provides imaging and wireless solutions that are helping global brands take their products to the next level in the age of vision, embedded systems and AI platforms. Working with their clients, iENSO accelerates the deployment of innovative imaging and wireless products in a wide range of verticals such as IoT, home automation & robotics, automotive, drones, professional entertainment, industrial robotics, remote surveillance and security. With offices in Canada and China, Ienso has perfected the engineering ecosystems that exist between initial design to high volume manufacturing.