Compiler Software Tech Lead
Description
At NextSilicon, we are reimagining high-performance computing. Our pioneering coprocessor vastly accelerates supercomputers, driving them forward into a new generation. Our new software-defined hardware architecture enables HPC to fulfill its promise of breakthroughs in all fields of advanced research.
NextSilicon is looking for software engineers to develop the company’s product. If you're a systems programmer who wants to build a complex runtime for a revolutionary heterogeneous processor architecture, your place is with us. We're writing compilers, drivers, firmware, and our unique optimizer and runtime. Our engineers are not siloed into narrow areas; our ideas are cross-fertilized among teams. Our technical backgrounds are diverse and we don't have preferred approaches or cookbooks, so come and invent! Oh, and if you don't like what the hardware does, the hardware teams are just a few steps away and really like hearing our ideas. We care about results and insist on doing things right.
Decades of CPU and compiler research have led to spectacular results. Just compare the output of an early FORTRAN compiler against a modern GCC/clang with -O3. Still, however incredible the improvement, they are anchored to the same ancient instruction-based foundation since the middle of the 20th century. But inventing a new architecture is not nearly enough. Who will develop for it?
Engineering in our group is all about taking the millions of lines of HPC code that have already been written and making them fly on NextSilicon’s groundbreaking dataflow processor. We try to take the best of classic compiler engineering, alongside new optimization techniques that push our architecture to its limits: our optimizer autonomously modifies application code at runtime to maximize throughput and minimize the required hardware resources. And we’re not afraid to venture into the runtime or spend time to deeply understand the hardware to get things right.
Requirements
- 10+ years experience working as a software engineer.
- 4+ years of experience working as a technical leader in large and complex projects.
- Proven demonstration of technical leadership and execution in software projects from concept through design and all the way to integration
- Experience designing large software components while assuring high quality bar
- Experience managing cross-organizational technical dependencies
- Natural collaborator: No single person can fit the entire system in their head at once. Everything we accomplish is a result of building together.
- Experience working in a leading global company
- Understands and values SW development practices and processes
- Experience in C, C++, or another system programming language
- Proactive, communicative and accountable
- Previous work on Compilers and/or Parallelization Frameworks is a big advantage
Responsibilities
NextSilicon is proud to be an Equal Opportunity Employer. We do not discriminate based upon race, religion, color, age, national origin, gender (including pregnancy, childbirth, or related medical conditions), sexual orientation, gender identity, gender expression, genetic information, status as a protected veteran, status as an individual with physical or mental disability, or other applicable legally protected characteristics. This policy applies to all employment practices within our organization, including hiring, recruiting, promotion, termination, layoff, recall, leave of absence, compensation, benefits, training, and apprenticeship. NextSilicon makes hiring decisions based solely on qualifications, merit, and business needs at the time.