Looking At Stripe Through A Bolt Tinted Lens
When I joined Stripe, my main point of reference as a manager was Bolt. It’s where I began my career as a manager and leader, and where I gained all of my experience.
They say 50% of new leaders fail within the first two years in a new organization. It’s a sobering realization of just how much success is context-dependent! One common pitfall is relying too heavily on past experiences and not giving the new place a chance to show its strengths. However, Stripe has a strong reputation, and I wanted to avoid having a “rose tinted” perspective of it.
I think I did a decent enough job of not annoying my new colleagues with “at Bolt we used to do it this way”. Ditto, I only gushed a regulation amount of times about the cool stuff at Stripe with my Bolt colleagues. Still, you clicked on this article to see a comparison, not level-headed statements.
But first, the companies share a lot in common:
- They both focus on hiring strong folks, building great teams, and giving them autonomy and control over their work.
- They both have a useful set of cultural values that permeate discussions, decision making, and direction setting.
- They both have a platform engineering approach. This is probably the broadest and most impactful technical choice. I can’t do it justice here, but I’ll write some more on it in the future!
Variety is the spice of life, and there’s no shortage of it in this comparison. I’ll focus on those that are most meaningful for me. Goes without saying that this is my opinion, not Stripe’s. Ditto, these different approaches are not good or bad in themselves. Choosing things appropriately in a given context is a super-power, while cargo-culting will lead to trouble, no matter how great the product or team is.
Stripe is a bigger place. Total HC is the same, but engineering is roughly order of magnitude bigger than Bolt. In both cases it seems there’s too much work for the folks we have, and we have to aggresively prioritize things. But you can wander much more through various types of projects here before you get to explore everything. There are folks working on programming language infra, or on low-level OS development, in security, and of course in the myriad products we have. There are downsides to size too, but that’s again the topic of another post.
Stripe is engineering-focused, while Bolt is engineering-supported. The product is technology-driven, the clients are typically tech-savvy companies, and a major portion of the workforce consists of engineers. On the other hand, Bolt operates in the physical world, dealing with tangible objects rather than digital information. While Bolt still requires a strong engineering team to operate on a large scale, engineering plays a smaller role in the overall workforce. To illustrate this difference, an apt metaphor would be that at Stripe, technology takes the lead in decision-making, while at Bolt, it plays a supportive role. As a side-point, at Bolt we tended to lean a lot on product folks to bridge the gap to the business, whereas at Stripe engineering is exposed to and driving this business part more often than not. It’s unclear to me if this is simply specific to Stripe or to SV-type companies or to all tech-driven companies.
Stripe is much more focused on high availability and operational rigor. There’s a great deal of importance given to keep-the-lights-on work, migrations, and operational readiness at Stripe as a result. Bolt was no slouch either, with a great track record of availability. But this was mostly an emergent behaviour of the work we were doing, not an intentional business decision. Put another way, a one hour outage would not be the end of the world at Bolt, and we’d take it as an unfortunate but unavoidable event. At Stripe it would result in significant course corrections to make sure it would never happen again.
Efficiency was not a focus for Stripe until very recently. Growth was the main focus historically. 2023 changed it to sustainable growth, like it did for the rest of the industry. Bolt on the other hand was efficiency-minded from the start and ran a very tight ship. We tended to move a bit slower, but rarely had to come back to systems to make them scale or make them more efficient. As Bane put it, Stripe merely adopted the dark, but Bolt was born into it.
Bonus - Stripe loves acryonyms and codenames. Seems like every team, project, or program has its own codename. Makes it easy to
speak about project turnip
instead of migration to new storage format that somehow has implications for accounting
. But it
does mean you need to learn a new vocabulary when you join. At Bolt codenames were forbidden. The name of the system was
what it was doing.
I want to keep things tight, so I’m gonna stop here. Till next time, stay frosty!