OverviewWe 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 roleWe'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 ForThe 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 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.
CompensationThe base pay range for this role is $160,000 - $230,000 per year.