Behind the Screens with Ryan Szrama
Commerce Guys CEO, Ryan Szrama opens up about what happens at the office, how they've opened up the Drupal island to exporting, his most meaningful trips, and of course, coffee and beer.
Episode Guests
Ryan Szrama
I lead Drupal Commerce at Commerce Guys, try to husband and father, and love Greenville, SC.
Mentioned in this Episode
Transcript
Transcript
- Chris:
- Today we're going behind the screens with Ryan Szrama.
- Ryan:
- Hello!
- Chris:
- Hey Ryan. So you've been all over the place. Give us a little breakdown about you, and how things are going over there with Commerce Guys.
- Ryan:
- Sure, yeah. So I'm Ryan Szrama, I've been in the Drupal community since about 2006. I had my start as a module developer with Ubercart, and then did that on Drupal 5, on Drupal 6, and then did Drupal Commerce around 2010, not long after we started Commerce Guys. So this was a company that was originally developed to support Ubercart, then became the creators of Drupal Commerce, where I led the development there.
- Had partners, groove, EC, blah blah blah, a lot of stuff happened in the middle where we did build Platform.sh, and then in 2016 split from Platform, so now all of the partners that I had stayed with Platform.sh and are continuing to grow that, and then I re-formed Commerce Guys just around Drupal Commerce, and re-focused the business, got us back on just maintaining, contributing to delivering Drupal Commerce for agencies and teams and yada, yada, yada.
- But you know, life these days looks like ... I'm leading Commerce Guys, we're a seven-person team now. I have two partners in the business, Bojan and Matt, who are the lead developers for Drupal Commerce 2.X on Drupal 8. I still maintain the Drupal 7 version. And then, Jonathan Sacksick on the team, who used to work at Commerce Guys, re-joined us last year, and we've added a couple other folks, three more folks to the team this year-
- Chris:
- Wow.
- Ryan:
- Doing project management, development, and consulting. So yeah, we're there.
- Chris:
- You said something earlier today, you were in part of a panel here instead of doing a traditional keynote. But you had mentioned something when you were up there about actually getting into the Android SDK a little bit?
- Ryan:
- Yeah, yeah. Commerce Guys, if you will, now has code in the Android SDK, so if you're developing an Android app, you might be using some code, I will say that loosely, from us. We weren't writing Java, we did contribute back to their address format and validation library.
- Chris:
- Oh, cool.
- Ryan:
- What happened was, whenever we began to develop Drupal Commerce for Drupal 8, we zoomed way the heck out, because there was this whole mantra at the time of "getting off the Drupal island." And usually that conversation was about importing. So we need to get off the island by importing code from other communities into our project.
- We looked at it and said, "Yes, there's an opportunity there to maybe import code." We looked at other general commerce libraries, what could we use, are there data sets available to us like the currency localization database, that's CLDR, and when it came around to address formatting localization, we looked around, like "Oh shoot, what is there that we can bring in?" And Android happened to have this big set of rules for generating address forms, validating zip codes, states, all that kind of stuff.
- And so, we decided we were going to do both importing and exporting. So we started using their data set to create an addressing library that's generally usable around the broader PHP world, so it's just a standalone PHP library that handles address management and the Android SDK's data set to power the rules and validation formatting and all that stuff. As that's gone on, we've contributed back fixes to their data set as we discovered problems, or had users contribute back problems.
- That's just part of our "getting off the Drupal Island story." We're exporting as well as importing.
- Chris:
- I hadn't thought about it that way, but that's really a cool thing to do, to be able to be a part of ... Android's a huge market right now-
- Ryan:
- Yeah, yeah, yeah.
- Chris:
- There's more that we could do ... I think you're right, in Drupal we think of, "Can we leverage Twig, Symfony, work all these things in?" How much could we actually get back in export-
- Ryan:
- Yeah, can they leverage our addressing library? Our VAT library is in a software-to-service commerce solution called FoxyCart. Symfony itself is looking at adopting our currency localization code as well, so yeah, there's things that we know as Drupal developers that we actually have done better than other communities, and we can begin to push these things out now that we have Composer and we're part of the, the sort of usual seat at the PHP table for developing PHP code.
- Chris:
- That's really interesting. How cool. So what exactly does Commerce Guys do as a company to earn money, to earn revenue? Are you working with companies to help them implement their own cart situations, or their own payment processing, or do you have your own products that are working for you?
- Ryan:
- Yeah, if you remember the old kid's song from vacation bible school, or whatever your background was as a child, there was that song, "Deep and Wide"?
- Chris:
- Yes.
- Ryan:
- "There's a fountain flowing deep and wide"? Okay, so we have a deep strategy and a wide strategy. Not inspired by the song, this is a bit of retconning. But you know, at the broad level, we make money by integrating technology partner services, and then helping people be successful with them, so whether that's PayPal or Braintree or Authorize.net, Avalara, which is a sales tax solution. MailChimp, Nosto for product recommendations.
- All these things that kind of connect to e-commerce as a concept. We try to bring these modules to the Drupal community, then help those companies reach our user base. Just by virtue of growing the Drupal Commerce project, we then get revenue from that, in the form of affiliate commissions and referrals, that kind of stuff. Or just outright module sponsorships, or marketing sponsorships, that kind of stuff. That's the wide strategy.
- We want as many people as possible to be able to use Drupal Commerce and our libraries, and we want to do that on behalf, not just of the merchants, but on behalf of these software vendors or third-party vendors to build some, build our income stream that way. The deep strategy is what you said first, it's consulting with teams primarily, whether that's another Drupal agency, a non-Drupal agency, or a merchant who has an internal team that needs e-commerce expertise, they would bring us onboard to do what's typically referred to as "staff augmentation."
- We might be a part of their project two days a week, three days a week, or whatever. Or if it's not like an ongoing gig like that it's usually like a real specific mission, like an architectural workshop, where we architect a specific thing, or a performance and consulting, performance and stability ... Sorry, scalability, sorry, performance and scalability workshop, where we hammer their crap out of their site with a locust swarm, if you're familiar with load-testing stuff, and then optimize, like what's breaking down in scale.
- Where we hope to be, if you will, is to have a relationship to Drupal Commerce like a traditional software vendor would have to their flagship product. Thus far, Commerce Guys has, more or less, been kind of a professional services, maybe agency, that people didn't really know what we did, or how to work with us, and so that turned off some merchants, it turned off some agencies, and you really can't be all things to all people, so we really want to dial it back and focus on enabling teams to be successful, and we look at it as providing platform tools and expertise to help other teams, like a Lullabot, or like a Four Kitchens or an Acro Media or a Bluespark, really do the innovative work with their clients because they don't have to think about the commerce infrastructure anymore.
- So that's kind of where we're trying to head.
- Chris:
- Yeah, because the commerce piece is, it seems simple from the user's perspective. I go online, I see this thing I like, I put in my credit card, my information, I buy it, they take money from me. Yeah. On the backend, it is worlds more complicated than that, because you're dealing with things between states, states and provinces-
- Ryan:
- Taxes, fulfillment, yeah-
- Chris:
- Between countries. Yeah.
- Ryan:
- The type of product may change the kind of taxes you have to assess if you're in Europe, for example. If it's like a physical product, you're taxed at the ... I'm probably going to get this backwards. At the place of origin? And a digital product, you're taxed at the place of supply?
- Chris:
- Oh my gosh, the rules are so insane-
- Ryan:
- I probably got it backwards, yeah. And they change all the time, you know.
- Chris:
- Yeah.
- Ryan:
- I think our biggest budget projects, or clients, have probably, from the outside, would look to you like the lowest budget project. But they have so much going on behind the scenes in their ERP integrations, subscription management integrations, marketing analytics. There's so much that you can do on the backend that you just wouldn't even think-
- Chris:
- Wow.
- Ryan:
- Wouldn't even know.
- Chris:
- So if there's somebody who wants to get into taking online payments, what's one piece of advice you would give to somebody who's facing that challenge?
- Ryan:
- Yeah, the Drupal world is a bit more builder-oriented than end user-oriented, if you will. Yeah, with WooCommerce, you just go on the backend of your WordPress site, say you want the WooCommerce plugin, and probably pay a few, handful of fees here and there to get their plugins, and you go. With Drupal, you have to first install all of the Drupal Commerce modules, configure them, make sure you know what your product display's going to look like, et cetera, et cetera. And then you still have to come to the payment piece.
- We are adopting a lightly more opinionated approach for Drupal Commerce, to make it a bit more out-of-the-box. It's never going to be as easy as a WordPress, but it will be easier. And part of that has been making, as a first class citizen, if you will, the kind of payment API that mitigates most of your compliance requirements as it pertains to credit card security, payment card security.
- So just as an example, Braintree is a PayPal company, and they funded some of the early work on the payment API for Drupal Commerce 2.X. And what they do is, they have ... I think they may have been the first to take this approach, where they manage the collection of all of the payment card data, right? You don't have to worry about securing your site. You need an SSL certificate, because you should have an SSL certificate-
- Chris:
- Right!
- Ryan:
- Even if you don't have e-commerce, you should have that. Then what happens is, we've integrated it such that it will automatically turn the checkout form into a little series of iFrames that are served from Braintree's servers, so even though you're looking at your domain, the actual credit card data entry is happening on a Braintree server, never touching yours at all.
- It's very important for PCI SAQ-A, this is like the lightest compliance level, if you will, because payment card data never touches your server, it never touches your database, all that happens is when somebody hits the "submit" form on the checkout, we then fetch via JavaScript a token that they give us that says, "This token represents this person's credit card, and you have an authorization to charge it for this amount of money for this amount of time."
- So, you don't really have to think about the security of it, you just have to know that these kinds of APIs exist, and that we have integrations for Braintree's Hosted Fields API, PayPal has Express Checkout, Authorize.net, we need to make their Accept.js API, basically like every major payment company has this kind of an API. And that's what you're looking for. Square is also similar, we've integrated them recently, they joined us at DrupalCon Baltimore, where we're presenting that as well.
- Amazon Pay, et cetera, et cetera. We have, probably like a half dozen different payment providers that we work with as what I call technology partners for Drupal Commerce. They're like first class, these are the ones that they've sponsored the development of their modules, they've certified it, they've said, "This is definitely secured, it's the way it needs to be implemented, you've done it right, yay Commerce Guys!"
- We now just distribute it for free on Drupal.org and help everybody learn how to use it. It's not ... I remember the first time I met a friend of mine who was doing e-commerce, and she was working on a car dealership or something that, I don't know if they were actually taking payment, or if they were just using credit cards to validate identity, I can't remember exactly how it worked. But when she told me that she was managing credit forms, it's like, you've got to be kidding me, that's got to be crazy, right? There's no way that you can possibly securely manage credit card data.
- I just thought it was the craziest thing that I had a friend who did that. Then fast forward a couple years, and I suddenly created Ubercart, and found that it wasn't that mysterious. But still, everybody has that same, "Oh crap, what do I do? There's no way that I can do this." And it's not that hard, payment companies are doing the lion's share of the work. Then you just have to know, "Hey, I need an SSL certificate." "Hey, I should probably be using version control." "Maybe I shouldn't put my API keys in my database." That kind of stuff.
- You had Chris Teitzel on the podcast recently, and he has this Lockr product, so you can do API key management through Lockr instead of stuffing it in your database, or if you're on a hosting platform like Platform.sh, or others ... I don't know, there are other Drupal platforms that I would recommend, I don't know their capabilities here, but you can use environment variables. So you put your API keys in the environment itself, and then you don't have to worry about those getting out of control or somebody submitting fraudulent transactions using your API keys.
- Yeah, so that's important to know.
- Chris:
- Subtle thing to those modules would be ... The e-commerce modules that you guys have written takes care of the lion's share of the work, just to get things set up. So that would be, if you're looking to get started with that, that would be the place to go is, check those out, it will, it integrates with those payment gateways to get to Braintree or Authorize.net linking.
- Ryan:
- Yeah, and I'm in the process of planning the rewrite, or the rebuild, for Drupalcommerce.org to really highlight who these certified vendors are, if you will. In the meantime, people can always just ping us on Twitter, but we talk about them in sessions, and we also have documentation for all of these. One member of our team who joined us in February, Milan, Belgrade, Serbia, a big part of his job is to work with these payment providers to make sure that we're marketing them properly, to make sure that we've documented them.
- He's done video tutorials and stuff to help people learn which ones are out there and how to use them on their Drupal site.
- Chris:
- That's awesome.
- Ryan:
- Hopefully we'll do more of that kind of stuff.
- Chris:
- Yeah. Let's take this and flip it a little bit now.
- Ryan:
- Okay.
- Chris:
- So you've been around the community for a while, and you've attended a lot of conferences, a lot of camps. I know you've done a lot of traveling. What's the most exciting trip that you've taken?
- Ryan:
- You mentioned the keynote panel here at DrupalCamp Atlanta, and we were asked this, "What was your first ah-ha moment?" And one of my very first "ah-ha" moments with respect to the Drupal community was going to DrupalCon Barcelona in 2007, and I don't think I can overstate how influential that was for me in realizing that there was a community of people who knew me, they knew my code, they wanted to contribute to it, they wanted more out of it.
- I could meet their requests, I also learned at that conference that people made a lot more money than I was being paid at the time, so I used that to negotiate a 66% raise whenever I returned home-
- Chris:
- Wow!
- Ryan:
- That was really incredible for me to just understand, this is the industry I'm in, these are the people that I collaborate with, and there's, there is a future for me in this. And oh, I love traveling and meeting people from around the world. I've honestly had a lot of great trips. I really enjoyed our time together in Bogota, Colombia-
- Chris:
- That was fun, that was a good time.
- Ryan:
- We did talk about this earlier, Chris's wife was trying to help me, futilely, I'm sure, learn how to salsa dance. But better her than the stranger that I asked to help me, who was a good sport about it for a song or two. That was a fun trip, because again, it's really out of your element, and you just get to experience a new culture, eat a lot of meat, and just have a good time. But I really treasured my time in Paris.
- I developed a habit for a few years, probably still kind of have the habit, of the last night of the trip, just kind of staying up all night and experiencing the local experience, that's what took us to this salsa bar in Bogota.
- Chris:
- Right.
- Ryan:
- That's what took me, in Paris, to random hotel bars in Montmartre to watch the sun rise, and all that kind of stuff. We did the same in Amsterdam, and on and on. I don't want to ... This isn't a "Ryan's Travel Blog" podcast, but suffice it to say, I've had just a lot of amazing experiences with cool people in cool places, and it's totally thanks to Drupal. I never imagined myself doing this before. Part of the prototype there for me was Ernest Hemingway, F. Scott Fitzgerald, James Joyce, et cetera in the 1920s in Paris.
- Hemingway has these memoirs called "A Movable Feast" that talk about this, like, let's go get the local experience, we'll go to this restaurant, that music venue, this bar, this underground speakeasy, this ... Realizing that you can still have that kind of experience if you're just willing to go meet new people and enjoy a new city.
- Chris:
- Yeah. That's so fun.
- Ryan:
- It's fun.
- Chris:
- This is the question, everyone gets this one. If you woke up tomorrow and the internet was gone, so no more credit card payments over the internet, what would you do with your time? What do you want to be when you grow up?
- Ryan:
- I would love to have a coffee shop slash craft beer bar, where I'm maybe roasting, maybe brewing, but at the very least, serving people a beverage either to wake them up in the morning, or to loosen their tongue in the evening, and just help people have a place to go and experience life and friendship and community and connections with their people.
- Chris:
- Yeah.
- Ryan:
- We're fully distributed, so I work a lot from my friend's coffee shops in Greenville, South Carolina, Methodical Coffee, it's amazing. I do a lot of work there, and they're so friendly and so meaningful to me. If that coffee shop ceased to exist, I'd be really sad. And I love good coffee, Colombia was an amazing experience for me in going to Café Devotion, Amor Perfecto, these are some of the top roasters in South America, and getting to experience their coffees was amazing. Took some home, wowed my friends, did the same for DrupalCamp Costa Rica, going to farms, bringing home some natural light-roasted beans from Cafeoteca in San Jose.
- I love good coffee, and I also love craft beer, and the culture behind it and the variety and the experience of it. Something like that. I really love my local community, and I love my job, I love my company, I love this community, but very little that I do, aside from spending the money I earn, impacts my local community, or creates the kind of spaces that I love to hang out in, whether that's my craft beer garden, or my friend's coffee shop, or the restaurants that I really appreciate.
- I'm in the middle of my first project to make an impact on our community, that is a housing development that I've ... I'm part of the founding team, I'm not the money guy or the guy with the experience in the industry, but it's a housing development oriented around organic farms and gardens and vineyards, and the like. So you get a lot, and then instead of an HOA, you basically just have a CSA, with a caretaker who's there to keep up the vineyards and the greenhouses and the like. You just get the advantage of living where you also garden and recreate yourself, with trails and rivers and all that kind of stuff.
- It's called Riverstead, it's online at Riverstead.com, it is a Squarespace site. That, I think, is my first foray into, let's build a physical space and then hopefully take from there friendships and resources to do Riverstead Brewing, perhaps. And I often joke with my buddies that own Methodical that my goal is to make enough money as a software developer that I can retire to be a barista. To kind of flip-flop the career schedule there, and just serve people good coffee and make them feel special.
- Chris:
- I like that. I'm on board for that. All right. Well, I like to wrap this up by giving some thanks and gratitude, and it's funny, because, the number of interviews I've done so far, you have been the answer to this question for a lot of people, which is awesome. So, if there is somebody who gave you a little shove when you needed it along the way in your career, lent, opened up a hand when you were struggling-
- Ryan:
- Yeah.
- Chris:
- Is there someone you'd like to say thank you to, or share some gratitude with?
- Ryan:
- Yeah, let me share gratitude with two people, and we talked about this before, and I couldn't-
- Chris:
- It's hard to narrow it down to just one, to be honest-
- Ryan:
- Yeah, to nail it down. Whenever I wrote Ubercart, I had no clue where this was headed. I was just working at a restaurant equipment supply company, so I was literally selling blenders on the phone, and then I'd go back to hacking on Drupal. Sell the refrigerator, go back to hacking on my code. And I didn't really understand where this was going to go.
- But in the Drupal community, Mike O'Connor approached me to start Commerce Guys, and so he approached me with the opportunity, and then his relation, Robert Douglas, who was at Lullabot for a long time, then it's Acquia, now he's at Platform.sh, so he joined me at Commerce Guys eventually. He was a big reason why I chose to start Commerce Guys, or join it with Mike and Tim Hill, my two co-founders. I'm definitely really grateful to him for just ...
- I would say that he really just believed that, not just that there was an opportunity, like anybody can say "Oh, there's an opportunity in e-commerce," that doesn't take a whole lot of insight to say, but believed in me, and my ability to be successful at that. So I really credit him with pushing me in that direction, even though I had other opportunities that ... I've been in the Drupal community, I had a pretty good profile and could have gone to work for any of the Drupal companies that were out there, but starting something new just seemed, he made it seem achievable.
- It's worked out well.
- Chris:
- Yeah, I'd say so.
- Ryan:
- And then also, just as a Drupal mentor, I'm really grateful to Dries. As the project founder, I feel like I've gotten more than my fair share of mentoring and help and encouragement from him, whether that's in Bogota, going for coffee and just talking about life and about business ownership, and child-rearing, and whatever else it is, I've really appreciated his friendship and his encouragement.
- Because I think, to most people, he seems maybe unapproachable? Like, "Oh, he's got to be so busy, I won't bother him." Or, "Maybe I'll just come up close enough to take a picture with him, but then I'll let him go on his way because I don't want to hassle him." But Dries is very supportive, and a very friendly, encouraging person, so he's helped me out a lot within Commerce Guys to think through the financial side of running the business, of being in the start-up, of just personal finances and saving for retirement, and all that kind of stuff.
- But he's also been very supportive of us doing Drupal Commerce, especially since the spin-outs. He gave us a lot of props at DrupalCon Vienna, it was really cool, and I think people also don't expect that, because they look at Acquia and think, "Oh, well Acquia's just a Magento partner, they don't really care about Drupal Commerce." But anytime I see that complaint, it misses the mark for me, because I know that Dries is very supportive, I know other people on his team are very supportive and we're actively engaging with him around promoting Drupal Commerce.
- I would just say that, he's not as unapproachable as he may seem, and he's been very kind and gracious to help me in a variety of ways. So I definitely consider him a mentor. I really could go on, like Jeff Robbins has been huge for me, and Matt Westgate, very encouraging. Andrew Byron, very friendly and encouraging and warming and welcoming. There's just a lot of folks that I feel like have really helped me go from literally having just a Bible college degree in Theology to understanding technology, the opportunity, how to build a business, how to grow as a person, as a husband, as a business leader, as a team leader, community.
- In all these ways, the Drupal community has been my guide and mentor.
- Chris:
- Yeah.
- Ryan:
- Thank you to everybody! And to everybody that I forgot to mention. [crosstalk 00:23:23]
- Chris:
- There are so many people, I just-
- Ryan:
- Fred Plais, my former partner, and our CEO at Commerce Guys, again, very encouraging. And I'd say, I don't know if that's unique to the Drupal world, but at least it's been so encouraging for me to be a part of the community that it feels like it must be unique.
- Chris:
- Right, I have that same feeling.
- Ryan:
- Otherwise, I'd hear people gush about their communities like I gush about mine.
- Chris:
- Right.
- Ryan:
- I don't know.
- Chris:
- Okay, well, thanks for taking some time. This was really great, Ryan.
- Ryan:
- You bet. My pleasure, Chris. Thank you.