
Senior Firmware Developer
- Toronto, ON
- $140,000 per year
- Permanent
- Full-time
- 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.
- 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
- 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.