- B2B
- Early StageStartup in initial stages
Senior Embedded Firmware Engineer
- Richmond Hill
- |5 years of exp
- |Full Time
Posted: 4 months ago
Job Location
Richmond Hill
Remote Work Policy
In office
Visa Sponsorship
Not Available
RelocationAllowed
Skills
Python
C++
Git
C
Image Processing
Linux Kernel
Jira
OpenCV
Confluence
Video Processing
Shell Scripting
OpenWrt
GStreamer
Yocto
Buildroot
u-boot
C++17
Agile Development Methodology
V4L2
Object-Oriented Analysis and Design
Boot-Loader Development
Embedded Linux Distribution Tools
Camera ISP Coding
About the job
Reporting to: Firmware Team Lead
Department: Software Engineering
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 the company
Richmond Hill
51-200
Private Company
Embedded Hardware and Software
- B2B
- Early StageStartup in initial stages
