Scala meetup Dick wall interview
Recording: Scala meetup Dick wall interview
[Music] hello everybody uh i'm alexi krauber the organizer of sf scala which is the largest scholar meetup in the world and here we are on location bloomberg and today is a very special presentation we have with us dick wall who is actually the founder of bass which is bay area scale enthusiasts which was the first meet up in the bay area probably around the world and now it runs a scalable uh and i think together we actually have a lot of most members overlap uh so in some way dick can be you know thought of as a father of the scholar community we're very happy to have dick here welcome thank you thank you alexei that's great thanks uh so i'll just ask you maybe about the history of base can you tell us how it all started uh what prompted you to to organize this and how were the first days before in all the meet up and community became you know a given how how was it in the original days oh well um uh gosh i supposed to go right back to the beginning it would be uh i was doing the java posse and uh around about the time that we were doing the or just started the posse there was a lot of interest in other platforms and languages and in particular ruby and ruby on rails was this super big thing lots of people were portending the the doom put or claiming the doom of of the java language and uh there was a bunch of people myself included that were looking around to see if there wasn't something better available and scala was one of those early ones that emerged as sort of a promising promising language uh the problem though at the time was there really wasn't that much to learn from there was a couple of pdfs there was a very early version of the book and there wasn't much else in the way of resources to learn from so i kind of did what i always do in that situation which is try and get people together that are interesting that i can learn from and that was sort of the the idea behind that was sort of the the birth of uh of the bay area scarlet enthusiasts or base i think we came up with the meeting with the name while i was still working at google one night and uh kind of stuck from there google was an early sponsor uh held it on on campus uh but then it sort of grew and and took off fairly well um i remember the first time we had martin odersky talk and it was standing room only at twitter i think it was we ended up or something like that was a really it was a really big deal so yeah it's it's been a it was a good it was a good experience setting it up man it's been a fun ride so can you tell us about the some of the companies and people who started this obviously twitter was one of the early entrants you mentioned what what did it look like what kind of questions people asked like you know it's it was the very beginning of i guess of usage of scala and what did people wanted to talk about yeah definitely i mean twitter obviously famously got a lot of attention for scala they had the uh the well-publicized problems with scaling ruby at the time and scala was their great hope for improving that performance and still getting a high level language that they could work with i think if you actually look back at the companies that were very formative for adoption in other companies you'd have to look at some of the early big business adopters uh definitely i think it's efl the um uh the french well very large european energy company and uh office depot i remember or was it home depot one of the other actually i i forget now but those were big businesses that weren't just chasing the latest hot language or the latest hot technology they were looking for something that would actually save money uh improve time to market that sort of thing and it got a lot of attention when they got those obviously linkedin was a big backer early on we had a lot of meetings at linkedin and you know we've just been very lucky i mean it's scala's well past the uh the phase of is it gonna is it gonna happen now uh and it's now a case of many many companies finding uh a home there a competitive edge there that sort of thing uh certainly not hard getting uh venues or backers for scholar meetups anymore is it not at all yes actually uh you know uh not only it's not hard actually we have to be very fair because for instance when we did the micro services meetup we had five big companies vying for the uh right to hold it and the the reason they they want to do it is twofold first of all they want their local engineers to learn from the experts about the topic which was basically microservices apparently everybody wants to implement them uh and second uh and nobody knows what it is so first you have to define it and but the second people want to hire scholar developers so one of the other reasons uh you know we're welcoming in a lot of places is because uh i think the skull engineers are very thoughtful software engineers and they kind of uh generally considered one of the best ones um and also spark is bringing in a lot of attention so for instance bloomberg where we are here is uh using spark right now and folks kind of now realize that spark a skull inside so i want to print this sticker instead of intel inside saying skull inside and plaster on every spark mentioned so people know more about it so i i was fortunate i caught you know you uh talking at uh you know organizing base at linkedin uh and uh you had the defense injection uh uh software in scala which you talked about so uh uh so so tell me a little bit about you know how do you come to scholars you mentioned java posse uh also one of the scalawags and maybe for folks who are not familiar with that maybe you can kind of uh trace your community history arc before scala and how you got into base and how that progressed and what you're up to now give us a little bit of the community history sure well okay yes so let's uh let's take that apart i guess uh starting with the java posse because that's where a lot of this stuff was rooted and it was actually carl quinn of the java posse who uh introduced me to the scala language the first time and i was actually went to work for google met martin odersky at uh java one uh he came up actually gwt was big news at the time i don't know if you remember gwt and uh this guy comes up and starts talking to me and uh i've been i've been talking a lot that day uh you know what booth duties like at these kind of things and uh this was a really interesting conversation i have no idea who it was and about 15 minutes in i asked i i plucked up the courage and asked who are you and it was martin odersky and uh of course i knew who he was because i'd been using scala so we had a good conversation after that and you know many years funny how things turn around but many years later that conversation the the topic of that really came to fruition in scala.js there were early moves to try and get scala to work on javascript but it fell by the wayside for a long time and then got picked up again and strangely enough that that was pretty much what the conversation was about gwt was an attempt to take java and run it in javascript and what we were talking about was the same kind of idea for scala oh yeah yeah i mean it's a great it's a great um second platform for uh for for running scala code now we've got um scala native as well of course uh starting to come in uh as another option uh so yeah so uh really with the the java posse we were still very good friends all four of us uh actually five uh because chet uh chet haas joined us as well at one point uh but eventually we all sort of just uh spread you know kind of um drifted off to the winds and none of us were really doing java anymore chet and and tour obviously do uh android which has a lot in common with java depending on who you talk to and and what lawyers are in the room at the time but uh as far as the rest of us went it was sort of a natural drifting away to other things so we let the we let the java posse go but i discovered that i was restless without uh a podcast to do so i approached josh uh josh suret and daniel spiwak and said hey would you guys be interested in uh doing a scala podcast and uh that was the uh kind of the birth of the scalawags it was actually a segment on java posse the scalawags before it was a separate podcast and now we have seth tissue and uh heather miller of course as the the other regulars on there although i say regulars we haven't recorded in a couple of months we probably should do that everybody gets busy so yeah oh yeah they'll when we get together we tend to do them definitely there's there's no excuse not to then it's the set it's the scheduling at other times that becomes tricky so what were the other parts of your question now i've waffled too long on that and i forgot the other parts i think you actually had several roles you were uh type save developer advocate so uh so i'm just wondering you know as kind of old canon community what did you see how did you see community evolve what are kind of the highlights of the community well i've always been involved in the community yeah it's a kind of a habit it's a maybe a bad habit because it tends to take up a lot of time but i was i've always been involved in the scandal community i always resisted really getting involved with um type safe uh and and stuff like that uh bill and i formed escalate and kind of uh went our own way forged our own path uh but eventually um uh type safe as it was at the time came to me and said would you like to be uh sort of a community uh community advocate i think my uh actual official title there was um developer advocate advisor and i wasn't actually an employee i was contracting with them but that ended pretty quickly uh and still sort of wonder if if maybe they were expecting something different from me then i than i did there uh but as a result of that one of the things that i worked quite hard on while we were in there was trying to reboot the the sip and slip well the sip process and introduce this idea of slips as well for for library improvements because the whole thing had stagnated in it and a lot of people had lost confidence in that i tried to keep that going afterwards but it was a lot of work and it didn't seem to make a lot of people happy i i found that uh the the the typical outcome was more and more people getting upset at me i didn't really have the time to do the job as well as i'd like uh and i got busy with a couple of different startups and stuff like that so eventually i realized i wasn't i wasn't digging it anymore i wasn't really having any fun about the same time i started getting into working on enzyme which is what i'm here to talk about tonight with uh particularly with um uh sam and rory uh same holiday rory graves and uh i was having so much fun with that that i i basically sat down and thought you know this is what i want to be doing this is actually what i you know this it still benefits the community it's not big it's not brash it's not showy it's just something that really matters to me and i started doing that again and it was for me it was totally the right decision it just made me very happy since then my community side i've been feeding and i'm going to do a little bit of a shameless plug here as you know i love scala by the bay and i'm fully supportive of that we also i got pulled in to help with um another conference devoxx usa is going to be run for the first time in the us so devops is huge in europe i think you i think you know it's a massive um event there and we're going to be running it in san jose all right down in the convention center in san jose march of next year and we're really hoping we're kind of going for broke on it uh it's it it's true that not all conferences translate well to another continent and so we're really going to try and make a go of it and if it works that will be fantastic if it doesn't work it'll be another one of those conference that huge in europe but we're really hoping that it's just going to be a massive kind of success here i'm going to be looking after the language track there will of course be scala and and other languages many other languages represented i'm looking for people to come talk about elm and pony and uh go and and rust and yeah that you know we i'd really in in my ideal world i'd love this to be sort of a just a showcase of there's a whole bunch of and and i don't know i'm i'm talking too much but one of the things i really like about the whole software development community right now is that java was a fantastic language it still is a fantastic language it was a absolute phenomenon how it took over but the downside to that was we became very homogeneous as a developer community during that and now suddenly you know all that pent-up energy is leading to loads and loads of new experimental languages it's a wonderful time to be a software engineer because there's all this choice and diversity and the real tough thing is finding it all now scala was a huge part of hey look at what a language that builds on top of all these other languages but pushes in new directions can do and now we're seeing more and more of that we're seeing elms and ponies and rust rust is very interesting it's a functional but low level language and and so i'm very excited about the way the whole thing is going and the um you know the kind of excitement of course dottie is uh martin and co epfl hard at work on dottie the the replacement scala compiler eventual replacement scala compiler and so there's another yeah yeah exactly so yeah it's it's it's great um it it worked out well i i think uh in in hindsight i wonder whether i should have just stayed where i was community wise but i think it was worth trying to get the slip and sip stuff rebooted uh it was just a lot of work and um seemed to upset a lot of people so i gave up on that once it once it appeared to be more of a roadblock than a uh than an aide well i mean it's it's a learning experience i remember you advocating you know asking the community to step up and and take issues and i think uh it's probably hard to organize because you know everybody has a day job and so as much as we want to uh encourage everybody i think now i think like scholar center is the you know nth iteration of this and it has a standing staff and i think that i think they uh the work you've done is definitely helping to define i think the new process right and i think we're going to get it right because now we have uh we have uh five companies on the board uh actually i think sixth and uh we're hoping more will join and so i represent nitra which is one of the founding members uh along with ibm verizon uh goldman sachs light band right and by the way i took a liberty of kind of reclaiming the word type safe as a noun as an adjective so you know when people refer to the types of advocate i made a little type safe dot io uh link where i define that that types i've advocate is somebody who advocates type safety so you can always refer to yourself and anybody else right uh as the types of advocate now so uh so basically um you know i find it's very cool that that you're kind of you know developer developer because you do things which are interesting to developers because you know remember like the first talk i've seen by you is about depends injection which is the thing which will stay you know basically recurs all the time and now you're basically dealing with ide which uh kind of like enzyme is a kind of portable ide which you can plug into your own editor right and basically you kind of you're going to the root of a programmer's day because basically a programmer lives in his editor so people are attached to vi or max uh right it's it's a very important part of the day which a lot of people don't understand and kind of that's why uh for whatever reason uh uh uh scholar world is dominated by intellij so i noticed essentially at nitro everybody use intellij uh both everybody but what i noticed that even in companies where people start using intellij a lot of developers who become very proficient in scala they somehow find even of the younger generation who did not grow up with unix you know on deck and things like that people somehow find their way to vi and suddenly like learn all the vi ways from the past and and then they find all the modern plugins and so i'm wondering kind of right so now you live in the editor world uh what patterns do you see and why would kind of even kind of new generation you know issue via intellij and find their way back to vi and then look around to find something like inside oh it's it's a it's an interesting question one that i ponder a fair amount uh i think that gosh uh probably one of the main things that it as you get as you get really familiar with the tool um some of the some of the edges some of the rough corners really start to irritate and uh intellij is a fine fine ide and i still use it um in fact i fall back to it enzyme is very much under development right now and uh when i just need to get some stuff done if enzyme's having a bad day i'll switch back to uh intellij for a little bit just to get the work the work out but i i do find that there are some some interesting choices that have been made by default the just some stupid things like the uh default indentation in intellij is crazy nobody would indent like that and it's actually quite hard to go and find the settings and change them back to something sensible another one that has and i think this is probably where most of the uh heavily seasoned developers uh find it difficult uh intellij doesn't use the scala compiler it has a another implementation of its own and while they've been tracking it very well and they're very responsive to to you know differences and stuff like that as you get very deeply into the type system you start working in a lot of monets and four comprehensions and stuff like that you start to get false positive errors in intellij you'll start to see perfectly valid code start underlining in red yeah and i think a lot of scholar developers find that off-putting when they get to a certain level i know that's what that that was one of my problems the nice thing about um in particular uh enzyme and stuff like that is that the build tools you're using are the the real build tools you're using sbt to build things the enzyme is based on the presentation compiler which is the first few phases of the scala compiler so you get while it's not perfect still you get far fewer false positives or inconsistencies with yes basically it's it's a lot closer to to what you want to get so i think it's that i think the other part of it that appeals to me greatly though since i've been able to switch to using insight full-time and i'm a sublime editor guy personally through choice i just love sublime uh is that when something doesn't work i can get in and fix it and actually fix it fairly quickly i i arrived up here a little bit early and was sitting out there and i managed to fix the scala dock for well not really scarlet the javadoc browsing in enzyme while i was sitting out there i noticed it wasn't working when i did the last of these demos coming up here reminded me and i'm like oh that should be an easy fix sure enough just kind of got in and fixed it and having that level of control and power over the tool you're using is you know it's it's scratching your own itch it's the it's the open source way uh i work in enzyme as much as i possibly can so that i can feel all of the pain and then i try and make it less painful and and fix things up as i go i also like the speed of it i'm going to ask you one question because i i haven't used it recently uh and you know the reason i kind of stopped using it when i tried is that in intellij you can do command b and it will take you to the body of any definition including the library right so if i'm using one of the java libraries which i'm not using a lot basically for me it's a very good way to actually understand what this java thing is doing and inside was not doing that right it will take you to the definition in your own call base but it will not do that for the library does it do it now or is it easy to do so when you when you generate the enzyme config now it downloads all of the sources if they're available from maven some some are not still you know you still get uh poorly published maven artifacts and things like that that don't have the sources but if they are available then yes you get the uh you get to browse through the code you can click through to java code as well as scala code yeah all of that works class path search is not implemented in all of the editors yet and in fact uh it it is missing from uh from sublime's implementation it's on my list of things that will be supported but control click will take you to anything that you've that you've got already and there's other options um the reason it's not fully supported in sublime sublime has this wonderful control p option which will browse pretty much everything it can possibly find it you can go and look up any token that it that it knows about including stuff in scanner and java libraries and it will take you straight there so that basically it comes down to the fact that the pain is not high for that yet and class path search will be implemented uh but there's you know like i said there's alternatives i tend to hit the things that are really painful or missing first obviously uh and and fall back onto the other the other stuff later so cool so i think i can probably ask you uh questions forever so we'll probably do a second installment but you know one thing i want to kind of close with is obviously the future right so i can tell you from just finish you know like we finished this color by the bay uh schedule and we sent a notification so this year uh it's the first year when essentially the organizers did not have to invite uh anybody so we used the first conference you know i had personal invite 20 people in 2013 to until on the short notice all the meet up speakers and we put together a program uh and and now we have you know 85 talk schedule with companies like twitter obviously credit karma uh uber uh databricks confluent with kafka and uh you know big companies uh upcoming you know unicorns uh multiple small startups legal startups data mining startups microservices galore right so we have really huge spectrum twilio right so so there is no doubt in my mind that scala is entrenched in industry people come to it for all kinds of things but i'm really interested in this devoxx angle you are proposing because i'm actually very interested in in more languages than scala myself right like the all these folks we see a lot of cryptocurrency who gets called jobs but they like haskell uh we have folks you know who experimented for us because they need to be down to the system level uh right we have folks coming with closure uh you know people kind of uh trapped inside of.net who kind of reach for f sharp and things like that right so so we have a lot of and so i call them the i'm kind of trying to understand what is the common feature of all these people so i came up with the approach of you know i call them thoughtful software engineers right they kind of so uh i usually see their features they they kind of step back before they do something and they reason about what is it they're trying to achieve and come up with some kind of metrics of success and metrics of consistency right so types is a very kind of typical thoughtful approach also there is continuous integration and testing and things like that so i'm kind of wondering but but we're kind of divided because if you're on jvm then you need to invest many years and a lot of kind of time to learn the the skills and that kind of precludes you from very quickly jumping into something like rust which is a whole new thing or even f sharp then because you it's not enough to learn the language if sharp is as beautiful as a camel maybe sometimes is better but then you cannot just program enough sharp you have to learn microsoft frameworks right and if you want to program on ios and swift then you have to learn about everything about os right how can we in kind of increase the fun of programming how can we make it easier for somebody to try new things like what what this community should do like is there kind of any interesting way to kind of explore all these different things uh what did you observe like among the people who tried different functional programming languages and maybe who tried like uh uh you know ios development or whatever oh that's a tough question because i mean there is so much there's a you know there's ever more to know uh the amount of the amount of knowledge out there is increasing exponentially you can't you can't learn it all you just have to find what interests you and stick with it i think that's that's what it really comes down to if something is interesting give give a bunch of things a try uh if something's interesting then dig into it further i i never worry about what i'm missing uh i i only think about what i want to learn next i have a long list of things that are on my to learn uh some of them i might not might not get to uh hopefully one day i will as i get time but uh yeah if you worry about all the things you might be missing you'll turn into a nervous wreck so you can't really do that you just gotta choose choose what makes you happy and and go do it and i think that's the the real uh lesson to take away if something's not making you happy uh then go and figure out something that is because you know it's it's kind of a kind of a good philosophy on life then don't don't waste your your time making yourself unhappy all right on this great note uh thank you very much dick and we're looking forward to your to your talk thank you thanks [Music] you