Software Engineer, Developer Workflows
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 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.
As a Software Engineer in the Platform Engineering team, you will understand and implement key business logic and data movement within our product design, 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:
- Interface with design, verification and other teams within SiFive to learn their workflows and then define the next generation of flow automation.
- Develop supporting libraries in our functional build flow language (Wake).
- Maintain and incrementally improve the current codebase.
- Write automation for workflow tools, CI tools, release tools, and build systems in a functional language to enable development and delivery of SiFive’s RISC-V core IP product.
Requirements:
- Fluency in at least one functional programming language.
- Examples: Haskell, or OCaml, or Scala, or F#, or Erlang, or Elisp, and so on.
- Proficiency in a scripting language (Python prefered)
- Experience developing code in a Linux environment
- Ability to work and learn independently
Nice to have:
- Experience automating user workflows
- Experience defining build rules in a build system