Designing at Stripe

My experience after a year

I joined Stripe full-time a year ago with mixed feelings. Sure, being part of such a fast-growing startup was exciting, but I had big fears about losing my ability to move fast, to build entire projects by myself, to experiment, play, and focus on the tiniest details that make me happy. Basically, I liked my freedom as a freelancer.

Looking back at my experience this past year, my workflow hasn’t changed much. In fact, Stripe made it even easier for me to try, iterate and polish than ever before. The design culture is so strong it motivates you to go the extra mile. It’s a great feeling.

This culture comes in good part from the importance Patrick (CEO) gives to design. It’s not like he “understands” design is important, he’s involved with the product at insane levels. Anecdotal but telling example: the first “slide” in Checkout’s demo animation shows a payment form being filled and submitted. The technique to fake the typing was simple: just add a new character approximately every 100 milliseconds. I was happy with the result, but Patrick didn’t like it. The typing felt “automatic”, not natural. He not only suggested making the delay before each new character random, he actually went ahead and wrote the actual code. I was mind-blown. This kind of behavior propagates to your employees like a virus.

The freedom and responsibility Stripe gives its employees contributes greatly to creating this design-friendly environment. When nobody above you comes with requirements full of user experience disasters, it’s easier to build something great. And when there’s basically nobody above you at all, you can decide what to build, design with the user in mind, and take the time to do it properly. As a result, Stripe feels like a side-project, something you do for fun where there’s no boring rules or constraining deadlines. For me, this is how good design can happen.

Stripe is a remote-friendly company, with people working from various places, including Canada, United Kingdom and Australia. The communication is great: email transparency, recorded video meetings, Double robots—Stripe makes it convenient for remotes to stay in the loop. Despite these remarkable efforts though, a 9-hour timezone difference is a hard problem to solve. I’m travelling to San Francisco quite often in order to mitigate that issue but I can’t deny it’s been hurting my productivity. It’s obviously not a Stripe-related issue, but it’s an issue I’m experiencing while working with Stripe.

As a freelancer, I liked the opportunities I had to work on various projects with different styles, problems and platforms. Now I’m focusing exclusively on Stripe, I realize how incomplete my work previously was. There’s a big difference between quickly designing someone else’s thing and building your own product—seeing it evolve, grow, and gain traction. I care much more now.

Last but not least, by joining Stripe I got to collaborate with a truly incredible team, something I was obviously not used to as a freelancer. The people I’ve worked most closely with recently—Michael, Ludwig and Philipp to name just a few—are smarter and better than me at everything they do. Being surrounded by people whose feedback you really value is the best way to grow as a designer.

I joined Stripe a year ago, and it’s been a fantastic experience so far.