Working at Fly.io
Fly.io Is A Remote-First Company
There are a couple Fly.io people in Chicago. Apart from that, Fly.io people work all over the world. We’ve been remote since the company started, and we’re careful to maintain a remote-first culture.
Like most companies, we do most of our daily work on a Slack. Slack isn’t great for asynchronous communications and is especially rough for people in different time zones, so we also run an internal message board. About half of our work (and more of our decision-making) gets done on the message board. We don’t do much email. We’re not big on meetings.
We’re Committed To Diversity And Mutual Respect
We believe in diverse and equitable teams. We’re working together on a hard problem, the work itself gets challenging, and our teams won’t work without mutual respect. Fly.io is used by people of all skill levels, all over the world, from many different backgrounds and with many different goals. We’re believers in the value of glue work and empathy, with each other and our users.
Fly.io Hires Around The World
We have team members in Europe, Rwanda, South Africa, Mexico, Argentina, Canada, and, of course, the USA. With few exceptions we’re open to hiring people wherever they are (some teams may require some working-hours overlap; feel free to ask, and we’ll be sure to tell you).
Fly.io’s comp package is the same everywhere in the world. We don’t adjust comp for cost-of-living. Our comp packages are competitive for the US market.
Visa Sponsorship
We’ll do our best, but it’s tricky. We’ve got access to some legal resources, but our luck, with H1Bs in particular, hasn’t been great. Whatever we say about visas, remember that it’s USCIS making the decisions, and USCIS has a different definition of “responsive” than we do.
So the short answer on visa sponsorships is: we’ll try, but you should take a job here on the assumption that you’ll be working remote indefinitely.
We Prefer Small Teams And Bottom-Up Decisions
We like single-pizza teams: 3-4 people is a happy number for us.
We’re a product for developers, by developers. We have a thriving community and everyone is expected to keep up with it and develop a sense for what’s worth doing and what needs fixing. We don’t have formal product roadmaps or schedules; we ship stuff when it’s ready.
Leveling
Levels at Fly.io are relatively informal. We’re pretty flat, as companies go. Small teams, like we just said. Our current leveling looks roughly like:
Level 1: Early-career or intern-level demonstrated aptitude. An L1 might need ongoing support from other team members to deliver work.
Level 2: See Level 1 and Level 3, and interpolate.
Level 3: An L3 can lead a team. We use “L3” and “Senior” interchangeably.
Staff: We’re still working out what this means here. We’ll generally call out staff roles individually.
We also hire engineering management (EMs). Like most modern tech companies, EM is a separate track from line engineering.
We’re Ruthless About Doing Customer-Visible Work
We want our teams to set their own direction as much as possible, but we’ll shoot things down if they’re not going to move the dials for our users. We’re vigilant about tar pits and projects that spin our wheels and will do our best to keep you out of them. We’re not big believers in “tech debt”. We have a 3-month “no refactoring” rule for new hires. This isn’t everyone’s preferred work style! We try to be up front about stuff.
Everyone Shares An On-Call Rotation
It’s a platform for shipping our customers apps. It’s on 24/7/365.
We made a decision early on not to stick ops teams with the whole on-call challenge. So we all share it. At our current team size, on-call is 2 days roughly every month and a half or so. Most on-call is quiet! Because we all share the rotation, noisy alarms would drive all of us batty.
If you get socked with a rough on-call, we’ll ask you to take the next day off.
Team Flexibility
We get asked this a lot. Moving from a “big” category, like from Elixir UI to Rust platform work, will take some conversation and planning. But within a category, especially for platform work, you’ll get opportunities to work on multiple things.
Open Source Work
We’d open source the whole platform if we could (it’d take a year just to beat some of these components into releasable shape). We’re thrilled at opportunities to open source stuff. If something you’re working on can be open, we’ll work with you to open it up. We don’t have a lot of secrets.