iOS Engineer

Stripe

San Francisco, CA, United States

Jul 03, 2017

Full time
Developer
Information Technology

Job Description

At Stripe, we’re passionate about helping people build new businesses and some of the most exciting ideas we’ve seen depend on mobile devices. A new class of apps is emerging built on our marketplace features that simply couldn’t exist a few years ago—companies like Lyft, Cover and Instacart use Stripe to power an incredible diversity of experiences on iOS. As an Apple Pay launch partner, we’ve helped hundreds of apps move from lengthy forms to one touch payments. We’re looking for engineers with a deep understanding of Cocoa to to help define Stripe’s future role in mobile apps.

iOS at Stripe

We want to offer our users an iOS SDK with elegant solutions to their hardest problems (such as synchronizing a customer’s payment information across multiple platforms) and first party apps that make it possible for them to manage their entire business from an iOS device. Here’s a non-exhaustive list of the challenges we deal with today:

We worked very hard to make Apple Pay integrate seamlessly with the Stripe API and have explored Apple Pay’s edge cases and lesser-known features. Much like how Stripe itself started with a simple credit card processing API and built features like Subscriptions and Connect on top, we’re now looking to build the next wave of tools and features on top of Apple Pay that make it even more powerful and convenient.

We place a lot of emphasis on meaningful animation design in our products. We want to push the state of the art forward in motion design and interactivity in our own apps.

We spend a lot of time thinking about how to maintain backward compatibility in our API while we rapidly grow it. We want to apply the same philosophy to our mobile SDKs and build APIs at a level of abstraction that lets us quickly add new features without burdening our existing customers.

We like to find creative ways to make the experience of integrating Stripe delightful for developers. Since it’s difficult to test Apple Pay-related code (as it can only run on a device, and there’s no way to simulate a user’s successful authentication via Touch ID), we released an entirely stubbed out, fully api-compatible version of Apple Pay that can be used for writing UI tests.

Engineering at Stripe

A core part of our engineering culture is inclusiveness: we want to accommodate people from all backgrounds and walks of life.

We believe in end-to-end ownership of projects. For any given project, we have one person on point. While they don’t necessarily have to do all the work themselves, it’s their job to make sure all the work gets done.

We launch betas and prototypes as early as we can. (The first version of Stripe, for example, had a beta user since the time we could literally only charge a credit card—we couldn’t even pay out those charges!) This helps ensure that we’re building what users actually want.