The Changelog: Software Development, Open Source - Balanced Payments and Open Sourcing Everything (Interview)

Episode Date: October 9, 2013

Andrew and Adam talk with Marshall Jones from Balanced Payments about all they do in open source, and how they approach being an open company that desires to release as much software as they can as op...en source.

Transcript
Discussion (0)
Starting point is 00:00:00 Welcome back, everyone. This is The Change Log, where a member-supported blog, podcast, and weekly email that covers what's fresh and what's new in open source. You can check out the blog at thechangelog.com, our past shows at 5by5.tv slash changelog, and subscribe to The Change Log weekly. It's our weekly email where we cover everything that hits our open source radar you do not want to miss this email it ships out every saturday sign up at the changelog.com slash weekly the show starts by myself adam stukovac as well as andrew thorpe so andrew say hello yo what's going on what is going on man
Starting point is 00:00:41 this is episode number 107 we're joined by a pretty awesome dude from fun places in the world, Marshall Jones. He's from Balanced Payments. We're going to talk about some awesome open source stuff they are doing, man. I'm excited to have you on the show, Marshall. Welcome to the show. Thanks, man. It's good to be here. Before we kick off the show, I want to mention our sponsor real quick, DigitalOcean. If you're not familiar with DigitalOcean, you're just wrong. Simple. That's the way I can say it. But they're a simple cloud hosting service built for developers, and they're dedicated to offering the most intuitive and easy way to spin up cloud servers. You can literally deploy a cloud server in 55 seconds. It runs on SSD as well, so that's super fast. Pricing plan started only five bucks
Starting point is 00:01:25 per month you get a half a gig of ram with that 20 gigs of ssd drive space one cpu and one terabyte of transfer and some cool stuff they're doing is in addition to just uh you know offering this awesome hosting service they do they're uh they're really dedicated to building out a strong community they they offer a vast collection of hosting tutorials, and they're inviting everyone that listens to this show, basically developers, to submit articles, and they pay $50 per published piece. These articles are everything from how to get Ubuntu 12.04 up on DigitalOcean to you name it. Setting up a cloud server, it runs the full gamut. But you can connect with them as well as other developers in the DigitalOcean IRC channel. That's DigitalOcean on Freenode. Go to DigitalOcean.com to sign up.
Starting point is 00:02:13 We offer a $10 promo. Man, I forgot to copy that out. I think that's the changelog October, I believe it is. The changelog October is the promo code you want to enter in whenever you enter your uh your credit card information you'll get uh 10 bucks off your hosting so digital ocean rocks check them out and on to the show andrew that was an elongated one i wanted to riff on a bit for a bit because over the weekend i played with digital ocean quite a bit i was messing with docker and man i was i was just doing all sorts of fun stuff. Did you happen to order me a t-shirt from DigitalOcean?
Starting point is 00:02:48 Maybe. Did you get a t-shirt? Yeah, I got one in the mail today, and I was like, I don't know if this is from DigitalOcean or if Adam did it, but I figured it was. I was talking to Attell, and we were exchanging t-shirts, so she shipped us some, and then we shipped them some. So they got a change of all t-shirts up there at DigitalOcean. Awesome we shipped them some so they got changed a lot of t-shirts up there at digital ocean so awesome yeah they're cool they're definitely cool good uh definitely cool cool people good good service yeah but let's go ahead and jump into the show uh marshall balanced payments why don't you give us a little bit of a introduction who you are uh
Starting point is 00:03:22 and then after that tell us us who Balanced is. Yeah, cool. So I'm Marshall Jones. As you said earlier, I'm from New Zealand. I've been in the US now for about a year and a half, so I'm a recent immigrant now. So it's been a lot of fun. I came by way of Singapore, where I was living for about four years and there I started a company myself and ran that for a while. But as companies tend to pivot when they're getting started, eventually I pivoted into doing social media marketing. And that turned out to be a terrible idea. Rather than slip my wrists, I jumped out and joined Balanced, which at the time was PoundPay. So PoundPay was a YC graduate for the summer of 2011, and they focused on marketplace payments, which is the same thing that Balanced focuses on today. And so the whole concept with marketplace payments is that you have two sides to a
Starting point is 00:04:27 transaction a buyer and a seller and then you have someone in the middle that's facilitating the payment and that's the marketplace so you know common examples would be airbnb or ebay and so we provide tooling for people to do that. So that's, you know, you take money from the buyer, that goes into an escrow account where it sits until the seller fulfills the transaction, and then you can pay out to them as required and take a cut as the marketplace for facilitating the transaction. So PoundPay rebranded and relaunched as Balanced, I think, in September of last year. And we took that opportunity to make the product a bit more dynamic.
Starting point is 00:05:11 So Poundpay's limitation was that you had a single buyer and a single seller. And that was all set up and fixed when you created a payment object. And so Balanced does away with that restriction. And now you can have n number of buyers and x number of sellers so it's a lot more suited to platforms like crowdfunding where you may have you know hundreds of buyers and a single seller or shopping cart models where you've got a single buyer and many sellers coming together so yeah that's us in a nutshell yeah so you guys are uh you come highly recommended we a few i
Starting point is 00:05:47 don't remember how long ago it's been months now but we had chad whittaker on from gidip and um he kind of is the one that puts you guys on our radar and he just kept talking about uh balanced that has open source their whole dashboard that's crazy to me to think about you know he's big into open companies and to think about a company that's dealing with finances to open source, like they're a big core part of their, you know, application, which for so long finances have been kept so tight and so closed. So I guess my question is, what kind of went into that? Is this something that kind of starts at the top of balance and everyone has the mindset of like open source, all the things or what kind of thought process went into open source
Starting point is 00:06:29 and open sourcing the dashboard yeah right so yeah balanced uh builds itself as an open company so we try to be as open and transparent in everything that we do um and so yeah it is very pervasive across everything that we do. So internally, everybody knows about the finances of the company. And then externally, we put our product roadmap on GitHub. We know as many of our clients and as many pieces of our infrastructure as open as possible. Essentially, for us, we're all really great engineers, but we don't think that code's like a defensible advantage, right?
Starting point is 00:07:17 It's all about the relationships and the networks that we build. So we want to be able to empower our customers to have as much flexibility and to help them move as fast as possible. So when we open source the dashboard, what we're doing is not only creating a nice dashboard, but we're giving our customers the ability to take it. They can clone the dashboard.
Starting point is 00:07:42 They can brand it themselves if they wanted to or if they want to customize it, they can go through and change anything they want and host it themselves. It's just a static HTML file and some JavaScript and CSS. And that same attitude goes through all our products. So, for example, with Billy, our recurring billing platform, again, that's open, and the idea is that you'd be able to take that, host it yourself.
Starting point is 00:08:10 If you want to make some changes to it, you can do that. And all of this is essentially building to the point where we want to have a plug-in architecture for everything to do with balance. So if you want to take anything that we've got, change it up or add something into it, the idea being that eventually you'll be able to, you know, create a plug-in for the dashboard and then other people can use that as well.
Starting point is 00:08:37 You bring up a good point that when you say the code itself is not necessarily, like, defensible and it's all about the relationships you build with clients, with customers, with, you know, developers, the goodwill that the community feels you have. Your competitors typically, well, it's interesting, but, you know, you would say balanced competitors are those like Stripe and Braintree, right? We use Stripe and we love it and Stripe, Braintree. You guys also have Billyy which is like your implementation of a recurring billing system so that kind of you're you're including now chargeify and those people you know those types of uh businesses as kind of competitors what you're doing differently
Starting point is 00:09:18 um is everything that i mean there's so much of this stuff is open source that you guys are doing. And as a developer, what I care the most about is that I'm able to solve the problem for the most cost-efficient way that I can solve the problem that's at hand. And the rates generally, we've talked about this kind of before the show, the rate generally is the same for all of your payment processors. It's typically that 2.9% plus 30 cents per transaction. So what you guys have enabled is as a developer, if the balanced dashboard does not do exactly what I want it to do, I have the ability to clone it and make it happen myself. So in the sense that the code's not defensible, it's almost like it is, but I can
Starting point is 00:10:01 make it my own and I can use it how I want to use it rather than just you guys, assuming you guys have the best code, so that's why I'm going to go with you. Yeah, right. I mean, I consider that the network, right? Like we're providing you all these great tools, and they all work with our platform. You're free to take them and use them somewhere else if you want, but by default they work with us really well.
Starting point is 00:10:26 We're always behind them, helping you get them working and stuff. You know, we're pretty active in the community around these. So we tend to have a lot of people who are able to do just that, you know, take them and customize them. And that does save them a lot. You know, nobody wants to have to implement
Starting point is 00:10:41 their own dashboard for viewing the transactions, right? Everybody has to do it, though, as part of building a marketplace. So you've got to head start by using them. I was going to mention real quick, since you mentioned Chad Whitaker being on the show, Andrew, that what he shared with us about how he actually got integrated with Balance, that they actually forked, integrated, balanced, and sent him back a pull request. I thought that was kind of neat.
Starting point is 00:11:10 And, you know, Marce, you just mentioned just the fact that, like, you know, how you're involved in the community. Can you talk about that a little bit, like, to the degree? Yeah. I mean, so my personal involvement tends to go up and down, depending on how time allows. But yeah, I think actually Github was probably the first kind of major open source contribution that I ever made. Before that, I've been limited to kind of, you know, minor bug fixes or just kind of pointing out spelling mistakes and whatnot. But yeah, so Mateen, our CEO, I think,
Starting point is 00:11:47 was the one that was looking at the GitHub repo, and he saw the open issue that Chad had created about finding a new payment processor because he was getting kicked off Stripe. He had just been kicked off, I think it was Samurai Payments or something like that. I can't remember exactly. But yeah, so he saw the issue and he was like, well, you know, this is a great way for us to make an impact and help out.
Starting point is 00:12:16 So we did exactly that. We jumped in and I think it took me about two days of writing some code and creating a pull request. And Chad was really appreciative of it. And we just worked with him to get everything working. It didn't take long. And he was processing within a week. So that was cool.
Starting point is 00:12:35 And so we do the same thing with all our repos now. Sorry, we don't help everyone. But if anyone's having integration problems with anything, our support guys are really proactive and whatnot in terms of jumping in and helping write snippets and showing people how it's done. I find the whole open source thing really fun and satisfying as an engineer. It's like an awesome CV stuffer. And just having people use your code and, you know, being able to discuss it with them and stuff.
Starting point is 00:13:17 Did you say CD stuffer? CV, sorry. CV, okay, CV, I was going to say CD stuffer. Is that like swag? Right. Okay. So it's crazy the one thing that so obviously the dashboard is the most popular open source project you guys have um but the thing that's interesting to me is all these client libraries you have typically you'll see with a lot of our guests just because of the community we're in we'll see ruby and then we'll see python
Starting point is 00:13:44 javascript kind of you know sometimes and then that's usually just about it right but balanced has python ruby java php javascript c-sharp node like all these different you have your ios uh wrappers so all these different like libraries for different clients well kind of why did you guys decide just to go ahead and do it for all of them and and what do you see as the most popular one so far? The Ruby client is the most popular for sure, probably followed by the PHP. But the interesting thing is that we didn't write all those clients. The Node client specifically, I think maybe three or four customers wrote their own versions of the Node client.
Starting point is 00:14:29 And at some point, we were like, wow, we have to jump in and help, you know, and choose an official one and really put some weight behind it so people stop reinventing the wheel. So, I don't think we wrote the first version of the Node client. We adopted someone else's that they'd published on GitHub and basically brought it into the fold and helped them build it out and take it on ourselves. And I think there's a new revision of the Node client coming in. Again, we're not building that, but someone else is building it. So you guys are
Starting point is 00:15:05 kind of just like bringing it into your uh organization on github and offering kind of your support for it more than anything um yeah so i mean people like have no problem with creating the initial client but um then a lot of the hard work comes in writing all the code snippets and samples for the documentation. So we tend to do a lot of that or at least lay the groundwork for it. So it's uniform with everything else that we provide. Yeah. So speaking of documentation, which is also open source to all of your documentation, how often do people contribute to that kind of repository?
Starting point is 00:15:48 How often do people other than your company work on the documentation? It depends on the level of the size of the task that needs to be done. You know, typos and stuff, we get requests every day for them. Then, you know, yeah, so it depends on the size of the task. If there's a task that's going to take someone several hours to complete, it's not going to be as contributed as often as, you know, a typo or something will be. It's hard it's hard to give you exact stats to be honest
Starting point is 00:16:25 but i'm sure you could uh just look at the stats page on github for any of the repos to see them actually our websites are open source as well that's probably one of the more popular repos that tends to get updated just randomly so we have all these different things that are open source we could obviously spend days just talking about how many open source projects you guys have but let's kind of dig down into what's probably the most popular which is the dashboard right so um why don't you what is the balanced dashboard what like what part of balanced is in the dashboard and and what what is it right so the dashboard's just another client, like the Node client or the Python or Ruby client. The difference is that it displays everything to you in a browser.
Starting point is 00:17:11 But, yeah, that's all it is. It lets you create transactions the same as you could through any client. It lets you view and list transactions the same as you could through any client. So we host it. It's available at dashboard.balancepayments.com. You can see it up there and running. It's an Ember JS application. So originally we started with a Python app,
Starting point is 00:17:35 and the issue with the Python app was that it was a bit slow because all the requests are made in serial. So moving to Ember and, you know, to JavaScript where everything's an async request, basically spit everything out for free without any major re-architecting of anything. Yeah. So I'm just kind of, I feel like I'm overwhelmed
Starting point is 00:18:00 with all the different things we can talk about here with Balanced. Billy, it is a recurring billing system. point and which that so balance started you said it was pound pay which is one thing we can get into with the y combinator that's another i think you guys might be the first company we've had on and correct me if i'm wrong adam because i wasn't here in the beginning but have we had anyone that was that started at y combinator on the change log i'm sure, yeah. Whether they mentioned it or not, I don't know. I don't keep a list of the alumni, but I'm sure.
Starting point is 00:18:31 Let's talk about that. I'm not sure if you were there when it happened. First, let's talk about Billy. At some point at Balance, you guys decided the marketplace is cool, but we want to support recurring billing. What is Billy, and when did the business decision happen to start supporting this? So like most of the features that we tend to develop, there was a lot of demand on GitHub.
Starting point is 00:18:56 So we have a balanced API repo on GitHub, which basically documents and talks about just balanced in general. And so, you know, people are free to create issues up there. And, you know, popular example of issues are like ACH debits, international payments, recurring billing, right? And so we've knocked off ACH debits. We haven't done international yet, but we started working on recurring billing
Starting point is 00:19:24 after we got about a billion requests for it um and so billy's basically just you know it's a cron job essentially um i guess the main difference that you'd see between it and like something like chargeify which you mentioned earlier is that billy just hooks into the balanced api. So again, it's another client, right? It doesn't have any special access that anyone else doesn't have to that Balanced API. And what it does is it lets you do both the credit and the debit side of things as a recurring job.
Starting point is 00:19:58 So you could schedule charging cards, but you can also schedule paying people out right um and we we took guidance on that by just asking feedback from customers you know uh for existing customers how would you use it you know what features must it have in order for you to uh start using it and so chad from getit was one of the people that kind of jumped in on the issues for the repository, and he was like, this is my use case. And it's like, right, okay, so now we've got a concrete use case.
Starting point is 00:20:33 We can sit down and make sure that we satisfy that use case as part of the development process. Billy's interesting, actually. The lead engineer on that is based in Taiwan. So he's another one of these guys that kind of just started contributing to it. And eventually we started bringing him into Balanced. And interestingly, just to diverge a bit, same thing with the iOS and the Android clients. Ben, who's one of our, he's, sorry, he's like the support engineer in IRC that helps everyone get integrated. He came to us, again, through, you know, just doing little pull requests and stuff on different parts of our open source projects.
Starting point is 00:21:29 And after a while, we were like, man, this guy's like super talented, super useful. Time to hire him. Yeah, yeah, exactly. We sent him a t-shirt and just kind of got a conversation started. And then next thing you know, he's working for us. So he works out of Utah and he's in our hip chat room every day conversing with us and doing everything that needs to be done. On the Billy repo in the readme, you say, in beta stage, use it at your own risk. Does anybody ever – I mean, open source, you tend to have some squawkers out there.
Starting point is 00:21:56 So anybody open up a niche and be like, whoa, this doesn't work, or anything bad happen? No horror stories. So part of what we're doing, like you say, it's in beta at the moment. I wouldn't call it a mature product at all. So we're actually ripping out the invoicing out of the core of balanced at the moment and implementing it in Billy to ensure. I think between GitHub and ourselves, if it can handle that, and implementing it in Billy to ensure, you know, I think between GitHub and ourselves, if it can handle that,
Starting point is 00:22:29 it can handle pretty much anything. We've got some reasonably complex invoicing logic that we need to deal with. So how much of Balanced is closed and how much is open? Like what we're looking at the code here for the dashboard in Billy and the docs and the website and all that. How much of the secret sauce do you keep hidden? So at the moment, to be honest, like a lot of the code is closed. We've built some really nice frameworks on top of Flask and SQL Alchemy, which we use to implement balance. But the reason for them being closed is only a lack of time to actually implement them, to expose them to the world.
Starting point is 00:23:10 I've found it's a lot easier to begin a project as an open source project than it is to take a closed project and turn it into an open source project. If only because you have to go through and remove all the swear words and profanity. The comments. Right. Plus, I mean it's got to be a hit to your business too. I mean sure you're supportive of open source and supportive of the community, but it's got to take a hit to people's time and just lack of burnout I guess to have to put everything out there in the open because especially as you gain more and more popularity over time, it only affects your ability to support the community too, to have to put everything out there.
Starting point is 00:23:56 I don't know. Well, I mean the reason why I say that is because we've – Andrew, you and I have talked to people on the show recently that they've experienced burnout. We talked about Node.js' maintainer, original maintainer, Ryan Dahl, he, you know, burned out there. And it just eventually comes to play if you have to, you know, I guess build your business on top of open source but also support what you've put out there to just put into the ecosystem of open source to either better for you or for the world yeah we like not surprisingly we've had a couple of people recently that said their call to arms like the thing they would like the community to help out with is just like responding to issues just somebody that you know just being an issue i forget what the word the terminology was maybe an issue secretary or something. Like, just they've got all this, which is something interesting. You guys have so many projects out there. Do you have somebody specifically, you know, dedicated to each project?
Starting point is 00:24:53 Or like if a bunch of issues start cropping up on all the different projects, then what do you guys, how do you respond to them? Like how do you make sure you respond to all of them in a timely fashion? To be honest, I don't think we have a formal process. Obviously, you know, bugs where things are actually broken get top priority. But discussion can stay discussion until we have a concrete solution for things. I mean, you're right. There are people who are spending a lot of time managing the dashboard just in terms of merging pull requests.
Starting point is 00:25:33 For a lot of the smaller pull requests, you have to sit there and kind of, do I need to go back to this guy and ask him to re-architect this piece of code or will it be just quicker for me to make the change and then merge it in myself um but yeah i don't think we've got any formal process for that at the moment it's just kind of a case of feeling it out as the project grows um yeah i guess since we're on this subject um you've got 146 open issues on balancedanced on the Balanced dashboard right now and just a small handful on Billy.
Starting point is 00:26:07 So, I mean, you say you don't have a formal process. What is then the process to either handle, close out, settle, respond to, whatever periodically we go through and, uh, just figure out which issues, uh, still open, you know, occasionally we'll change the API in such a way that, you know, issues are no longer relevant. Um, so that, that'll happen every couple of months. Um, but any, anything that needs to be dealt with be dealt with that's going to take a long time and needs to be done internally generally will bring it into Trello, which is what we use internally for managing work.
Starting point is 00:26:55 And if it comes into Trello, then generally it's got an engineer internally focused on it. If it's not in trello then that means that there's nobody internally tasked to doing it i almost feel like there's been a couple people on the show andrew that mentioned trello almost like there's gonna be something to start uh synchronizing github issues to trello somehow you know yeah this it's gotta happen i'm sure it's out there we we actually started to write one at some point. There you go.
Starting point is 00:27:29 But we felt like it was going to be a, it was a smell that we were potentially doing something wrong. I think for the majority of tasks, they should either live in GitHub or they should live in Trello. If you're just mirroring one with the other, something doesn't sound right there. Let's talk about, you brought up the balanced API. You told me that you recently switched from Markdown to JSON. So kind of talk about that.
Starting point is 00:27:55 Right, so JSON API is basically a schema format, I guess you would call it. So it's kind of like an Xsd um and it lets you basically say this is what a response or a request for a certain endpoint should look like um so originally what we did is we wrote everything in markdown and then the next step was for us to go through and annotate our code base so we had a tool which generated the markdown and that solved a whole bunch of issues for us with, you know, documentation and specifications getting out of sync. But it was still possible for us to break our API interface unintentionally. So the great thing about JSON API is that you can make a request
Starting point is 00:28:43 and then you can compare it against the JSON API schema and be like, does it validate, yes or no? So this has been a pretty big win for us in terms of having a lot more certainty about when things change, which is definitely the main advantage for us so far. Beyond that, I mean, JSON API has other technical advantages like the fact that you can have an envelope for your payload so you can return more than one item at a time
Starting point is 00:29:14 when you do a get kind of thing. You can return related resources in the same payload. In the current or the original revision of the dashboard, sorry, the API, we would nest items. And that starts to break down as you have, like, large collections of items being returned at the same time. Gotcha. We actually covered JSON API on the blog, I guess. Who covered that?
Starting point is 00:29:42 That was Steve Klabnick. Steve Klabnick is one of the guys that was helping to work on it, right? That's right, yeah. He wrote a post called JSON API, I guess JSON API, however you want to pronounce it, but it has a MIME type, and he talked about how he and Yehuda have been pursuing to help standardize the APIs, and this was something that came out of their work on Ember data and active model serializers. So it's something he covered on the changelog. We actually have a tag on the blog that's, I think it's just, you know, JSON-API.
Starting point is 00:30:15 So if you follow our tag on the changelog, you can kind of watch that. I'm sure Steve will cover more as well. Yeah, so it's cool to actually see things like that become implemented. So you said that was a big win for you guys when you, how long did it take to, to kind of make that switch? And, uh, I mean, have you, it's been a month now since the switch happened. Is that right? Uh, no. So we, we deployed the JSON API revision, uh, maybe two weeks ago. Um, but we've still, we still maintain the current revision of the api which is just plain json uh and you know the vast majority of people are using that we haven't uh finished
Starting point is 00:30:52 documenting the json api revision so uh it's not getting widespread usage but uh yeah interesting i mean we're using so we use emberjs for the dashboard. And when we started implementing Ember as the framework for the dashboard, we actually initially tried to use Ember data. And we had a horrible time with it. And so we ended up writing our own data layer and our own serializers and whatnot. And we're currently in the process of ripping that out and trying to replace it with Ember data. And we've got a guy in the office who just finished writing a Ember data JSON API adapter to help us with that. So hopefully we'll have that change in the dashboard very soon. That'll be one of the
Starting point is 00:31:41 first consumers of the new revision. So you said you wanted to kind of talk about what you guys plan on open sourcing in the future. Is that earlier you said it was easier to start with open source than to convert stuff. So obviously to me that means you're probably going through the process of converting some stuff right now. But I want to talk about that a little bit. What's coming in the future from balanced uh so probably the next thing out the door will be uh the framework that we've written on top of flask um so we've experimented with a bunch of uh libraries that were designed to make building apis and python easier so we're a a Python shop for the majority of our code. And we experimented with a bunch of them,
Starting point is 00:32:27 but didn't really find any that clicked for us. So we started from scratch just using Flask, and we've built up on top of that over the last year and a half or two years. And what we've got now is pretty polished,
Starting point is 00:32:44 so I don't know what name that's going to be launched under. You'll probably be looking out for a project called Hype or Lube. But yeah, I think that's going to be really powerful for people that want to write APIs in Python. Can you say those names again, one more time? Hype, H-Y-P-E, or LOOB, L-O-O-B, L-O-O-B in general. Nice. So Flask is, and I'm not sure, are you familiar with Sinatra in Ruby?
Starting point is 00:33:19 Vaguely, I mean, I dabbled in Ruby, I wouldn't say I'm strong in it. Gotcha, I think Flask has been compared. I'm not familiar with Flask. I've never actually used it. But I think Flask has been compared to Sinatra. And Reno Rails obviously gets compared to Django. So I was wondering if the one you guys are working on is kind of the Padrino-esque version of the Python. But, yeah, I guess we will have to find that out somewhere else.
Starting point is 00:33:44 I'm going to put a link to Flask in the show notes too, so if you're listening to this, check out the show notes and we'll have a link to Flask and a bunch of other stuff we're talking about on the show too. So what's a day in the life of a balanced developer look like? Hectic at the moment. We're super busy. So for me, I spend a lot of time just managing issues and stuff on GitHub. And then depending on the different engineers, I mean, just working on static sites. But the majority of the stuff we do is accounting and payments-based.
Starting point is 00:34:24 So we spend a lot of time integrating other banks and I believe Mateen, our CEO, describes it most succinctly when he calls it abstracting the shit away. So we provide you with a nice API when really underneath it's dealing with FTP servers and file formats that are 20 years out of date. No thanks. File formats. So it's kind of hectic.
Starting point is 00:34:57 Where is your team located? You said you had one guy in Utah. Where is the rest of the team located? You guys are pretty new. You've only been around for about a year in this format, right? As balanced. Yes. Uh, just over a year. Um, originally the office was in San Francisco, then it moved down to Palo Alto and now it's back up in San Francisco and Soma. Um, so that's, that's where the majority of us are, but yeah, like you said, Ben's in Utah and then we've got a guy in Taiwan.
Starting point is 00:35:26 I myself started off in Singapore and worked remotely from there for a while before making the jump over to the US. So you – we talked about just different, I guess, competitors, I guess is probably the easiest way to talk about it. A little earlier in the show, like what some of this the hurdles in the way of balanced payments you know we've got the the big guys like paypal which most every developer is pretty much against these days i think they're trying to win us back but and you guys stripe and then you've got a number of others that have propped up like what is it that is the hurdle for you guys in terms of doing your mission in in payments uh it's a great question i don't know to be honest um i mean we're just strapped for time at the moment uh from an from an engineering point of view you always want more hours in the day um so you can see that it's pervasive in a lot of the solutions that we
Starting point is 00:36:27 build. We're very heavy on automation and stuff, simply because with a small team of engineers, I mean, I think Stripe's got like 40 engineers where we've got five. Don't quote me on the exact numbers there, but that's the ballpark anyway. We have to make sure that everything we write is really robust, and you only want to solve a problem once if you can help it, because if you have to keep coming back and solving the same problems over and over, it's definitely not going to scale when you've got a small team. You guys are, I think, just on the note of mentioning how many engineers you have,
Starting point is 00:37:10 I think you're also looking too, right? This would be a good time to mention to the world who and what. Yeah, I mean, we're looking for smart engineers primarily. We don't care what languages you know or you don't know. From the people that I've interviewed so far, I've found that people that are good problem solvers are infinitely more useful than people that are Python pros or, you know, really good in a certain language. I quickly threw together a little teaser.
Starting point is 00:37:41 If anyone wants to give it a go, you can find it at gist.github.com slash mj all day where we've created a small hangman client if anyone wants to try their hand at writing a RESTful client that can consume
Starting point is 00:37:58 this hangman app and show us what you've got we'd love to see it yeah we're going to link out to the show it's kind of neat. You're curling the balanced Hey Man Heroku app thing on Heroku, right? So you guys are probably fans of Heroku, I suppose. I mean, if you want to throw a service up in half an hour, then it's the way to go for sure.
Starting point is 00:38:19 Right. We host our example marketplaces, so we've got a couple of open source marketplaces that you can see on our GitHub again, you know, uh, they're all called rent my bike and then they're implemented in different languages and they get hosted on Heroku just because it's so simple to get something up and running really quickly. So for, I guess for that person that might be listening, I don't want to drag out the higher too much longer, but I just want to give you a final call of arms on that one is, uh, what is it about balance that makes you love being there and why would somebody want to join the team? Um, so for me, I love hard
Starting point is 00:38:53 problems. Like I was saying before I got, uh, I pivoted into social media marketing and selling makeup to people just doesn't float my boat but here i'm solving like what i consider to be hard problems because if i send someone a hundred dollars too much or i don't send them a hundred dollars somebody's gonna come looking for me and let me know um you know there's a real world consequence when you're moving money around and i think just having that challenge over your head is uh it's really fun um so yeah i mean the people that we want would thrive in that kind of environment you know um trying to do zero downtime migrations if we go down then our clients go down and so those kind of constraints like real world side effects to
Starting point is 00:39:41 everything that you do and that kind of high pressure environment i just find super exciting to work in yeah i mean it's an environment that definitely it if you enjoy i don't know we ask our kind of our set three questions at the end of every episode and if you enjoy doing like seeing real world things right that like we're developers and we have the tendency as developers to work on websites which most of what you're talking about social media marketing, that's what you did. So what you did when you were doing that is all web based. The ROIs and all your measurements and all your analytics and stuff, you're just measuring web based stuff that you're providing other people to
Starting point is 00:40:22 be more successful with their brick and mortar, with their real hands-on things, you know? So if you're dealing with money, that's one of the things that as a developer, you can spend a lot of time and know that what you're doing is actually affecting and contributing to a real life hands-on problem. So in my career, when I found myself at different jobs working on financial aspects, I've enjoyed it because of that. I think it gives you that little edge that a lot of times you don't get. Absolutely. So as I mentioned, we ask the same questions at the end of every episode. So we'll go ahead and ask you now. The first one is for a call to arms. So you guys have so many,
Starting point is 00:41:01 I'm almost afraid to ask, you guys have so many projects out there. So don't open the fire hose on us, but kind of give us a call to arms of what you'd like to see the community help out with. Yeah, like you said, any open GitHub issue that can be closed off is a big win in my book. I think the most interesting thing that someone could start on today if they wanted to give it a go would be to convert our current Python client to consume the JSON API revision. I think that's going to be a lot of fun to try and figure out. I don't know if there's a canonical JSON API Python client at the moment, so we could definitely do something with that. Awesome.
Starting point is 00:41:44 So you heard it. You can forever be etched in Python glory if you are the first to build this. Exactly. Awesome. So if you weren't doing what you're doing now, what would you be doing? I've got to figure out a better way to ask that question, Adam. Mark that down. We need to write it.
Starting point is 00:41:59 I'll do it. I'm writing it down now. If you weren't doing this, what would you be doing? I'd want to be working from a beach in indonesia somewhere and you are a world traveler i don't know if we talked about it but you're from new zealand right and you where else have you lived at besides singapore and now san francisco that's it just the three of them uh and i'm pretty happy here for the moment so hopefully i don't have to find another place that i like uh in the near future gotcha so you'd be you'd be working on the beach in indonesia does
Starting point is 00:42:32 that mean that you like beaches you like surfing what is it about indonesia oh no it's it's just that island lifestyle like um singapore singapore is such a small country that you know if you want a weekend away you end up flying to another country, which is, you know, 10 minutes by plane or 20 minutes by plane or taking a boat to Malaysia or something like that. And I had some friends that were software engineers and this was their setup, right? So they were based in singapore but then during the week they would uh go to indonesia or malaysia or whatever and they would sit on the beach and they would program and i just always thought that was like a fantastic way to work uh if you could if you could withstand the distractions that are around you but yeah i never i never quite managed to do it for any prolonged period of time
Starting point is 00:43:23 certainly would beat uh going to a co-working space or even to a coffee shop, wouldn't you say, Andrew? Yeah. I mean just to kind of throw my own fuel into the fire a few weeks ago, I was in the Outer Banks in North Carolina. And I just sat on the beach and worked at my normal job every day, and that was incredible. I mean just sitting on the beach and in that environment, it's like so nice to not be sitting in my office working. So I totally am with you on that one. Uh, that might be the first time we've heard Indonesia though. So yeah, I think so. Cool though. But then the last question that we'd like to ask is for a programmer hero. So somebody in your life that has been influential. Uh, so in terms of programming, I don't have any heroes.
Starting point is 00:44:07 I try to be as sponge-like as possible and just soak up what I consider to be the good bits of everybody. But in terms of just general life heroes, I definitely appreciate my wife kind of bearing with me as we've done this travel and quitting her job and then finding new jobs every time we do move around so definitely her gotcha so you heard it here first marshall would be a sponge on the beach if he had a chance exactly y'all are crazy man so that's uh i guess that's the show huh
Starting point is 00:44:39 i mean uh all three questions we got pretty much everything we can get out everything we can get out of you, Marshall. The thing is, is Balanced is an open company, so there's so much information that's out there. I have a feeling that the amount of time Marshall just spent with us, he'd be willing to spend with you if you just wanted to ask him about the company because their mindset is to give so much back into the community that there's not much that's hidden.
Starting point is 00:45:04 So I encourage you, if you're interested in balance, you're interested in payments, the next time you start to, I'm not trying to pull people away from any other platforms, but the next time you sit down to make a decision on payment processing, you should check out balance, check out the company and see if they fit for you, for sure. Yeah, I recommend people either open an issue on GitHub if they fit for you for sure yeah i recommend uh people either open an issue on github if they've got a technical uh issue or jump on irc.freenode.net and hash balanced where uh most of the engineers in the company are always idling and happy to talk about anything that anybody would like to know that's cool to see that feedback too i mean that's that's something we mentioned about
Starting point is 00:45:42 digital ocean too just kind of mentioned uh you know meshing yourself into the community and kind of being there to hear you know that that kind of real-time feedback too like if you've got questions hop in irc we'll taunt you we're there waiting for you basically yeah we try and be responsive uh 20 hours a day i don't know if we get to 24 but we get get close. Let me try. Well, all right. Yeah, Marshall, thank you so much for taking the time to come on the show today. It's certainly been a blast chatting with you about just open source, open products, how you guys are building Balanced and what it is that you love about your job there and why somebody should come and work with you if they are in the mood to do something like that. So I want to give a quick shout-out again to our sponsor for the show, DigitalOcean. Deploy your SSD cloud server today at DigitalOcean.com. You can use our promo code.
Starting point is 00:46:31 It's a new one, so if you listen to the past few shows, that one will still work, I believe. But this is the new code we're promoting for the next month, and that code is the changelog October. So use that when you sign up there's a little promo code field pop that in there and click save and you'll be good to go to save 10 bucks when you sign up for digital ocean and andrew you mentioned getting a t-shirt so i'm not sure if they're sending t-shirts but if you do want to decorate your laptop you can email barry at digitalocean.com to get some free stickers and other stuff. I'm not sure what they're sending out, but just email Barry.
Starting point is 00:47:08 Tell him your mailing address, and he's going to send you some awesome Digital Ocean stuff. So if you're a fan of Digital Ocean, do that. That's it for this show. Marshall, again, thank you. Andrew, thank you for teeing this one up and for you, the listener, for listening. But let's say goodbye. Thanks, guys. Thank you for teeing this one up and for you, the listener, for listening. But let's say goodbye. Thanks, guys. I really appreciate it. you

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.