On Joining Stripe

July 3, 2013

I am thrilled to say that I have accepted a position as a Support Engineer at Stripe. Here are the why’s and how’s of my decision.

TL:DR Version: Stripe consists of brilliant, wonderful, accomplished people doing great things. And I’ll still complete the books I’m writing.

About Stripe

In case you’re not familiar with the company, “Stripe makes it easy to start accepting credit cards on the web today” (from Stripe’s web site). That’s really it, but it’s quite an accomplishment. As is always the case, it’s quite hard to do something simple right.

If you’ve done e-commerce before, you know how hard it can be to integrate the payment processing. For example, to accept credit cards, you have to find a payment gateway and setup a merchant account. And if the card data is going through your server, you’ve got to do your due diligence to maintain PCI compliance. PCI compliance can be hard, time consuming, and expensive.

You can drop (or simplify) the PCI compliance demand if you send your customers to another site for processing. But that’s not an ideal user experience, and introduces issues you’ll need to contend with (e.g., what if the customer doesn’t complete the payment?, what if they do but don’t return to your site?, etc.).

That’s if you want to accept credit cards. Don’t get me started on how difficult it is to integrate PayPal…

Stripe came up with a brilliantly simple solution to all this. When you choose Stripe, you can be up and running in an hour (literally). All you need is an SSL certificate and a bank account. That’s it. No merchant accounts. No PCI compliance audits. Stripe will automatically deposit your funds to your bank account, and without any extraneous fees. Stripe charges just 2.9% + $0.30 per successful charge. Stripe has no setup fees, no monthly fees, no validation fees, no refund fees, and no card storage fees. There’s also no charge for failed payments.

Customers can use their credit cards to pay you, and they don’t need Stripe accounts or to register somewhere or anything like that. A valid credit card and you get paid.

Stripe is currently available in the US and Canada, and is undergoing a private beta in the UK and Ireland. If you’re doing e-commerce, you really should check Stripe out. Stripe will make your life as a web developer so much easier. For more on using Stripe, you can see my blog series, which I wrote last year.

All that being said, the point of this post is not to sell you on Stripe, but rather to explain…

Why I Joined Stripe

I’ve been working for myself for 14 years now. Until recently, I’ve not considered going to work for someone else in any serious way. I make a good enough living as it is, and more importantly, I have supreme flexibility in terms of the hours and days I work. Those are the logistical benefits to working for myself. The intellectual benefit is that I can learn and do whatever I want. Truly, I’ve been quite spoiled and fortunate.

But I’ve also hit somewhat of a wall in my career. Well, three walls.

First, having done the “Effortless E-commerce with PHP and MySQL” book three years ago, the “Modern JavaScript: Develop and Design” in 2012, and self-publishing “The Yii Book“, I’ve recently written all of the books that I really wanted to write. This is absolutely not to say that I won’t come up with more ideas that I feel strongly about, but those are the books I really wanted to make happen. With writing books being a big component of my work, I’m not sure what I would do next in that regard (although new ideas always come along).

The second wall is this: while I have the freedom to learn and do whatever, there are definite limits as to what kinds of projects I can work on. The fact is there aren’t that many vastly-large scale projects out there, and I was unlikely to work on one by myself. At Stripe, I’ll be working on a significantly large project, with brilliant, accomplished, wonderful people from whom I can learn so much.

The third wall is a tricky economic one: over the years I’ve continued to increase my consulting rate, as one does. What I’m realizing more and more is that by increasing my rates, I’m pricing myself out of the most interesting work. I still have plenty of work, but what I do for clients has changed. Instead of being paid to actually develop a web site, at a higher rate, I’m paid for a few hours of consulting in which I tell the client how the web site should be developed. Then the client pays another developer half my rate to do the actual work. The end result is that I’m not doing as much actual coding, I’m not stretching my abilities as much, and I end up working for more clients for less time each.

This is a recent development, and I don’t know what the solution is. Cutting my rates back doesn’t seem like the best solution! My educational and non-profit clients continue to be my most interesting projects, but in those cases, I’m doing the actual work there (at a fraction of my rate) and able to challenge myself.

