Staff Software Engineer, Debug and Profiling Tools

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:

 

The Role:

At SiFive we are obsessed with providing a first class out of box experience for users debugging and profiling their software running on SiFive RISC-V processors.  We do this by developing both command line tools and an Eclipse based IDE that are optimized for productivity and usability with full flexibility of running the software on real hardware, FPGA, SystemC simulator or QEMU emulator.

 

We are looking for a solid experienced Developer Tools team member with a proven experience in developing low-level debugging, instruction tracing, SoC monitoring and performance profiling tools.  In this position you will own and enhance existing tools like OpenOCD, GDB, LLDB and SiFive TraceDecoder to add support for new hardware and software features, as well as develop new debug and profiling tools.

 

Job Responsibilities:

  • Improve, build and release OpenOCD, GDB, LLDB and SiFive TraceDecoder

  • Work and synchronize with upstream community on OpenOCD, GDB and LLDB

  • Engage with architecture, hardware engineering and other software engineering teams to review and refine new features

  • Apply best practices for software development life cycle, including code reviews, source control management, build processes, testing, and operations

  • Assist in developing new and innovative debug and performance tuning tools for SiFive processors

  • Work directly with SiFive customers, when needed, to provide awesome customer pre and post-sales support

 

Position Requirements:

  • Experience in developing low-level debuggers like OpenOCD

  • Experience in GDB and/or LLDB development

  • Experience with low-level instruction trace

  • Knowledge of SoC performance monitoring architecture and concepts

  • Proficiency in C/C++ and Python

  • Experience with git, shell scripting and Linux

  • Experience with CI tools like Jenkins

  • Experience with upstream development

  • You love building tools that make other developers more productive

Hybrid position in Santa Clara office, in-person one day per week

Pay & Benefits

Consistent with SiFive values and applicable law, we provide the following information to promote pay transparency and equity. We have a market-based pay structure which varies by location.  Please note that the base pay range is a guideline, and our compensation range reflects the cost of labor in the U.S. geographic market based on the location of the role. Pay within these ranges varies and depends on job-related knowledge, skills, and relevant work experience. 

For candidates who receive and offer, the starting salary will vary based on various factors including, but not limited to, such qualifications as, skill level, competencies, and work location.  The range provided may represent a candidate range and may not reflect the full range for an individual tenured employee.

Base Pay Range

$165,600.00-$202,400.00

In addition to base pay, this role may be eligible for variable/ incentive compensation and/ or equity.  In addition, this role is eligible for a comprehensive, competitive benefits package which may include healthcare and retirement plans, paid time off, and more! 

Additional Information:

This position requires a successful background and reference checks and satisfactory proof of your right to work in

United States of America

Any 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.

California residents: please see our job candidate notice for more information on how we handle your personal information and your privacy rights: Privacy Policy Document.