Staff Software Engineer - Platform/Tools
SiFive
About SiFive
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 are continuing to enable 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, data center, mobile, and consumer. With SiFive, the future of RISC-V has no limits.
At SiFive, we are always excited to connect with talented individuals, who are just as passionate about driving innovation and changing the world as we are.
Our constant innovation and ongoing success is down to our amazing teams of incredibly talented people, who collaborate and support each other to come up with truly groundbreaking ideas and solutions. Solutions that will have a huge impact on people's lives; making the world a better place, one processor at a time.
Are you ready?
To learn more about SiFive’s phenomenal success and to see why we have won the GSA’s prestigious Most Respected Private Company Award (for the fourth time!), check out our website and Glassdoor pages.
Job Description:
Staff Software Engineer - Platform/Tools
As a Staff Software Engineer in the Platform Execution Flows team, you will architect and implement features and compiler internals for the language that drives our sandboxing, verification and delivery workflows. You will use your understanding of functional programming to architect and maintain the systems that allow SiFive to design and deliver our primary product to our customers.
Responsibilities
Architect and implement language features and compiler internals that drive a functional language to enable development and delivery of SiFive’s RISC-V core IP product.
Develop tools required by a language ecosystem such as a language server protocol for interacting with IDEs.
Architect and design quality code to facilitate meeting expanding requirements for business processes, efficiency and usability.
Interface with design, verification and other teams within SiFive to define the next generation of flow automation.
Qualifications
Proficiency in C++14
Previous experience in language development
Familiarity with functional programming languages such as ML, scala, haskell, lisp, or f#
Experience with Linux operating systems
Experience defining build rules in a build system
Ability to work and learn independently
Bonuses:
Familiarity with Rust
Type checking experience
Interest in HW/CompArch
Containerization experience
Deep OS/systems engineering experience
Additional Information:
This position requires a successful background and reference checks and satisfactory proof of your right to work in:
United States of AmericaAny offer of employment for this position is also contingent on the Company verifying that you are a authorized for access to export-controlled technology under applicable export control laws or, if you are not already authorized, our ability to successfully obtain any necessary export license(s) or other approvals.
SiFive is an equal opportunity employer. We celebrate diversity and are committed to creating an inclusive environment for all employees.