Performance Oriented, Sr. C++ Engineer - Rendering team
TLDR
Develop and maintain a high-performance C++ animation runtime while collaborating with designers to innovate new features and enhance rendering optimizations.
About Rive
Rive is where designers, animators, and developers build interactive experiences. Design, animate, and code in one place. What you build in the editor is what ships in your app, game, or website. No mockups, no prototypes, no handoff. The real thing.
Companies like Spotify, Duolingo, LinkedIn, Google, and Fortune 500 automakers use our open-source runtimes to build once and ship everywhere — websites, apps, games, and vehicles. With Rive, designers and developers work with the same tools. No silos. What you see in the editor is what ships in production.
Our Rendering team is looking for a very experienced C++ Engineer, with an obsession for making code FAST, to work on our core animation runtime. You will be part of a small, low-level, performance oriented team that specializes in GPU programming, GLSL and C++. Developing and maintaining the core Rive C++ runtime with a focus on performant rendering on all platforms. The core runtime is what drives our novel state machine and generates the Bezier curves that we render.
Some of what you’ll do:
- Own, architect, and implement Rive’s C++ core animation runtime.
- Work closely with world class designers to innovate and implement brand new features.
- Focus on improving performance from C++ optimizations, to SIMD, to threading, to clever math formulas, you’ll be continually thinking about how to maximize performance.
- Contribute to and create new automated CI workflows on GitHub to ensure the quality of our runtime across all architectures and platforms.
Requirements
What you will bring:
- 5+ years of professional experience programming in C++.
- Proven ability to come up to speed and contribute quickly to a complex code base.
- Self-directed with prior experience owning and delivering features.
- Passion for math, with strong skills in areas relating to Bezier curves, including linear algebra and calculus.
- Experience writing numerically stable routines for 32-bit floating point processors.
- Experience working with vector instructions sets (AVX, SSE, NEON, Web Assembly SIMD)
- Proficiency in dev tooling and automation (GitHub CI, etc.)
Bonus points for:
- Experience in WASM
- Prior experience working in a startup or small, nimble environment
Location: North America remote, with the ability to work overlapping hours centered around U.S. Pacific time and come to the San Francisco office on occasion to collaborate in person.
Benefits
Compensation and benefits: We offer a remote work environment, comprehensive health, dental, and vision coverage as well as stock options. Rive is committed to fair and equitable compensation practices. Compensation may depend on various factors including, but not limited to relevant work experience, skills, and geographic location. The salary range for this role is $180,000 to $215,000.
At Rive we are a global group of passionate designers and developers who believe in transparency, failing fast, quick iteration, and experimentation. We aim to build a diverse and inclusive culture where everyone feels supported.
We have an incredible opportunity to be game changers in the world of creating interactive content. Help us accelerate the design industry's transition to Rive!
A human will read your resume, cover letter, and answers to the application questions so please take a minute and tell us more about you! Please start your answers to the application questions with the phrase 'I am a human applicant' so we know you read this.
Rive is an interactive design and animation engine that empowers designers, animators, and developers to create immersive experiences seamlessly. With its unified platform, teams can design, animate, and code all in one place, resulting in faster production times and reduced file sizes. Rive's technology is already utilized by leading companies like Spotify, Duolingo, and Disney, allowing them to build and ship engaging applications across various platforms.