So maybe this is my mid-life crisis (or career crisis). But I really want to challenge myself, to learn more and more, to work on something great, and to work with fantastic people. Which is where Stripe comes in.

I have, I confess, dreamed about joining companies before: Apple, ESPN, etc. I never took any steps to pursue those possibilities, though. And the truth is that I’ve positioned myself in a way that makes me harder to employ. I’m well ensconced with my family in central Pennsylvania; no moving to San Francisco or the like (which, you know, rules out Yahoo!). And because of my obligations to my family, to readers of my books, and to my publisher, I can’t realistically work 40+ hours anywhere.

For Stripe, these logistics aren’t a problem. To Stripe, hours, days, and locations are immaterial if you’re someone they want to work with and you can do the job. Those seem to be the two most important criteria when it comes to hiring.

Moving over any logistical hurdles, obviously I’m a fan of what Stripe has accomplished. I think it’s really quite something, both valuable and impressive. When I spent a full day with the Stripe team in May, I came away even more impressed, for two primary reasons.

The first reason has to do with Woody Allen and his classic film Manhattan. For many of us movie buffs, Manhattan is a great, beautiful film (I agree, although some say it’s Allen’s best, whereas I prefer Annie Hall). For Allen, he was always somewhat disappointed in Manhattan because he knew what he wanted to do, and the end result wasn’t quite that. To us, it’s a great movie. To Allen, it’s not quite what it should have been.

When I would meet people at Stripe, I would comment on how impressed I was with what they had accomplished and how proud I imagine they must be. To a person, the result was along the lines of “This is good, but what we really want is what Stripe is going to be.” That’s very enticing, and made me want to be a part of that team even more so. Here Stripe has created something great, that I’m not sure I could have ever envisioned, let alone implemented, and that’s just the start of it to them. My intellectual curiosity is salivating.

The second reason I am thrilled to join Stripe are the people employed there. I am in awe of the brilliance and accomplishments of these people. And not just the founders, but everyone in every position. Take a look at their profiles and you’ll see what I mean. I am in awe.

And they’re all very nice. And welcoming. Yeesh…

I like to think of myself as a pretty good writer and rather knowledgeable about technology, but I am truly humbled to be joining this group of people. I imagine it will be a while before I stop writing things like “Stripe employees an amazing array of talented, accomplished, and wonderful people (as well as myself)”.

How This Will Affect You

For almost everyone, I think the answer is “It won’t affect you.” Because of my existing obligations–to my family, to readers of my books, and to my publisher–I have accepted the position in a part-time role (approximately 30 hours/week). But Stripe will be my primary work responsibility, and I want to honor my commitment to them. Towards that end, I am making some adjustments.

First, I will no longer be doing consulting for any clients save one (one of my very first clients, with whom I’ve worked for 12 years, a non-profit that only requires a couple of hours a month). I’ve already spoken with my existing clients to let them know, and to place them with new developers should they have that need.

Second, I’m not going to be writing as much. I still have “The Yii Book” to complete (for Yii 1 and Yii 2 and a print run). And I will be writing the second edition of my “Effortless E-commerce with PHP and MySQL” book after that. From there on out, I won’t be writing as many books, particularly not as many new titles. Emphasis will be placed on updating and supporting my existing books, with the occasional article or two here or there. It’s not that I won’t be writing new books, but any possible new title will really have to be worth cutting into time with my family to make it happen.

I’ll also still continue to support my books through my forums.

If you bought a book of mine and need help, I’m still there for you.

I’m probably also going to cut back on my blog’s activity some, and I’m not sure what I’ll be doing with my newsletter. It’s a lot of work to put out that newsletter, and I’m not sure how I feel about its value.

Third, I won’t be traveling as much (well, I’ll be traveling more to San Francisco where Stripe is headquartered, but not as much elsewhere). This means I won’t be doing any more on-site training, and I won’t be doing as many conferences. The latter has been a more recent (2012-2013) focus anyway. I’ll still be at Northeast PHP in August, of course.

Again, I don’t think this is going to affect most people outside of my family (it’s truly an existential change for me and for them). Although one could argue that my joining Stripe will have a great benefit to you readers out there: As I already mentioned, one of the reasons I’m joining Stripe is an opportunity to learn so much. I’ll be able to pass on much of that to you.