Software Engineer - Engine & Runtime (C++)
Back to Jobs
ShorebirdGet Smart Job AI Coach in the appFree on iOS and Android

Software Engineer - Engine & Runtime (C++)
160,000–230,000 / Year
Location
San Francisco • United States - Remote
Experience
Mid
Posted
Jul 29, 2026
Apply by
August 28, 2026
Applicants
0
Early applicantEasy applyFull-timeWork from Home
Job Description
### Overview
Shorebird delivers over-the-air code push for Flutter apps, with thousands of monthly customers and tens of millions of updates shipped around the world every month. What makes it all possible is a custom fork of the Flutter engine and the Dart SDK, including an ARM64 interpreter that keeps us App Store compliant. It's the hardest and most differentiated code in the company, and where we need you.
We build Flutter itself, and the services around it. We're a small team (~8), all remote. The person who started Flutter at Google works here, and you'd work with him directly.
### The role
We're building a lot at the Flutter “engine” layer and need someone who wants to build there with us. This is primarily a builder seat, with a little maintenance (we’ve mostly automated it away), but wide general reach and ownership. You’ll own our Flutter fork, including how it’s built, managed and maintained. The bulk of this work is using your systems-layer skills to take our Flutter fork further than Google’s. You'll design and ship new capabilities down in the Flutter engine and Dart runtime, in C++, with direct and immediate customer impact.
The near-term backlog is real and substantial, some examples:
- Asset support in patches
- Debug-build support in our Flutter fork, with the build-infra work that comes with it
- Hot restart: making our update mechanism play nice with in-process restart instead of a full process restart
- Crash reporting: zero-config, native symbolication tied to our fork
- In-production profiling
- Longer-term: deeper linking/dispatch work in the Dart VM, plus assorted engine changes to keep code push ahead of upstream
And there is lot to do beyond that, as we grow and are able to take our fork further than Google’s.
### What You’ll Do
- Build new features deep in a large, C++ codebase (our Flutter engine + Dart runtime forks)
- Own capabilities end to end: design doc, implementation, ship, support
- Work as "full stack" as you're comfortable; on a team this small, work divides by interest, not by rigid layer
- Work directly with the founder who built Flutter. This is a learn-as-much-as-you-want seat
- Take on some unglamorous work (rebases after Flutter releases, occasional gnarly native bug, a build-infra fix) because owning a larger fork covers a lot of ground. You won't be writing C++ every hour of every day
### What We’re Looking For
The single thing that matters most: you want to work at this layer. Low-level systems work is slower and harder than web or backend work. If being close to the metal and having your code touch 100s of millions of devices every day is where you're happiest, keep reading.
- Real facility and real desire for C++. You don't need to be a decades-deep veteran, but you need to be genuinely productive in C++ and genuinely want to be down here. The AIs write most of the code these days, but you need to have the taste to tell them when it’s right or not. We care far more about desire for our mission, company size and this layer than about years on a résumé.
- A generalist who goes deep, not a narrow specialist. You've picked up a large codebase you didn't write and made yourself productive in it.
- Mission alignment. You care about the world no longer writing everything twice. Flutter is the tool; Shorebird aims to take it beyond where Google can and align it with the wider market’s needs over Google’s.
- Self-directed. At a company this small, the calls are yours to make and yours to live with. You thrive in ambiguity and don't need a lot of process to feel comfortable.
- Drawn to a small company. Impact and ownership over structure and scale.
You do not need:
- Prior Flutter or Dart engine experience, we'll teach you
- Compiler expertise. You will work on a compiler at times, but this too can be taught
- A graphics background. We don't yet have any changes to Flutter’s graphics stack and don’t plan to in the near term
### Why Join
- Work directly with a small, senior team, including the creator of Flutter, on hard, high-impact problems
- Do the kind of work Google's Flutter engine and platform teams do (C++ used by billions daily), but with direct customer access, direct incentives to improve their outcomes, and the autonomy and ownership stake to actually do it
- Broader and more consequential than the equivalent specialized seat at big tech, where that impact is usually insulated away from you
- Direct line to thousands of customers via our Discord when you need to ask one something
- Competitive compensation and meaningful early equity
- We gather in person several times a year to work and socialize as a team
### What your days will look like.
First day. We're all remote, so you'll start by hopping on Discord, where most of us are on and off video throughout the day. Eric (CEO) and other engineers will be there to get you going. After setting up your Mac (we need to build for iOS), we'll walk through building the Flutter engine on your machine and read the fork diffs together: our Dart SDK vs. upstream, our Flutter engine vs. upstream. We'll skim the [Rust updater](https://github.com/shorebirdtech/updater/) so you see how the pieces fit. Take notes and update our docs as you go, because being new to the system is precious and fades fast.
First week. We'll go through the backlog together and pick a first change that gets your hands into the engine/runtime code. We'll also spend a couple of days improving our build infra so you're fast down here. We’ve made a lot of improvements to it recently, but it will be an area you’ll want to be familiar with and improve further. A good starter might be to improve our updater (rust) package a little together.
First month. Your first real feature. A natural starting point is asset support in patches, which will touch the updater, engine, and our backend. We have some past demos, and others will help you. From there, as you find your feet, there is lots to do at this layer. I expect we’ll tackle teaching our Flutter fork to build debug builds, which comes with real build-infra work but will unlock entire product categories for the company.
First quarter. Once you're on your feet, the bigger builds open up: hot restart (making our update mechanism play nice with in-process restart rather than a full process restart), then zero-config crash reporting and/or in-production profiling. That is the kind of work that needs changes at the engine and runtime layers and cuts across the whole stack. Medium-term there are further improvements to our custom Dart compiler, interpreter and “linker”, as well as new features like “native build caching” for Flutter/Dart to explore together. That work is yours to shape.
Beyond that it's hard to predict. We're a small startup. First and foremost we want someone who aligns with our mission, wants a company this size and is comfortable at this layer. What you bring that others on the team don't is the interest and ability to work down in our C++. Over time, as we build more into the fork and contribute more upstream, that surface is yours to decide and build.
Key Responsibilities
- Build new features deep in the C++ Flutter engine and Dart runtime codebase
- Own capabilities end-to-end including design, implementation, shipping, and support
- Improve build infrastructure and maintain the Flutter fork
- Develop asset support, debug-build support, and hot restart mechanisms
- Implement crash reporting and in-production profiling features
- Collaborate directly with the founder and small engineering team
Skills Required
C++Systems programmingFlutter engineDart runtimeSelf-directedMission alignmentAbility to work in ambiguityGeneralist mindsetFlutterDartRustCompiler expertiseGraphics stack knowledge
Benefits
- Competitive compensation
- Meaningful early equity
- Direct line to customers
- Annual in-person team gatherings
App exclusive · Free
Smart Job AI Coach
Your personal interview coach on every job — readiness tips, profile improvements, and role-specific prep. Available only in the Pulse Job app.
Interview readiness
See how prepared you are and what to improve for each role.
Personalized tips
Actionable suggestions based on your profile and the job.
After you apply
Keep coaching momentum from job detail through application success.
