SF Scala: Charles Ruhland and Thomas Kim Interview
Recording: SF Scala: Charles Ruhland and Thomas Kim Interview
[Music] hello everybody I'm Alexi crabber of the organizer of SF Scala and here were at iterable we have an awesome meet up today we have three different talks and we're gonna start with talk by our hosts we have here with us Charles ruled and Tom Kim who are software engineers in the skull team welcome and thanks for for having us here so I actually go back with Charles a while and we got to use skull of previous companies so I won't ask you guys how did you come to it or iterable and what was your scala journey you know how much Scala to use before how was that experience sure I guess I'll start at home so I first heard about Scala was working at Salesforce actually same it's Tom Kim we worked together briefly there and I thought it was fascinating language wanted to learn more so ended up looking I was also interested in working at a start-up at the time and so I ended up working at clout were I worked with you Alexi and cloud was using Scala on the back end and I got to dig into it like get just learn and everything was to learn about it and just realized it was you know all-around great language I felt like it really sort of jive with how I thought about programming come on you don't yeah like a lot of people I learned first learn about Scala just through reading a lot of blog posts I read all the widely read blog posts about early Scala and I was using job at the time and like a lot of people I came to it first as sort of like a better Java and I realized that it solved a lot of real sort of kind of tricky problems that you face as a working programmer working in Java and then as I got more more into it I just realized more and more powerful was and it was really sort of revelation because as my first really deep exposure to sack the type functional programming and applied a little bit official program before that but not too much and basically I came to realize that stack the type functional programming just solved a whole wide array of problems and really made programming it just really shed a lot of light on programming and what programming is really about in the essence of it and much more mathematical and rigorous basis and so really appeal to me so close about six years ago yeah so and right so and so you guys like seen a lot of teams I'm curious Scala is considered one of the more complex languages to learn right there is a lot of you know Arlen crafts how do you see a kind of team dynamics and all this right like you were in different teams you've seen you know you've got different colleagues probably some know is color better so some less of it right so how do you kind of reflect in this how do you see Scala really taken hold in in startups variety and kind of different companies you went through what are the interesting kind of insights from from the journey yeah I mean I think one thing about Scala it's so powerful that almost every company has like a different language home for scholars and you can see that as a good thing in a bad thing yeah right I think if you're not careful you can end up with different developers at the same company kind of using their own dialects right and that could lead to misunderstandings but I think if you as a company sort of set a good code style you know good policy around around that you can have a very effective language that is like kind of works with how your company conceptualizes like you're probably right those things you're trying to solve so where would you say so Corky's columns called tribes so if you look at clouds mesosphere versus all it's a ribald a can you like hint what kind of tribes they are in from Ruby to cross kill or frog right I see yeah like how we're on the phone for me yeah exactly yeah I guess versal ended up being like very functional right Mesa sphere I think it was you know less functional but still pretty well we're kind of in the middle of the road I would say yeah spectrum of like Java EE Scala - Haskell e Scala okay and I think there's a pretty good middle ground where the learning curve is pretty moderate and you can get like you know all like most of the benefits of using silac functional programs in the middle and that's something where we are mm-hmm what are the pain points like the pinpoints right now in terms of usage of Scala or like teaching people Scala will define the most challenging hmm I mean I think on our team where we have like some less experienced developers futures have been one of those interesting concepts right yeah there we go yeah so like they're really really once you kind of grok them but that conceptual understanding takes a little while to get there I think have to wait in the future reason we have that challenge that we're kind want push the limits of IO throughput and non-blocking i/o what you want to do that the features are really handy but they're and they're very powerful but then you also have to sort of understand what's going on thread thread pools and and non-blocking i/o and callbacks and all that and just even in Scala this sort of muriatic interface they present yeah can also be a bit of a challenge understand well do do to debug this hmm hard to debug yeah but I mean we've added like we've had a metrics library we've wrapped around some of our futures for lighting purposes you know the nice thing is even good old-fashioned like you know adding print statements or log statements you insert them into a future pipeline pretty easily just add like a call back or it was it like a I complete or and then and you can come chain it on long haul debugging approaches basically where plus some new things you know like intelligent has a better debugger with how many secretly and all that mm-hmm yeah so what's our ball that got the best best cases was Karla as opposed to challenges where what does it shine where does it make your life easier oh man I feel like slick has been pretty good for database queries what do you think yes like works pretty well for us mm-hmm I mean I think of all the things that we do like web app development like be able to operate a higher abstraction and never having to repeat yourself there's a big win right but also in lower level code where we care a lot I Oh throughput and we're doing off things with futures like actually all the things that we knew the futures actually give us a I think give us a huge strategic advantage you know it's kind of part of I got reactive and streaming and doing all those things like having all that functionality out of the box gives us a huge advantage I think mm-hmm yeah you we're not wasting all our time like copying buffers around right yeah that's up just chaining things together and that's a big part of our cart functionality is high throughput IO and I actually can't imagine doing in any other language actually hmm I'm dealing with a lot of data unstructured data mm-hmm in schemas and data models and doing a lot over that yeah cool so you guys were in an integral part of scale by the bay in the member so if we look to November this year where do you want to be by the next time we're to scale by the way where do you want to be a company like what's the plan for this Scala team if you can like outline briefly what what you want to accomplish company we're aiming for a start-up and so we're growing very fast or were aiming to grow very fast and so we're aiming to grow all dimensions of the company significantly over the course of the year headcount number employees with an engineering outside of engineering obviously customers in revenue but also about data we manage and the volume of transactions that we do we all want those things to grow you know I thought person 10 basically is called a super off Tim yeah we definitely want to have a being a place by the end of the year where we've got like a number of teams working on various aspects of the other products right now we're still kind of one team and it was we've been working great so far but you know having a little more structure having having different focus areas and different product areas would be we want to get to cool so we're looking at you know obviously with more folks and more more stuff we were looking for some interesting results you know coming out from from iterable and definitely and oh happy happy to to be here and thanks for for hosting us and looking forward to the talk yeah thank you very much Dean you