Post Job Free
Sign in

Senior Firmware Developer

Company:
Recruiting in Motion
Location:
Markham, ON, L3R 3J7, Canada
Pay:
$140,000.00
Posted:
July 23, 2025
Apply

Description:

About Our Client:

Our client is a technology company specializing in advanced manufacturing process control solutions aimed at enhancing quality, safety, and efficiency. Beyond their innovative devices, our client provides comprehensive industrial solutions, including design, engineering, construction, installation, commissioning, process monitoring, and analytics, to support sustainable innovation in manufacturing.

They're are looking for a Senior Embedded Developer to lead the development and customization of Android OS on custom hardware platforms. This role is ideal for an engineer with strong experience in embedded Linux, device driver development, and Android platform internals, including hands-on work with GKI (Generic Kernel Image) and AOSP.

You will be responsible for developing and integrating kernel modules, customizing Android OS components, and enabling hardware functionality on embedded platforms used in products.

Responsibilities:

Develop and customize Android platform components including system apps, services, and framework layers.

Build, configure, and maintain the Linux kernel and Android GKI for custom boards.

Design, port, and debug device drivers for various peripherals (I2C, SPI, GPIO, USB, display, camera, sensors, etc.).

Integrate Board Support Packages (BSP) and vendor-specific hardware abstraction layers (HALs).

Customize and extend the Android build system, init system, SEPolicy, and boot process.

Support secure boot, verified boot (AVB), OTA updates, and device provisioning.

Debug system-level issues using tools like ADB, logcat, dmesg, gdb, perf, and serial console.

Collaborate with hardware engineers, QA, and mobile app teams to ensure seamless system integration.

Participate in Android version upgrades, kernel patching, and maintenance tasks.

Improve efficiency, stability, and scalability of system resources

Integrate and validate new hardware, often building drivers from scratch. Work closely with hardware teams to review schematics and align firmware requirements

Participate in sprint planning, issue resolution, version releases, and build automation

Contribute to code reviews and help other developers refine their work

Mentor and lead junior developers across different product lines, fostering technical growth and collaboration

Work with minimal supervision, demonstrating strong initiative and technical ownership.

Requirements:

Bachelorâ s degree in Computer Science, Computer Engineering, or related field

5+ years of experience in embedded Linux development, with hands-on work on:

Linux kernel configuration and build systems.

Custom device driver development and debugging.

Board bring-up and low-level firmware.

Deep understanding of Android platform internals, AOSP, and GKI concepts.

Proficiency in C, C++, shell scripting, and working knowledge of Java.

Hands-on experience developing and troubleshooting on embedded targets

Solid understanding of IP protocols, interfaces, and hardware subsystems

Familiarity with Android security features (SEPolicy, AVB, dm-verity, etc.).

Comfortable interpreting schematics and component datasheets

Experience with source control, code review tools, and CI/CD pipelines (e.g., Jenkins)

Strong leadership, communication, and mentoring skills Bonus Skills:

Experience with SoC platforms such as NXP

Familiarity with HAL development using AIDL/HIDL.

Experience with bootloaders (U-Boot, fastboot) and secure boot chains.

Exposure to Buildroot for embedded Linux environments.

Contributions to AOSP, upstream kernel, or open-source projects.

Apply