Devreal

SF Scala: Jason Swartz Interview

SF Scala: Jason Swartz Interview

Recording: SF Scala: Jason Swartz Interview

[Music] hello everybody I'm Alexey Krylov we're here at SF Scala meetup at Oracle cloud infrastructure Oakland and here with us who have jason's wars with the co-organizers of SF Scala a long term speaker at our meetups and conferences and now he comes to us in his function in his new role relatively new role as the lead engineer at which each team he is a speaker at tonight's meet up but we're catching up after after a while so we're gonna ask Jason what's up in in in his world so Jason tell us what's what's happening at which well twitch is big people people really crave well not just games I mean everyone likes games but I think people really crave being part of a community they like to say okay I'm playing this game they want to be with other people who are doing it they want to they want to learn from experts we're really good at what they're doing and they want to meet them they want to have you know in twitch that takes the forms of bits and cheers and subscriptions and many other forms I think it's isn't that a little bit similar to having developer conferences like scale by the bay almost like that if you accept your soup thinly or a couch and you see it right and I guess it conferences you know you don't necessarily have to throw money at people right but they appreciate it so maybe we should think of something immediate conference when everybody sees on the couches and we yeah and if you're really good you get bits thrown at you and cheers and silly emotes so I never used to so can it just tell you know for those you know audience members who didn't use it what's the key to it is it basically this TV channel you can see a video we have tens of thousands of streamers around the world who are streaming mostly right now games but you see the person you have them talking they're playing with other people and you can be a part you can join them you could talk to them you could send the money you could actually interact with extensions down be part of the game you could get an overhead view of what they're doing or you if you're there playing hearthstone you can copy the deck they're using and try that yourself but we also have people who are doing things in in real life we have a lot of people who are knitting and crafting and sewing and cooking actually I was gonna try to find a functional angle for that but I'm not sure that part of work but you tend to want to go see people who are really good at what they do and learn from them interesting so it's a video stream technically so is there a separate audio stream or is it a part of the video stream oh it's a live audio video stream mm-hmm we'll have someone in France for example playing a game like fortnight they'll be talking about it their computer will take the image of them and the screen and push it up to our servers will process it will clean it up will transpile it convert it to different video formats and different bandwidth speeds and then send it over to someone in say Indiana who's watching on their ps4 within about five seconds it seems there's a lot to deliver and so HD means you're living on the edge oh yeah we get all the requests oh that near and dear to your heart we we have graph QL services that help run all of twitch and we get about 250,000 requests a second I need to figure out how that maps to graph QL queries across hundreds of internal services yeah and not just I didn't know about this until recently until not just a talk and that's really exciting to me right because graph kill is obviously kind of set in the world from untyped JavaScript but also I find that back-end people jumped on it for instance we have talks from Twitter medium into it and create karma apparently they all use it for different reasons so it looks like people just now take it as some kind of middleware to connect back and this doesn't necessarily mean JavaScript good for something else well it's just it's just it's a query language it's it's a bit hard to use databases without some form of SQL and similarly it's a bit hard to really efficiently get a lot of data for your page if you have to just use fixed REST API is a lot simpler if you can say here's exactly what I want to build Paige mm-hmm so so you gave very well-received historical now talks about api's muscala right so and now you have graph QL and obviously it's been in a couple of years so how is this space evolving how do you see you know graph QL kind of being more you know easy or harder versus arrests how do you see this transition well I think I think the basics of understanding rest are they're pretty easy but it really hasn't improved in a while I think at twitch we actually have a combination we're using a lot of we have our own gr PC version called twerp which happens to work really well for us so we can get a lot of binary connectivity going and reduce a lot of the chatter that you have with large JSON payloads but graph feels great there's actually graphical summit just finishing today in San Francisco Apollo has some amazing tools for a wider range of editors and we find that the schema linting and verification is getting really really sharp now I expect more companies to be getting on board with this interesting so can you tell us a little bit more about your stack what's the second wish what does it look like well that's interesting we were originally a Ruby on Rails shop that helped to really build out justin.tv right now we're actually big on go and we find that everyone across the company is able to read and review each other's PRS it's nice it really doesn't take it doesn't take a long time to really get up to speed and learn it I don't think what I don't think that what we're doing by itself is really that hard it's the scale which is more challenging right now but we find it goes great it compiles to executables when you actually run in docker it's no different from running Scala or PHP or nodejs or anything else and dr. people and develops people know they love go right because it's kind of language of choice for a lot of cloud native stuff do you find it helps you in integrating with develop some infrastructure yeah for DevOps we're definitely in to terraform in HCl mm-hmm there's actually some new AWS project which i think is commonly known now there's going to be a java-based library which will actually compile to transpile to Confirmation so if you've used Confirmation and said wow this is kind of unnecessarily big it's not it's not going to be an output format from the transpiler so I assume that there's going to be some good scholar wrappers coming soon to define your whole infrastructure I'm looking forward to getting on that huh so are you able to use some scarlet which I can when I need to definitely I'm going I want convert my terraform HCL files over to use Java or Scala and start generating cloud formation and really reduce a lot of the effort that comes with building infrastructure on AWS interesting interesting so will claim dibs on the talk when you do that yeah so see you guys on Amazon we're in a Amazon company yes okay in the username double yes for yes right was it before acquisition or post acquisition I think even before I think the big thing is this is a great view I think it was wonderful to have Amazon acquire twitch is growing and growing and growing and we want to find good ways to monetize this not just for us but for the streamers we want streamers to make a living it's actually very similar to my time at eBay where you had buyers versus sellers now we have and you want you had thousands of people having their own business and running it on eBay and we're looking to see the same thing we want to have streamers have their own businesses on Twitch and we want them to sell things and monetize and make it actually a real commerce platform so I think it's wonderful to have the backing of Amazon as we start to build it out and say we're gonna make it a rich fair environment for both the streamers and the viewers interesting so I love just a very since phenomenon in the programming world right so I follow a lot of folks on Twitter from all around the world and so recently there is this new thing where somebody says watch me I'm gonna call tonight at 9:00 a.m. I'm gonna do a full PR to spark right so so and and and somebody else has okay like I think he's a famous game developer and he says you know like I'm the most successful game developer ever and you can be just like me till then I'm gonna call this whole game from morning to till dusk right and so so apparently now it's a thing where developers can wish other developers move Mouse on the screen and we're like googling documents I've always wanted to learn how to Google stack things on Stack Overflow and oh do they also teach how to copy/paste back into code I think so well the big thing is for me it's the commentary and well actually the really big thing is its interactive I've I've seen after dark and a few other twitch streamers show off some things I think after dark is demoing how to write to OpenGL and other 3d apps and go which is kind of fun but there's a wide range of different coders the great thing is you can get on the chat and ask them questions you can subscribe and send bits and say hey I'd like you to answer this question for me and they're there to help I don't know of any other medium where not only can you watch and get what they're doing fullscreen but also talk to them so I think you know we're on the verge of something new so like I'm immediately thinking right like let's say you have the coding guy working the code base you care about you can pay them to fix the bug you care about right there maybe like change the formatting right maybe it's like change the style or call the variable something else so you can actually affect something in the code I care about through this medium I'd like that I'd like the idea of reaching out of having a community it can be really hard to get started with programming I love the idea that people can come together and chat and have someone who's leading them through the instruction but then after a few minutes I usually switch over and watch ninja play fortnight so I'd like to wrap up with the community obviously where the meetup which is a community what does switch do in terms of software engineering community is the open source work is there something you need help with from the community so how can we connect it back to the community large that's a great question I don't think we have a lot of open-source offerings but I think we'd like to we did just have a full twitch developer day at twitchcon last month mm-hmm because we have a lot of people who are we have extension developer kits we want people to write code that runs in JavaScript right on top of twitch but I think it'd be great to open it up and give back to the community and I know that you start the middle yeah we had the first twitch engineering meetup yesterday we wanna start talking with fellow developers in San Francisco and share some of the interesting things we found so awesome so find this meetup journal and thank you Jason for for sharing with us all right thanks for having me Lexie you