Role Overview
As a Senior/Staff Embedded Linux Engineer at BrightAI, you will help support, maintain, and evolve an existing Yocto-based embedded Linux distribution used in production on custom hardware. This is a hands-on individual contributor role focused on improving platform reliability, maintainability, and scalability as the product and company grow. You will work closely with hardware, firmware, and application teams to support new hardware revisions, improve system behavior, and resolve complex system-level issues. This role also includes providing technical guidance and helping shape how the embedded Linux platform evolves over time.
Responsibilities
- Support and maintain an existing Yocto-based embedded Linux distribution used in production devices.
- Improve and extend BSPs, Yocto layers, recipes, and images as hardware and product requirements evolve.
- Support new hardware revisions and board bring-up, including bootloader configuration, kernel updates, and device tree changes.
- Debug and resolve complex issues across bootloader, kernel, userspace, and hardware boundaries.
- Develop and maintain low-level system software in C/C++, working closely with custom hardware.
- Collaborate with hardware, product, and application teams to integrate new features and improvements into the platform.
- Improve system reliability, performance, boot time, and debuggability.
- Contribute to best practices for embedded Linux development, testing, release management, and long-term support.
- Maintain clear technical documentation for platform behavior, changes, and troubleshooting.
- Remain hands-on during critical phases such as integration, validation, and field issue resolution.
- Provide technical leadership for embedded Linux platform improvements.
- Mentor engineers working on Yocto and system-level software.
- Influence platform evolution, tooling, and long-term maintenance strategies.
Skills and Expertise
- Bachelor’s or Master’s degree in Computer Science, Electrical Engineering, or a related field.
- 6+ years of hands-on experience developing embedded software, primarily on embedded Linux platforms.
- Strong, hands-on experience with the Yocto Project / OpenEmbedded, particularly maintaining and extending existing distributions.
- Experience working with BSPs, including bootloaders (e.g., U-Boot), Linux kernel configuration, and device trees.
- Proficiency in C/C++ for low-level and system software development.
- Working knowledge of Python, Bash, or similar scripting languages, for build systems and automation.
- Strong Linux debugging skills using tools such as GDB, strace, dmesg, perf, and ftrace.
- Solid understanding of embedded system constraints, including performance, memory, storage, and boot time.
- Experience with hardware interfaces such as I2C, SPI, UART, GPIO, and USB.
- Experience working with Git, CI/CD pipelines, and collaborative development workflows.
- Comfortable working in a startup environment with evolving requirements.
- Strong communication skills and a collaborative mindset.
Bonus Experience
- Experience with secure boot, system hardening, or embedded Linux security.
- Familiarity with OTA update systems and device lifecycle management.Experience supporting products through manufacturing and field deployment.
- Exposure to RTOS or hybrid RTOS/Linux systems.
- Experience with containerized workloads on embedded Linux (e.g., Docker, Balena).
- Familiarity with SoCs such as NVIDIA, Qualcomm, or MediaTek.
- Contributions to open-source embedded Linux or Yocto projects.
Why This Role
- You’ll work on a real, shipping embedded Linux platform, not a greenfield experiment.
- The focus is on making an existing system better — more reliable, maintainable, and scalable.
- You’ll collaborate closely with hardware and product teams without being expected to "own everything."
- You’ll have meaningful technical impact without constant fire drills or unrealistic expectations.