sfscala.org: Alexy Khrabrov interviews Ryan Delucci about Monads and FP Culture
Recording: sfscala.org: Alexy Khrabrov interviews Ryan Delucci about Monads and FP Culture
hello everybody I'm Alexa crabber of the organizer of SF scholar and here we are on location a chartboost where we have the most functional programming have a talk of the year about Cleese Laros and here also have Ryan de Lukey I would prance Dellucci what Rangel promises how he to pronounce Verizon so my people certainly the beginning you are one of the longest serving veterans of Scala you were at Aulis of scala conferences and a lot of meat off so can you tell us why Scarlett how did you get interested in Scala and what was your evolution in in Scala culture so for me I would say so I first I've actually worked in the industry developing in Java since about 2004 so that's a that's a good amount of time as I worked in Java that I'd say like reach around 2010 I started taking a look at reading some tutorials on Scala talking with some folks that know about skull and was actually encouraged by a number of people will say hey take a little closer look at this language and I would say it was a ground late-2012 that I started really to get interested in it was what started it was I started I actually started attending some SF Scala meetups and it was actually quite funny how I would I remember looking at some code that was being disguised I believe it was a talk on akka and and I remember looking at the code and thinking wow I totally do not get this but it looks really awesome and I spent a lot of time studying it and I actually worked on a project end up being an open source other involves doing some doing some mapping processing of map data OpenStreetMaps and that was sort of like a proof of concept for me to decide okay do I really don't want to invest more time and this is this is just a language for me and after working on that it was it was a complete hands down yeah I mean it was just obvious I mean looking at looking at all the the features in the language it's it seems overwhelming to a lot of beginners they say okay why are the three different kinds of classes case classes objects classes why are all these different rates as well why they have all these different elements but as you start working in the language you see how how everything fits together and it's very yes complex but sort of very intricate fashion that it's all it's all natural all the features are very useful and that's yeah I think that's what really got me interested in the language and from there I'd say I after after you know working on the open source project I have actually I joined Netflix and I was there for four is about by year half roughly and that's why I was sort of my first actual role working in Scala and I think that was there where I was actually introduced to some more functional concepts and and I have to give a bit of a shout out to Brendan McAdams as he is he has he opened my eyes to some really interesting bits and scholars II yeah which you'll see in my talk tonight by the way and and yeah so he kind of opened my eyes to this and I and I started to realize oh wait a minute this is the kind of this is the exact kind of library that that I've been actually looking for without even realizing it because I mean you hear you hear a lot of folks at that talk about scalzi as a sort of mad scientist Mathi i mean it's it's applied math yes but they see this sort of crazy library that says galleys you know funky operators doesn't make any sense but when you actually sit down and and look at the different pieces and try to try applying the the different the different category theory concepts and use them as patterns if you will and apply them in the correct way you start to it everything just fits together and you start to realize that that you can actually get build much more complex and more more sophisticated you know software components using using these these principles cool so so this is amazing right I think this is kind of something which every kind of functional programmer can aspire to you know you basically we are like a hardcore Java guy you saw Scala you taught yourself Scala and you got the job at Netflix and now you are at I'm in Verizon yeah which is so little background on them so I'm actually on the what was referred to as the on-q team when it was started at Intel actually reason it was Intel media they own this are referred to as on cue mm-hm and then even Verizon actually acquired the team there and so now we're all in there Verizon I actually joined right right after it was a bit after that they were purchase so so yeah so that's where I've been and I am I've been working on some amazing stuff there but it's just been exciting this is one of the highest concentration with marketers ski around holidays and spring it was awesome community so so I'm really curious you know how do you find kind of maybe you can talk a little bit you're at Netflix which is you know famous culture but not famous for Scala specifically a favorite kind of you know example of interest in engineering culture and now we are arising so what can you tell what can you tell about how can I kind of characterize a good scholar culture right we know a lot of skull people are not on Netflix anymore and a lot of them are on the rise and so I would hypothesize that you know there are more conducive cultures and less conducive culture can you talk a little bit about like what's it what's good about you know this group and Verizon what makes it possible to collect so much talent I agree 100% with everything you say and I would and I would say what really makes the culture for for our team or for the the oh I'll keep it free is on queue because it kind of see teachers like you know as as a single team I would I would say that what what really struck me is that just a wide range of folks at you know we have a range of people that are from that are that are newly grads mm-hmm and also going up to the other expand the spectrum a very experienced even like folks who literally wrote the book on functional programming in Scala and so I think that that creates a very very special dynamic and what that does that means everybody's everybody's learning everybody's teaching teaching each other new ideas new concepts and this sort of culture of learning which is very strong on my team is is I think it's very important and I think having that wide range just makes it really nobody's nobody feels you know feels where Oh can I ask as a stupid question that's that that's that's never an issue and I would say that combined with the fact that you know we're you know really really good with like pull requests code reviews and I I would say that that those are elements that really just make it a great conducive culture to you know to learning Scala and and as you say there's a you know a number of folks there that that have you know they're they have been at work in functional programming for a long time they understand P RFP they they they they totally get referential transparency and they I I would say having you know folks that you have that the fact that we have those those people working on you know in you know in main parts of the architecture and and spearheading the open source that we have AUSA which I invite people to take a look at it on it's a it's on github on Q open source we they're they're leading the way of you know the vision for the the technical vision for the for the company and it's it's quite exciting so you mentioned you know a diversity of skills you can have junior guys obviously famous senior guys how do you see junior guys teaching scale how do you make and of idiomatic skeleton out of new bears what do you see in this process what works really to kind of teach new guys Scala it's it's about having it ingrained in in people's ways of thinking and and that that you know we talked about culture before having an the culture is important the idea of wanting to do things the right way mm-hmm realizing that this this type of work we're doing is really it's really quite deep and you can't simply go towards the obvious solution they're solving a problem even the second or even the third most obvious you have to you have to do have you have foster this to sort culture of experimentation where people people learn iteratively and I think code reviews actually help a lot with that so there's not this sort of wild wild west where people just commit stuff on top of each other without having other folks peer review it mm-hmm I think especially when you're talking about a language like skull where we where folks are coming up to speed on language and and you know once again you people are teaching each other new new tricks and techniques I think it's really I think it really helps that that that's a real big part of it just having peer review having the barriers down where it's like okay you see there's all these there's all these negative comments on my code but it's okay they're there you know these folks are trying to help me out and that's how it is it's it's really quite positive cool and you mentioned also open source and of course you know a lot of folks know about cats which is a f.p library which is kind of a successor or complement or an analogue to scholars II with kind of focus on community right and so I wonder because it's a high profile library you guys are obviously getting a lot of action from outside developers so I'm wondering you put out some other products like configuration libraries so I wonder how does this dynamic work because you are getting a lot of poo requests from outside developers how does it affect the group itself you know how does it help obviously you seen it invest some time in the community but it probably pays with directly and kind of some communication directly can you talk a little bit about this dynamic of open source you know being authorized of open source which is widely used yes so I we've had a lot of interest in the the remotely library the knobs libraries is configurational and were you talking about mm-hmm and and also the the funnel library which has just recently been released of monitoring and these these are pieces that you know it varying degrees are using internally ourselves and it the the beauty of open source is it is it allows the community to sort of see the interesting work that we're doing and they realize wow okay this these guys mean business and people really you know they get really interested and it's it's a great recruiting tool on top of that having having this code in the community you have folks that look at the you look at the codes fresh pair of eyes or actually more than a pair of white people looking at it mmm lots of pairs of eyes at least yeah exactly and so you have a lot of people a fresh look at the code and they might see wait a minute why you should do this and you get the pull request coming in and and that's that's how we we actually improve we we have this sort of ecosystem that's forming around around the product and it increases adoption it's it's sort of uh you know like the analogy that they use where you know you put more water in the lake and all the boats rise mm-hmm situation doesn't kind of create more fun for the group itself like well no some people receiving pool request like it is it's great yeah and it's it's great to see and I mean I'm the FCC cop you know through the email comments whizzing by there folks are you doing doing the the pull requests and all the you know commenting back and forth and yeah that definitely I mean it's part of connecting with the community and and also you know the work we do you know we know that okay this I mean we have an impact within the company but also the community at large great so I would say I would wrap up with kind of the question for the you know this end of the year everybody's making forecasts right you guys are growing on cue video did a great talk at Scala by the bay about kind of that you know language matters for engineering also her she kind of explained how scholar that she really pan out for ank you so how do you see you know the next year evolving how this is Carla kind of playing out at on cue and horizon general I I mean we we've totally invested in Scala so I mean yeah I mean we're we're continuing with that I mean we're we're constantly looking for looking for you know great folks to add to our team I would say that for for me I I see an expanding role of functional programming pure functional programming in particular being played in the industry I really I really do see that it's something that as more people catch on to how powerful it is and how it how it it completely it it just completely opens doors opportunities of you know just building building software or more reliably and a great greater greater speed I think it's going to reach a point where it's going to become the standard in the industry down the road it may take some time because I mean the adoption dot it's a steep learning curve but it's one things as more people grasp on to it it's going to be it could become not just an optional thing anymore cool and for you you know you started speaking at this of scholar and kind if you you know you're you get this talk I think it's caliber and it's kind of having fun doing this and you have plans to to present it next year and just you know plan to speak next year how do you see kind of join the community called you see this helping you and helping the community well you know I I like I said I started by attending meetups and I I went to to Scala by the bays actually should say three if you count the Scala symposium today a South Bay I've been all three of those I actually attended the first my first Scala days which was here in San Francisco this year mm-hm and I I guess it just kind of seemed like a logical next step for me I am and that really is sort of triggered by the fact that not only to have really gotten deep in the scholar but I've started to realize just as I've spent more time with be a pure functional programming in Scala Z mm-hmm dad okay there's some really exciting stuff here that I'm just bursting with this and III have this you know the ID sub talks and just to show show people how amazing you know how amazing this library is category theory is of course cats as well and and yeah so it's that that's kind of my my take on it all right so we're looking forward to your talk and you know we should you a lot of luck and motox in the coming year you know happy to connect with on Q community and thanks thanks thanks a lot thank you [Music]