Senior Embedded Software Engineer
As the pioneers who introduced RISC-V to the world, SiFive is transforming the future of compute by bringing the limitless potential of RISC-V to the highest performance and most data-intensive applications in the world. SiFive’s unrivaled compute platforms have enabled leading technology companies around the world to innovate, optimize, and deliver the most advanced solutions of tomorrow across every market segment of chip design, including artificial intelligence, machine learning, automotive, datacenter, mobile, and consumer. With SiFive, the future of RISC-V has no limits. For more information, please visit www.sifive.com.
Would you like to collaborate with other highly capable teams to create market-leading products? As a Senior Embedded Software Engineer in the Bare Metal Software team, you will participate in the development of SiFive’s bare metal embedded firmware, software stacks and associated Software Development Kits (SDK). This is a really exciting opportunity to help develop the very first piece of software that SiFive's customers will use when they take delivery of a SiFive chipset.
This position is a highly visible role, since the developed code targets sensitive functions found in SiFive’s RISC-V products. By its design philosophy, RISC-V is highly configurable, and we have several different configurations in our design pipeline, with various combinations of supported instruction sets, various peripherals and bus interconnect architectures. Developing high quality and robust firmware that can accommodate such variation is a challenging task. Could you be the person we're looking for to take on this challenge?
- Design, develop and document embedded firmware (bare metal code, drivers, stacks) that works across the whole SiFive product portfolio
- Develop and help set the direction for SiFive’s bare metal software
- Port and enhance real-time operating systems on 32- and 64-bit RISC-V platforms
- Develop production-quality software, including testing, documentation, static analysis, and CI/CD/CT
- Interacting with hardware, software and other teams to create market-leading products
- At least 10 years of recent experience with low-level embedded firmware development
- Strong understanding of processor and SoC architecture, with desire and ability to learn more
- Proficiency in C and Python
- Good knowledge of how to use embedded development tools such as JTAG and associated debug tools
- Solid experience with distributed revision control systems such as Git
- Strong communication skills to exchange ideas and work as a team
- Experience with RTOSes such as FreeRTOS or Zephyr
- Experience with C++
- Experience with Linux