SF Scala: Grzegorz Kossakowski Interview
Recording: SF Scala: Grzegorz Kossakowski Interview
[Music] hello everybody I'm Alexa Krab Ruth organized the office of scholar here or a location planned up and for the first time with us we have Jaquish Sikorski who was one of the compiler team members at typesafe now I'd bent right so he's a scholar C guy and now he's at stripe he works from developer tools yes and he's going to talk today about the notorious Scala compilation efficiency right so can you tell us a little bit if a very interest medium I highly recommend everybody read this it's very interesting and it's about the technology and life moving in San Francisco can you tell us a little bit you know like how you went to typesafe how did you end up working on the compiler what did you do after that and how did you end up a stripe yeah hi I'm Josh it's where do I start I guess I have a pretty unusual background overall and kind of the story it's my second time living in San Francisco I but going back to like the beginning I ended up first at EPFL or even light Bend existed company and so kind of the story goes is that I was a bored Java programmer mm-hmm I discovered Scala on the internet by accident mmm-hmm started working on some projects and then I was so kind of enthusiastic about it that I kind of demanded from Google that I will go to for internship with them only under the condition that I will be doing a project in Scala Wow which was very like the recruiter of the times just like that's a difficult guys because like they don't at the time they were not doing Scala and I don't think it'll do much but it was just sheriff there no no no that the time it was like way back in the day in 2009 and but finally she found one guy I named Alex spoon yes you might like some people might recognize him from the book the Martin co-wrote with Bill vanish yes and it's a third person on that right on the cover and he was basically the only engineer at Google that would like the interested in doing a project in Scala so I went there in to Atlanta I enjoy myself over there for a summer went back home to work so and I think Martin and legs were talking to each other and connected me to Martin I actually like didn't even like when I got the email I it was so far far fetch idea that I would join the team work in Scala like I just felt like impossible dream but I got an offer to come and visit EPFL and eventually that turned into a master thesis program and like you know and kind of the story continued and when Martin decided to restart the company I joined that was during the time I graduated this is very sorry because now I have their you know final confirmation on video that Lex spoon exists because you know he's the only person who never we've never hosted him at our conferences all right dude weathers is a local guy who gives excellent talks and Martin keynotes scale by the band by the way he comes back to keynote the scale by the way 2018 at Twitter which will be his first time so we have two co-authors of the staircase book we haven't seen like spoon if you know likes if you hear us if you said please come and give us a talk Hotel Atlanta because like we really need to collect all the authors of the staircase book right so that was very important so what did he do with likes at Google I work on Scala quit project the Google web toolkit my project so the idea was to replace the Java back-end with Scala and its color front and with Java front with skeleton so you write Scala code and compile it to JavaScript it was fun project for summer and it was also very useful for me to understand like how to not build Java Scala compiler ah and I like that was the biggest contribution I made at EPFL is like gave the talk and it was clear to everybody that that's not the way to do it so the negative result was also a result yeah I think I I think that was very good negative result and I got to learn a ton about the compiler so how then did it proceed so you joined the team at the FL did you move to Switzerland yes yes I look I moved to Lausanne mm-hmm and at the time I I was actually very skeptical of moving to Switzerland because I was deep like I deeply believed in America yes I was like that's my where I'm gonna go and Switzerland was I only knew like is a country of expensive watches which I wasn't really interested in and cows yes like roaming freely freely in man chocolate in chocolate but like somehow I didn't associate in my head I was pretty ignorant actually looking back and that it's a very like strong country in in research and academia mm-hmm so yeah I'm when they're moved there and kind of like after two weeks I realized oh I got like won a lottery ticket and kind of dead I realized that it was really good that I didn't reject that offer to move and how long did you stay at the be home that was a year two semesters that's when I did a bit of research and and I kind of resulted in master thesis so what was the state of the scholar see when he started working this what was the stay together yeah how do you finally uncut like believe it you know like ah yeah I also was at EPFL I didn't work directly on skocy mm-hmm so kind of like when I was doing the internship with likes that was very involved in the kind of the compiler work then I switched gears to more of a research topics on light with modules paging mm-hmm so that's what I worked on and I was kind of a little bit removed from a kind of the state of Scala see only when I enjoy typesafe kind of that was my main work okay so you're the scholar C team as a part of that player yes yes well then I can like talk about like okay okay and typesafe so tell us how did you proceed from so if he follows the research setting and right they worked on skull as a research project yes which kind of reflects his keister because it started as a research project because anyone the types I wish like its industry in this story right like its yeah like an a transition from research from academia to industry yes right how was that like did you want to go the industry did you have enough resolution that kind of no I really wanted to do that startup and it was a start after like showed up in front of me and I was like and I loved work in a programming language so kind of the idea that I can continue work in a programming language and have an experience of a start-up at the time kind of sound like great and also they people or it was clear that we would have to build some Francisco office and I wanted to move here it was like everything it's kind of like pointing in the right direction right all right so yeah that was the reason why I joined so was it when Paul Phillips started contributing did you see because the Katherine Miller was there and she told me I think it's one of the talks as a scholar that the team had to kind of build a special UI to review of the past which Paul started sending like suddenly this this source appeared did you see that happening so I joined when Paul was pretty established already so I don't think I've seen the transition of like oh my god we're like you know a group of people who in the same room and we couldn't know each other and they're like this stranger from the internet really that you know starts sending a lot of patches I think at the time by the time I joined they they kind of like already assimilated that idea okay people will be saying that and he moved the project to get right that was the move to get I'm trying to recall I was involved in that mm-hmm but whether that was a type C for EPFL I can't remember I think it was at EPFL as many people were working this agent Morris was working on it I knew get really well from my previous internship at Google the other one that with likes so I knew like get internal three well so we kind of like I hope with that um and yeah it was it was just a lot of people involved in the process and Paul for sure as well kind of like what would be the finals stayed in shape he had strong opinions on that yes which is great you know like with alcohol he also is a real speak here so cool so I mean this is not for the faint of heart compilers write compilers are really the most complicated pieces of machinery how do you I mean they're to work in a compiler it's like it's it's it's the cars bravery right like most people look at it now we can look at open source code of the compilers yeah I don't know how many people stay there right because obviously everything depends on everything else and then it takes like years so how do you approach it do you kind of how do you internalized it did you look at the whole code do you stay like tunnel vision what I need to do for today for next hour how do you deal with this code base so my approach change over the years like at the beginning I was very confused and Lex was extremely helpful because he's a good teacher and I had like one-on-one interaction with him for first couple of weeks like everyday mm-hmm and he was I was a very patient like I kind of looking back I was very naive and he just didn't I don't have like formal training before I came for the internship and so I approached it as any other like software project I used to do quite a lot of hacking on Apache so for nation projects like some of the Java ones and kind of there was a complexity cliff you know compared to like regular Java programming and then you go and hack on the compiler is just such a big gap that kind of like jumping in and figuring out without theory is very difficult so you need some basics basic understanding and then at some point you build the model there's this typical split between front-end which does more of type checking and backhand which kind of translates to the low-level target like bytecode and these two are pretty separate so you can focus at least your attention to be you know a half of the compiler mm-hmm and then you kind of drill down to whatever you're interested in interesting so and you know I I can't you know it's like worthy of that like this is we can go on forever but we are local guys so I'll kind of scope it for now you know we're not going to stripe things because we'll leave it for the next talk right and and but I would kind of end with kind of gin okay so we're gonna have you know you talk about the compilation speed but I think this is exciting times in in scarlet community because we have so many different things because ecology is we have asked our native we have reasonable Scala and Twitter with Eugene boricuas working on and gonna present at some point when they have you know significant progress and we have Gras Twitter which also in kind of it supports you know better speed for scholars are so Scala kind of this is really good kind of going places so but obviously we have things like rust which are eating into the micro services stack lookup Swift right and so we have kind of caught them and so have a whole bunch of different things going on right and kind of scale complexity and its stall speed of compilation is also often comment against that I personally and never understood this because I programs in force from originally and when you know you get one shot a day because you you know right punch cards so you you know the conversion speed does matter like you write code correctly right and compiles right and so so an obvious colors complexity people think so I never like it's not Ruby you don't program it by typing and and seeing that it's it's not like squiggly line under that yes right like this is not normal I mean so so my kind of one question is first of all why is it such an important question but I personally again you know it's not like I don't think this is an important question is it reasonable like it compiles lose in a minute you know it's fine right like it's it's I mean again but then maybe for large teams and large code base is important right so what's but but also you know because you kind of address and very important like a system question what is exciting for you like how this kind of gonna help with a larger picture of a dog show Scott mm-hmm so I have two answers one is completion speed is kind of my personal preference in terms of like what I can contribute mm-hmm and I actually in the talk I'm gonna kind of give a reference to specific inspiration I have a bread Viktor who is a UX designer like provocative person in terms of like how he sees the vision of programming mm-hmm and I personally I always loved a like very interactive way of programming and to me kind of the dream the pipe dream is that you have the experience of dynamically typed language in terms of like interactivity without the safety of compiled languages and that's the what I am like personally driven by as I you know long term vision mm-hmm that's one one thing and I think you just build a whole new set of tools if you have a quick turnaround for the compiler kind of in the data science world yes people expect that you change the code and the plot is there yes like 10 milliseconds or 100 milliseconds and if the compiler takes two seconds to compile like you just break that cycle yes so then they end up using other programming languages and it's a pretty detrimental to like Scala's kind of overall ecosystem mm-hmm so that so data sign is one one place where I would see a noisy connection with right now it's a connection of stripe but then we'll explore it later yes and and they're completely random and unrelated to completion speed ease which is like what's coming up next for me in terms of interests is I think we're in the golden age we are at the beginning of the Golden Age of computer architecture and this is driven by machine learning and like the demand for compute and Scala is almost well prepared but not quite there to be like kind of the language that leads the pack if I are in like how do you do machine learning this next-generation machine and and kind of a new computer architectures which will require big rear a redesign of the compiler so it's kind of also going onto the speed but like you have to redesign the compiler for that and make it parallel and more efficient you know this is maybe a good moment and veil our own local solar Global Initiative right so that 2019 is going to be the 15th anniversary of Scala and so what I propose to the to Martin and he liked this idea and it be felt him let's call it not the 15th 15 years of school let's call 30 years of Scala because we count 15 past years and 15 future years and so this is inspired by the 50th anniversary of computing it was celebrated by ACM Association for Computing Machinery so any arc is at your sponsor vania it which is under my old office when I was a great season there so when the 50th anniversary was celebrated Al Gore the inventor of the internet came and he turned on the ENIAC and it counted to 100 so this will bread it a hundred years of computing right so I I really like your vision right let's let's look at kind of stars kind of putting down the themes what are gonna be the next 15 years right so because if you have compilations speed then you can achieve you know data science supremacy and and everything else right so so really I think you know that's why this talk is religious and right for the community because it's kind of what are the foundations of improvement in the compiler so thank you for working with that you know really appreciate it and looking forward to talk all right thank you [Music]