SiFive is an idea-to-silicon company founded by the inventors of RISC-V to simplify the design and production of custom SoCs.
As the leading commercial provider of RISC-V processor IP, SiFive is on a mission to help engineers design custom chips for domain-specific solutions for many markets, including 5G, edge AI, enterprise networking, storage, and consumer devices.
Industry-leading innovators, including six of the top ten semiconductor companies, are working with SiFive thanks to our proven success, deep expertise, and rich partner ecosystem. With SiFive’s rich IP ecosystem and accessible design platform, every market has access to the development of workload-focused hardware needed to design next-generation products.
SiFive is seeking an experienced System Software CI/CD/CT Engineer for our System Software group. The SiFive System Software group develops critical software components for our Core and Intelligence processors, from firmware and bare-metal to high-level OS and AI runtime code. The team is global, spanning several worldwide sites, working together as one group. We believe that engineers create most of the value in the company. Our management chain has a strong engineering and software development background. We believe in open, honest, and direct communication; mutual respect; and seek strong communicators and listeners.
As a system software integration engineer on the System Software team, you will integrate, test, develop and release: Linux kernel, u-boot, OpenSBI, toolchain, libraries and yocto supporting emulation and/or FPGA environments. You will collaborate with cross-functional disciplines to define test strategy, define test-frameworks, implement test-plans, and debug/resolve the complex hardware and software issues.
- Build up or leverage an existing automation framework
- Integrate, design, develop, upstream and release system software: Yocto/OpenEmbedded (both SiFive-proprietary and public open source)
- Integrate and verify production-quality software, including CI/CD/CT automation, testing, documentation, and static analysis
- Interact with hardware and other software teams to find out or narrow down the problem of auto testing results and resolve
- Sending testing results periodically and automatically from the automation framework
- Adding test cases and rules to parse the result then generating the final reports
- Master's or Bachelor's degree in Computer Engineering, Computer Science, Electrical Engineering, or a similar discipline, or equivalent experience.
- Programming language experience on C/python/shell scripting
- Experience with Yocto, Linux kernel
- Experience with Jenkins or other CI/CD/CT tools
- Experience with git, Makefile, GNU toolchain and shell scripting
- Experience testing on Linux system software, kernel, processor and automation or a strong desire and ability to learn the same