System Software Architect

We at SiFive are proud to take a software-first approach to develop tools and frameworks that achieve cutting edge performance without compromising quality for the SiFive Application processors and the Intelligence processor family. The SiFive Core processors deliver cutting edge performance for general purpose applications, while the Intelligence processor family accelerates AI on the edge and beyond. SiFive builds on RISC-V and its extensions that allows SiFive to design Core IPs that deliver performance, are optimized for power and area, but do not sacrifice flexibility or programmability. Our software stack is codesigned with the hardware and developed with scalability and quality in mind. Join us to develop revolutionary software from the ground up.

SiFive is seeking an experienced System Software Architect 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 Architect, you will work with system architecture and hardware engineering teams to help design and evaluate systems, including CPUs, interconnects, firewalls, and related IP blocks. You’ll work with our software group to design software implementations that take advantage of hardware features and integrate cleanly with existing operating systems, such as Linux and RTOSes. You’ll write and review architecture specifications and help plan out the work involved to implement the specifications. And since this is an engineering position, you’ll write software also.

You’ll be a part of creating something big, all based around the RISC-V instruction set architecture.

Responsibilities:

  • Designing, developing and upstreaming system software (both SiFive-proprietary and public open source).
  • Engaging with architecture, hardware engineering, and other software engineering teams to design, review, and refine features.
  • Helping guide the design of CPU cores, SoCs, PCBs, and IP subsystems.
  • Working with system verification teams to help plan how to test key features in complex system environments.
  • Helping plan and estimate complex system software projects.

Requirements:

  • At least 10 years of experience developing architecture-level code or device drivers in C for multiprocessor, multithreaded open source kernels such as Linux or BSD, with upstream involvement.
  • Proven experience with upstream development on high-level operating systems such as Linux.
  • Strong communication, co-working, and listening skills.
  • Strong project leadership skills, including work breakdowns and estimates, and experience working with global distributed hardware architecture and engineering teams.
  • Experience writing and reviewing architecture specifications, both for hardware and software.
  • Experience with the following: RTOSes such as FreeRTOS; C++ and Python; virtualization, IOMMUs, and SoC platform security; debugging complex multicore systems; debugging with JTAG and OpenOCD.
  • Understanding of the following: computer architecture at the CPU and system levels; VLSI design concepts and how they impact hardware and software architecture; PCB schematics.
  • Prior experience working with IP or semiconductor companies.
SiFive is proud to be an equal employment opportunity workplace. We offer a competitive compensation package that includes flexible paid time off; health, vision and dental benefits; employee stock option program, and much more.
We will ensure that individuals with disabilities are provided reasonable accommodation to participate in the job application or interview process, to perform essential job functions, and to receive other benefits and privileges of employment. Please contact us to request accommodation.
If you yearn to be challenged and wish to work in an environment where the boundaries of your creativity and skills will be tested, then SiFive is the place for you!
Notice to Staffing Agencies / External Recruiters:
Thank you for your interest in SiFive Inc. Please note that SiFive does not accept unsolicited resumes from external agencies unless contracted to fill a specific position. Agencies are hereby specifically directed NOT to contact SiFive employees directly in an attempt to present candidates – all applications must go through SiFive's internal recruiting team. Any third-party resume forwarded by agencies/external recruiters to a SiFive mailing address, fax machine or email address, directly to SiFive employees, or to SiFive's resume database will be considered property of SiFive Inc and treated as a direct application. This exchange does not constitute an agreement between SiFive and the agency/external recruiter. SiFive reserves the right to contact the candidate directly. Employment agencies/external recruiters will receive no compensation from SiFive or its companies.