JOBSEARCHER

Junior Linux BSP Software Engineer

About the Role Canaan Inc. is a leading RISC-V chip design company powering Bitcoin mining machines and next-generation smart home devices. We're looking for Junior Linux BSP Software Engineers to join our BSP team, supporting both mining and smart home product lines — a great opportunity to grow your career in embedded systems with hands-on hardware exposure from day one.Location: US Hybrid · San Francisco Bay Area preferredResponsibilities Board Bring-up & Bootloader — Support BSP development and maintenance for Canaan RISC-V based chips (K210, K230, K230M, and upcoming SoCs); assist in U-Boot porting and debugging; learn and apply boot time and reliability optimization techniquesLinux Kernel Development — Contribute to Linux kernel customization for embedded SoCs; learn kernel subsystems (memory management, interrupt handling, power management); grow familiarity with upstream kernel developmentDevice Driver Development — Implement and debug drivers with guidance from senior engineers ◦Storage: NAND/NOR Flash with filesystem support (UBI, SquashFS, ext4) ◦Connectivity: Ethernet MAC/PHY, WiFi/BLE wireless module integration ◦Peripherals: UART, SPI, I2CMCU integration and dual-core heterogeneous system IPCRTOS / Bare-metal Development — Learn RTOS application development; assist with MCU firmware design and debuggingSystem Optimization & Debugging — Participate in performance analysis and issue troubleshooting (boot, memory, peripherals); support chip validation and reference design workOpen Source Contribution — Get involved in open-source projects on GitHub; start contributing patches to Linux kernel, U-Boot, or related projects with mentorship from the teamCollaboration — Document hardware interfaces, driver designs, and bring-up procedures; work closely with senior engineers, hardware teams, SDK team, and application teamsRequirements Essential Bachelor's degree or above in Computer Science, Electronics, Automation, or related field0–3 years of embedded development experience (internships or academic projects count)Basic familiarity with RISC-V or ARM architectureGood understanding of Linux kernel principles and driver development fundamentalsExperience with U-Boot basics (porting or debugging academic projects is a plus)Interest in or early steps toward open-source contribution on GitHubHands-on experience with at least 2 of the following: UART, SPI, I2C · NAND/NOR Flash · Ethernet (MAC/PHY) · WiFi/BLE modulesNice to Have Experience with RTOS (FreeRTOS / RT-Thread)Familiar with Canaan RISC-V MCU development (K210, K230)•Undergraduate project or internship involving embedded Linux or kernel/driver developmentKnowledge of Yocto / OpenEmbedded / Buildroot build systemPersonal GitHub projects or open-source contributions (even small ones)Technical Stack | Hardware | RISC-V / ARM Cortex-A / M || OS | Linux (Kernel 4.14+) || Bootloader | U-Boot || Languages | C / Python / Shell || Toolchain | GCC (riscv64-unknown-elf) || Debug | GDB / J-Link / OpenOCD || Version Ctrl | Git / GitHub || Open Source | Linux Kernel, U-Boot, upstream contributions |What We Offer Competitive salary and equity compensationMentorship from senior engineers and clear career growth path in RISC-V chip developmentHands-on hardware exposure from day one — real silicon, real productsOpen and collaborative technical team cultureFlexible working hours and remote work optionsConference attendance and training supportGitHub-backed development workflow with emphasis on open-source collaboration