The Changelog: Software Development, Open Source - Learning JavaScript and Bringing People Together (Interview)

Episode Date: March 25, 2017

Tracy Lee joined the show to talk about bringing people together, helping people, and making an impact. We covered learning JavaScript, the ins and outs of her road to get to where she's at today, hit...ting burnout and sleeping for two weeks, breaking into the JavaScript community, and the fun cruise, workshops, and conferences she's working on for the JavaScript community.

Transcript
Discussion (0)
Starting point is 00:00:00 Bandwidth for Changelog is provided by Fastly. Learn more at Fastly.com. I'm Tracy Lee and you're listening to The Changelog. Welcome back, everyone. This is The Change Log, and I'm your host, Adam Stachowiak. This is episode 244, and today on the show we're talking to Tracy Lee, serial entrepreneur, JavaScript developer, and co-founder of This.Labs. We talked to Tracy about learning JavaScript, the ins and outs of her road to get to where she's at today, breaking into the JS community, and the fun crews, workshops, and conference she's working on for the JS community.
Starting point is 00:01:00 We have free sponsors today, Rollbar, Hired, and Datadog. First sponsor of the show is our friends at Rollbar. Full stack error tracking for your JavaScript and web applications. And I talked to Brian Ruse, CEO and co-founder of Rollbar, about what Rollbar is, the problem it solves, and why you should use it. Take a listen. How do you build software faster? How do you build better software faster? And there are tons and tons of aspects to that.
Starting point is 00:01:26 And Ruby is like, you can have a better language, you can have better frameworks that help you be more expressive and more productive. So the flip side of that is like, after you've built something that works, or at least mostly works, how do you go about getting it from working to like in production and actually working?
Starting point is 00:01:40 How do you cover the edge cases? How do you find things you missed? How do you iterate on it quickly? And that's kind of where what we're trying to do comes in. So we're trying to say, after you shift your software, you're not done. You know there's still work to do. And we want to help make that process of maintaining and polishing and keeping things running smoothly be really, really, really easy. So developers spend roughly half their time debugging, right?
Starting point is 00:02:00 So anything we can do to make that process better is going to have a huge impact. All right. That was Brian Ruse, CEO and co-founder of Rollbar, sharing exactly why this tool works for you and your applications. Hit the rollbar.com slash changelog, get the bootstrap plan for free for 90 days. Once again, rollbar.com slash changelog. And now onto the show. We're back. We got Tracy Lee joining us today. Talk about learning JavaScript, the JavaScript community and all that.
Starting point is 00:02:31 And in between, Jared, we actually have a new show people may not know about yet called JS Party. We do. It's a live show. It's our second live show records every Friday at 3 p.m. U.S. Eastern Time. Come hang out in the Chainsaw community and Slack with us live as a record hosted by Michael Rogers, Alex Sexton, and Rachel
Starting point is 00:02:52 White. That is a fun show. We just have a few episodes out there, so subscribe, join us, and have a JS party every Friday afternoon. Every Friday. Tracy, have you listened yet? No, I haven't, but I love the fact that it's called a JS party. That's the best way to do it, right? Yeah. Do you guys have drinks as your Tracy have you listened yet? No I haven't but I love the fact that it's called JS Party It's the best way to do it right?
Starting point is 00:03:07 Do you guys have drinks as your party? There's no rules It's all virtual so it's BYO I wanted to do something called the shots in a pull request like we filmed one episode of shots in a pull request
Starting point is 00:03:24 and the shots were really disgusting well you know we weren't doing like whiskey shots or vodka shots it was like let's make apple pie shots and uh we submitted one pull request to jquery and then decided to give up on that idea i think the shots to pull request ratio is the important part because the more shots you get then the pull request quality you know and down, doesn't it? Or it could go up depending on who you're pairing with. That's true. That's true.
Starting point is 00:03:51 That's true. Some people get better drunk. I don't know. I haven't met anybody who doesn't. One of my friends, Jay, he's so my friend Jay Phelps, he's he's he's writing a language, a reactive programming language, and he's super into WebAssembly right now. If you can imagine this guy, he's super technical.
Starting point is 00:04:12 And as he gets more drunk, the more I can snipe him into talking about things. So the other day I was sniping him into something related to RxJS, and he went off and taught me about prototypal inheritance for half an hour. Nice.
Starting point is 00:04:29 Well, different strokes for different folks, I guess. You get him a little bit buzzed and he teaches you JavaScript. That's excellent. It'd be amazing to see him on a date like, well, you know, let's sit down for three hours and let me just teach you JavaScript since you asked about my job.
Starting point is 00:04:45 So let's give a little bit of your background, Tracy. First of all, thanks so much for joining us. You're a Google developer expert. You're a JavaScript developer. You're a serial entrepreneur, have started and sold a business. And you're the co-founder of This.Labs. So we'll be talking about This. and a lot of the cool stuff that you guys are doing around JS and community building. And you also say that you like to explore code in your free time and building the JS community.
Starting point is 00:05:13 So in light of that, give us kind of the recent history of Tracy Lee, how you got into this dot and how you got where you are today. Yeah, I recently met somebody that had a very similar story to me, Preeti at ReactConf. And we both came from, she came from the VC background. The way I got into JavaScript was I was selling my company about two years ago. And when you're like waiting for documents and paperwork to be finalized, you get bored, especially when you're basically going a thousand percent and then you're all of a sudden slowed down to 50%. So I decided to take a little bit of time off. I took three weeks off, did a week of JavaScript, a week of HTML, a week of CSS, a week of JavaScript. And then I couldn't take it anymore. And then somebody stuck me on
Starting point is 00:06:05 Ember. And I was like, Whoa, this is great. And I just spent all my free time writing Ember apps and getting excited about JavaScript. So that was interesting. I did that for about a year. And after I sold my company, I just, I don't know, you, I started another company. I didn't really doing marketing. I didn't really want to do marketing. I was much more excited about spending my entire life coding. So I, I started hosting events, doing random things, right? I sort of had a little bit of freedom, I think after eight years of pounding on something really hard, when you all of a sudden give yourself room to breathe, like anything's possible. And then last year, about a year into my coding adventures with Ember,
Starting point is 00:06:57 last year, I got invited to ng-conf. And it's actually kind of interesting, the framework communities and looking at how big they are. So if you look at Ember versus Angular, the community is huge. And Angular somehow Angular or like in Google, I realized that, I mean, I decided that I should probably be more of a useful human being. So I decided to start this thought media and really bring awesome things to the JavaScript community. We're really passionate about helping people. And just like, I think one of the great things is when you work for yourself, you can do what you want. Like you have more control of how you spend your hours. And so I'm very lucky to have a very understanding and passionate co-founder who allows me to spend most of my time, who allows me to spend most of my time playing around and trying to help out as many people as possible and you know i mean you guys know about contributor days and this dot javascript and that's sort of how like my idea of
Starting point is 00:08:53 helping the community manifest yeah being able to experiment is is kind of uh core to me i mean i think that's a lot of what we do around here j Jared, is like everything we do is sort of like an experiment to the next step, which is just reaching out to more developers and helping people realize they're not imposters and, you know, find new things and just enrich the community. And having that as an ability is priceless. You know, you have to have that. Like JS party, right? You just decided you want to have a javascript party well it was kind of like that yeah yeah to some degree i mean there's several months in there of it but uh the idea had been there for quite a while and it got to a point where we were just like you know with michael rogers behind the scenes talking about what could be and then one day jared's, it should be called JS party. And then it sort of just clicked from there basically.
Starting point is 00:09:48 Cause like once you have the name, the name, like anything in programming is, is key. It's kind of an interesting, like talking about just sticking things out there or just doing things and then iterating from there, you know, whether it's an open source project or whether it's just bringing community together right like i think one of the hardest things for people to do is just do it and you know if you fail it's fine you live again it's almost like people need permission to start you know because
Starting point is 00:10:19 like like you said there you know just do it It's the same thing as starting. But some people just they kind of get this imposter syndrome or this paralysis. Like, I'm not good enough to do that or people won't possibly listen to me or I could never or whatever they tell themselves to to just not do it. And sometimes people just need to hear from somebody else like you should do that thing. And maybe that's what you did with uh with this dot media yeah it was um i was i was having a conversation with michael jackson who created react router v4 and they just did a really big release and made a made a lot of pretty significant changes. But we were talking about, you know, this idea of, you know, they were working on it for so long and they were continuously making improvements.
Starting point is 00:11:10 And it's so easy to say, there's just one more thing. There's just one more thing. There's just one more thing. And at some point you just have to realize that you're just giving yourself an excuse to not release something or do something and you should just do it. We know that feeling, right, Jared?
Starting point is 00:11:25 Yeah, we gotta remind ourselves of that all the time. Are you looking at our playbook or something? Then you're like, hey. This is the inspirational conversation to get you guys to release that thing that you're going to release next week. There's so much. There's so much. We have big plans.
Starting point is 00:11:42 And I think the mantra that we speak to ourselves every time we feel like we have to go faster is to slow down. Yep. Because sure, everybody wants to go super fast. Everybody wants to do all the things right. Everything right now, instant gratification. But at the end of the day, it's slow and steady wins the race. And that's what we live by. Yeah.
Starting point is 00:12:03 Which sounds actually kind of opposite of what we're saying. Like just, you know, just ship it, put it out there, just do it. And internally we're telling ourselves slow and steady when it's a race, because we've already decided that we're,
Starting point is 00:12:13 you know, we're doing the next thing we're pushing forward for, to giving ourselves the permission to launch or to start. And now it's, it's, you know, don't get overwhelmed with the perfection side, you know,
Starting point is 00:12:24 you know, perfect is the enemy of good is the old saying. And it's so true. And Adam and I can both go down rabbit holes where one or both of us have let us down, you know, slower routes or worse routes because we're shooting for perfect. I'm thinking specifically of our transcripts, which still aren't on the website because I have. You got to out yourself. our transcripts, which still aren't on the website because I have, I have huge plans for our transcripts, which for the audience sake and for you, Tracy, we have all of our episodes get transcribed and like every single one. And we pay for someone to do a really good job of transcribing our episodes. And we haven't done anything with it yet because I haven't integrated
Starting point is 00:13:01 into our CMS and our website. Why? Because I have this perfect plan. It's going to be so awesome. And secretly behind the scenes, I'm saying, just ship it. Yeah. He's like, let's just get it out there. We have a rough UI idea. We haven't actually designed it, but we kind of know how we want to do it. And it's not exactly how Jared wants to do it, which I'm cool with.
Starting point is 00:13:19 Because, you know, part of like you said, Tracy, is the experimentation side and you know that's the joys of doing your own thing is being able to experiment so i'm not going to sit here and say you know hey jared you know we really should just ship this thing but at the same time we really should just ship this thing right it's the it's the developer's dilemma you know I like your guys's strategy a little bit better. I, I, I sort of have to tell myself the same thing. I think, um, every year I sit down and I plan out my year and I always try to shave off 20% of my plan. Um, and this year I, like I already burned out this year and that sucks. So I'm still trying to recover from that. But you see that, right?
Starting point is 00:14:11 Like I recently listened to your guys' podcast with James Long about burnout and you see, you know, a lot of people and a lot of open source maintainers of large projects, you just see them burn out and it's it's shitty especially you know especially if it's a library that you're really depending on yeah it's it's definitely i mean it's been there for a while that that problem that i think it it's not been spoken of enough maybe because of embarrassment or i should be able to do this but uh i mean that's a whole separate topic but yeah i mean i'm curious to know what you know it's march mid-march right basically and you've burnt out in quarter one what happened there
Starting point is 00:14:58 yeah what does that look like well yeah it looks like me sleeping for two weeks. You know, and sometimes that's okay too. Like, just like you said before, permission to start. Permission to sleep. Sometimes you also need permission to stop. Absolutely. My sister always says, be gentle with yourself. Like, that's my constant thing in my head.
Starting point is 00:15:20 Be gentle with yourself. But I think it's because I really like to, you know, some people are sprinters and then some people are marathon runners. I'm trying to be a better marathon runner. And I think you forget sometimes when you start a business that, especially as a serial entrepreneur that like, you know, this is fine. It's going to be chill this time, but it really isn't. Some of the biggest things for me this year were, one of the things that we got, I got really excited about last year was putting together this idea of this.javascript. I felt like, I guess the problem I was trying to solve was that I saw a lot of angst in the open source communities and the different framework communities specifically on not feeling like they're knowing what's happening with the different frameworks.
Starting point is 00:16:12 And there was complaints, for example, about ES 2015 and TC39 and it being a closed box. So every quarter we did this thing called this.javascript and it's live broadcasted online and it's different people who are core maintainers doing 10 minutes of just an update of, Hey, this is what's happening. And it's, it's also kind of interesting because when you talk to the core maintainers about this.javas JavaScript in January, they were fine doing it. But then you ask them to do a quarter later and they're like, dude, we don't have anything crazy to announce. It's not so much about that, though, right? It's mainly about the heartbeat.
Starting point is 00:16:57 Yeah. Like keeping in touch with people and making sure that they know what's happening instead of, you every x amount of months all of a sudden like whoo surprise must have gigantic release or nothing kind of thing yeah or you know big new feature or you know some reason to praise yeah celebrate the small wins is what we need to do more often and i think that's what you're saying. Yeah. And then we did this thing called JS Interactive. It was funny to me because this.javascript has, I think, over 20,000 views already on YouTube. And then JS Interactive,
Starting point is 00:17:37 which is the more interesting one, has maybe 3,000 or so. And that's the... A month later, we do this interactive panel where we bring everybody else back and then, uh, anybody can ask any questions. And I mean, we had like 550 people attend live for this.javascript and then about 300 people attend for JS interactive. And I'm, I about 300 people attend for js interactive and i was so confused right because that's really the cool stuff like the fact that you can ask mishko who created angular anything you want or dan abramov anything you want like i think that's something
Starting point is 00:18:18 really special and that's kind of what i'm trying to do like these people who are doing cool things in the community are also just people and it's okay you can talk to them they're not scary it'll be fine something that i try to encourage well one one thing we want to do want to ask you about tracy's especially learning now that you have learned javascript over the last few years after selling your startup so you're you're fresh to learning js and uh i myself kind of learned it slowly over years of just doing web development and out of necessity um and there's a lot of people who are wanting to learn it whether they're breaking into programming as a profession or as a hobby or in the case of probably many of our listeners they're coming from a different language
Starting point is 00:19:09 or a different skill set inside of software development and are interested in js because of the uh ubiquity of it and the opportunities there so we want to ask about learning js kind of have a conversation around like where does somebody start uh How do you keep up these days? So on and so forth. But we're going to take our first break and we'll talk about that right after this. Hey, friends, I'm dropping the background music on this break because I want you to completely focus on what I'm about to tell you. I want to tell you about our friends at Hired. We've been hearing lots of great things about them and their process to help developers find great jobs. So we reached out to them and guess what? They were excited to work with us and we partnered with Hired because they're different. They're an intelligent talent matching platform
Starting point is 00:19:55 for full-time and contract jobs in engineering, development, design, product management, and even data science. Here's how it works. Instead of endlessly applying to companies hoping for the best, Hired puts you in full control of when and how you connect with interesting opportunities. After you complete one simple application, top employers apply to hire you. Over a four-week time frame, you'll receive personalized interview requests,
Starting point is 00:20:21 upfront salary information, and all this will help you to make better, more informed decisions about your next steps towards the opportunities you'd like to pursue. And the best part is Hired is free. It won't cost you anything. Even better, they pay you to get hired. Our listeners get double the normal $1,000 hiring bonus to find your next chapter on Hired. Head to Hired.com slash changelog.
Starting point is 00:20:45 Don't Google it. This URL is the only way to double that hiring bonus to $2,000. Once again, Hired.com slash changelog. And now back to the show. All right, we are back with Tracy Lee, who you may know as Lady Leet on GitHub and Twitter. Love that name. Yeah, great name.
Starting point is 00:21:03 Unforgettable. Tracy, when it comes to learning javascript things change very rapidly they've changed since a couple years ago they probably changed six months ago um the language is moving the frameworks are moving the browsers are moving so we kind of know where you started to a certain degree with Ember. But if you have someone who's new to programming, let's take it from that angle first. They're not just learning JavaScript. They're also learning programming, as many people are, especially with Stanford and many of the other universities are now even using JavaScript as their language of choice for like computer science 101 and stuff. What do you give advice or what do you think about the best way to break into JS and the web
Starting point is 00:21:53 in the first quarter of 2017? So I still feel like I'm learning and I am. And because for my projects mainly and what I do, I don't do it full time. I, I, I'm very like some weeks I'll just code all week. Some weeks I'll only code, you know, one day. Right. Like, so I probably have only been doing JavaScript part time per se. When I learn, like right now I'm learning RxJS and I am doing a lot of it. And so in the beginning, I think when you learn a language or learn something, you think it's really cool. And then you just sort of stay there at where you've landed and you get really good and really start understanding what you're doing.
Starting point is 00:22:53 Then as you get deeper and you start doing things on your own, you start having more and more and more questions. Right. You go deeper down the rabbit hole. And then there's a point of, whoa, now I know too much. And I know I don't know what I'm supposed to know. And now I'm really frustrated because like, I need to know more and I don't. And now I know I don't. Right. This is what happened to me. Ignorance was bliss, but now you know how much, how little, you know, right? Exactly. So I have, um, I'm, I'm lucky to have Ben Lesh and Jay Phelps as two of my best friends. And Ben wrote RxJS 5. So initially, I was pairing with him and he was teaching me.
Starting point is 00:23:37 And, you know, it seems awesome. And of course, that's how you create an observable. And of course, that's how you wrap an API. But then I started doing it by myself. And I tried to basically use a Raspberry Pi and then write all my code in RxJS. And then I realized without Ben telling me what operator to use, you don't know, right? It's just like God. You really have to understand these things.
Starting point is 00:24:06 So the other day, Ben and I sat down again and we went through it and I was learning more. So TypeScript I've done with Angular, but like when you incorporate RxJS into your Angular code, you really do a lot of TypeScript. So tons of TypeScript, tons of RxJS, then also learning JavaScript, right? Filling in those gaps and then learning ES2015 and then learning Angular. And I think we're actually really lucky because the people who do pick up JavaScript right now, it's much easier to do. And you don't have the legacy of like, oh, I know ES5 and whoa, what is this ES2015 thing, right?
Starting point is 00:25:00 And then personally, I think if you do learn JavaScript, you should choose a framework and mess around with it and get really good at it. If you choose Ember, Angular, React or Vue, they all have CLIs. So it's really easy for you to scaffold up a project and not have to worry about like setting up your dev environment, etc, etc. Has the test baked in for you. So that in itself makes it easier, but then you learn everything all at once. Well, let me stop you real quick because a lot of people will never get past
Starting point is 00:25:41 pick a framework. Okay. In fact, many, I mean, I'm just saying that even experienced developers don't ever get past that. So let's say I'm at, and to a certain degree, I agree with you, especially one that's kind of hold your hand quite a bit, such as Ember, that kind of gives you a batteries included,
Starting point is 00:26:03 like a framework framework, as opposed to like losing a couple of libraries and stuff that you have to pick and choose your own things. Something like that is nice when you're learning because, you know, it's warm and cozy inside this nice big framework. But how do people even decide what's worth investing into? So like,
Starting point is 00:26:23 for instance, what you guys do with this dot and this dot JavaScript is your framework agnostic. So you're interested in angular, you're interested in Ember react view, which is by the way, a good move for business opportunities. But for learning,
Starting point is 00:26:41 like you said, pick one and go, does it matter? Can you just like to a new developer, just say, who cares? Just grab one and get a project? So I haven't played around with Vue yet. I don't know what the syntax is like. So I can't comment on that.
Starting point is 00:26:56 I can only comment on Ember, Angular, and React. I would say that, so if you want serious guardrails, then go with something like Ember or Angular. If you want to have more options of choice and learn more JavaScript specific, but maybe not be as productive, like more JavaScript, less productive, because you need to learn more JavaScript and more how to configure things than probably go with React. If you don't care about those things and you just want to get really productive and build applications and sort of like have things done for you, then picking something like Ember or Angular is better. One of my girlfriends just moved from, she works at Netflix feather and she moved from Ember to react recently because of her job. And she was really happy that Ember, she, she said that Ember helps you think about
Starting point is 00:27:56 scale and what you need to do next. And like, it gives you a good foundation on how to be very organized with your project. And so when she was, when she moved over to react, it was, it was good to have that sort of like, it's almost like going to the army first,
Starting point is 00:28:16 I guess. And then like going out into the wild, like you're always going to make your bed. I'm assuming. Yeah. Yeah. Yeah. Yeah. I like that analogy. Yeah. So I bed. The discipline. Yeah. Your brain's with structure. Yeah.
Starting point is 00:28:25 I like that analogy. Yeah. So I don't really know. I mean, I think also if you look at just, let's say you take Angular and React as an example, you really have to, like what syntax are you most comfortable with? So I'm very, very comfortable in Angular
Starting point is 00:28:44 because I've done Ember and I feel like the syntax is very similar and how they structure things is very similar. And so me going into React was a little bit more difficult because of JSX and it just like blew my mind what I could do there. When you started a couple of years ago. Did you have programming background? No, I just, or was this, this was all brand new to you. So like the first time you saw a loop or the assignment of variables and stuff like that, did you have, I mean, so I'm just now going to extrapolate what I think, cause your experience is a very positive one and one that I think can be modeled after. Um, I think you were perhaps in a privileged position to have friends that were like framework authors, right? Like not everybody has been less as a friend to sit and
Starting point is 00:29:35 like the person that created RxJS can teach you RxJS. But I think if I can just extrapolate that out and say, have a mentor, find a mentor, right? You right you just i mean or a teacher i guess is another term for that um huge advantageous thing is to have somebody who whether or not they wrote rxjs knows it and can teach you that but when you first got started with ember and you said you played with it for a year or so doing different things um were you learning all of the like what variable assignment is and looping and iterators and did you have to learn all that stuff alongside ember um yes but i i'm more focused on what do i want to do and what do i want to build, I didn't tell myself like, oh, I need to learn loops and oh, I need to learn this. Oh, I need to learn that. So
Starting point is 00:30:29 I think that if, if like, if you get to know me, like I know a lot of stuff I probably shouldn't know as a beginner. And then I don't know a lot of stuff I probably should know as a beginner. But I think you just need to be comfortable with you're going to learn what you do things. I think the best thing for anybody is to just pick something that you love doing. Like for example, right now with RxJS, Ben and I are building a pun app. And so we've taken like the new Google recognition, image recognition API, and you can like pull up a banana, a real life banana and it'll spit out banana funds to you. Nice. You know, you just have that like, but I mean, what else are we going to build?
Starting point is 00:31:33 You know, whatever, but it's amusing and it's actually really interesting. So I wouldn't worry about like all, all that stuff. And I think like, I mean, going back to the mentor thing, I wouldn't worry about like all, all that stuff. And I think like, I mean, going back to the mentor thing, that is so important. I have people reach out to me all the time and say, Hey, like I need help with X. And if I can help, I will, or I can pass them off to somebody. Um, I was really happy when I started learning react that I was able to just like Dan Abramov was nice enough to just like help me with really, to me were really stupid things.
Starting point is 00:32:17 Right. Um, so don't be afraid. Right. Like, uh, Ben, Ben always says, Ben Lesh always says like, hey, if you need help, just let me know. It'll, you know, it'll be fine. I think the Angular team as well is very friendly and open and welcome. And the Ember community, there's a Slack channel in which you can literally go into and need help
Starting point is 00:32:42 and people will mess around with you there. But I'll tell you guys about this.labs and this idea of having a mentor. Like we're really big on mentorship, myself and Amber Sherpa. And what we do is we actually help companies. So I think what we realize is if you sit and you bang your head on something,
Starting point is 00:33:06 whether you're working in JavaScript or whether you're just learning JavaScript, it can be really frustrating and you can spend many, many, many days doing it where it might have just been a simple problem. So we collected a few of our friends who are like core contributors or authors of different frameworks and libraries. And then you can actually like buy a certain number of hours of their time for a month to sort of have that guaranteed support when you're doing like code reviews, architecture, et cetera. It's, you know, it's, it's nice to just have somebody there for you. And I think that speaks a lot to just like everybody should should just find a mentor. Yeah. Yeah. Sounds easier said than done. Yeah. Well, it's nice if you can afford one in
Starting point is 00:33:51 that case. Right. Right. But just thinking back now to your learning, it sounds like you're very goal oriented as opposed to like knowledge oriented or I don't know how you put that, but you were mission minded. and so I mean and I think that's that's by the way something that I tell people when they ask me questions about like learning how to program and all that which is like you have to have a goal and uh whether that's like a toy or something a business that you want to build by yourself or whatever the goal is something that you think needs to exist in the world or want to and um like i find that i learn things best when i'm learning them as a means to an end that i care about but not as the end goal right right and adam maybe you can speak to this as well in terms of you know site this is why side projects are so important and why so many
Starting point is 00:34:46 why open source is so important because you know you start something goal-oriented you're learning you're building something you want to see exists in the world and sometimes it turns into and you know sometimes it blossoms into something you never planned on it being and that's the beauty of of really the web but also of open source but adam do you find that you learn better when you have a goal in mind as opposed to yeah 100 i mean just just winging it is great but you'll sit there and just stare at a blank screen whereas if you kind of know well you know i want to build a basic website that can you know hold some data or return you know something you
Starting point is 00:35:26 know back to the user if they do this or they can log in and look up results or whatever or search something then you know having that as a as a placeholder in your in your brain or even some sort of idea makes it so much easier to actually approach it because you're not just like looking at the language and thinking okay what could i do with it it's more like what do i want to do and how can i make it do it right this is another really big thing with a mentor right like a lot of people will come and say hey i really need help and i'm like okay what do you need help with i really want to learn javascript yeah like well okay i really want to learn javascript that's not actionable if you're like hey i'm really trying to get you know this uh like rxjs to
Starting point is 00:36:13 work with raspberry pi which has been the thing i've been messing around with lately you know like if you say that then somebody who would want to help you can help you because you have something they can help you with right like yeah it also speaks to maybe your place on the path too you know because yeah learning javascript is such an open-ended uh thing to say well okay at what point are you and are you brand new to the web like you were on facebook one day and you're like there's this you know i can actually make the web. Let me do it. And somebody told me JavaScript is a place to start.
Starting point is 00:36:49 Or are you a little further than a line and you know some HTML, you know, a little CSS, you know, roughly how the web works and things like that. And you and you're just further down that path. It speaks to where you're at. Yeah, I think also just people who are maybe back-end developers or non-JavaScript developers, because of how JavaScript is these days and because of the tools that are out there like the CLIs, it's amazing how easy it is for somebody to get started. And I think the experience a few years ago is very, very, very different from the experience now. Yeah, I mean, speak to that around the CLIs. I know that Ember, you know, built its own CLI and it was a hit. And so the other frameworks kind of followed suit or were inspired by that and realized that's a great user experience, especially a first run experience. Um, when they did that, you know, there was a lot of pushback because there were things like yo man and, uh, I don't know what else grunt maybe at the time, like boiler platers
Starting point is 00:37:59 and code generators. And it's kind of like these generic tools that everybody else was using but ember built one specific to ember um where tell us about the cli landscape in javascript nowadays and why it's so awesome so you have ember cli which is because it's i don't know if I want to say it's the oldest but I would say it's the original gangsta yeah well there's
Starting point is 00:38:32 like I don't I would probably say somewhere around 95% if not more Ember apps are built with Ember CLI so they're very focused on the convention over configuration thing. And that means that like, there's so much thought around it, right?
Starting point is 00:38:56 Like the way you deploy your apps, there's an add on for that. Like how you generate like anything, there is a very, very set prescribed way to do almost everything in Ember. Um, and so because of that, the CLI has more ability for you to generate different things. Like you can generate routes components you can generate routes, components you can generate in both Ember CLI and Angular CLI. But if you just MPM install Ember CLI, and then you just say, I think it's ember-help, you can see all the different commands that you can actually use, and everything is pretty well documented.
Starting point is 00:39:43 So Angular CLI came about a year ago and it was originally built on top of Ember CLI. So it was actually an add-on based on Angular CLI was an add-on of Ember CLI. Then last year they, you know, made their own changes and made it their own, like changing things from using like broccoli to, to web pack, et cetera, and making it for the Angular community. So there's a lot of features that Angular CLI is still trying to do. I think they're in RC. I don't remember which RC they are right now, but it's, or no, sorry, they're in beta right now. I think it's like beta one or two for Angular CLI. But it's good enough, right? Like you can generate models and services
Starting point is 00:40:33 and components and different things like that in Angular CLI. And it does a lot more configuration than it did last year for you. Like last year, you were still adding things to your module file and like the imports and doing a little bit of configuration. But now it's very much like the Ember CLI experience.
Starting point is 00:40:54 And then that as well, all you have to do is just npm install and then it just spins up and out for you. Same thing with Create React App. So Create React App sets, I think the most important thing for this is that like sets up your development server and like you can just get started, right?
Starting point is 00:41:17 Like you have- Right, it's all the tedious, tricky parts that you get stuck on. Yeah, there's like, you literally don't have to do anything except for like install and then generate a new like ember new ng new whatever and then you have an app and you can just mess around with it and you can see the results of what you're doing immediately like
Starting point is 00:41:37 done right this is great for children too if you want your kids to code like hey scaffold up a new app go crazy you can get lost in the wiring up of the glue and never make it to writing any of your own code if you don't have those you know those tools that's available that scaffolding for you is is awesome and perhaps worth mentioning now there's also uh after react conf create react native app is a thing yes so there's a scaffold yep a react native app which is really neat yeah so now you have create react app and create react native app and um those are pretty cool things too like it's much less like you don't you can't do a lot except for the fact that it just spins things up for you. But again,
Starting point is 00:42:27 like, yeah, just the start is great. Like with Angular CLI, you can be like, you can generate your components, you know, you can generate services and they'll like create those dummy templates for
Starting point is 00:42:40 you, which is kind of nice. So I'm hoping that something happens with a Create React app at some point in time. I think you're right that for developers who are just moving from space to space, coming to JavaScript, especially with all these command line tools nowadays, they'll find a lot easier to get into it.
Starting point is 00:43:04 So that's great. i still think for uh for new like completely new people did a lot of work that needs to be done but um but yeah we're we're making moves i mean another good place to just get started is sometimes just to recode i can think back to i mean this is this is sort of stupid to say at least i think so i learned to mess with css by basically just messing with other people's better css you know and css for me was like the hardest thing to learn because i was like what the heck is margin and padding and this is so forever ago though but like you know it the same concept as there's like these little silly things that are just should be easy i learned
Starting point is 00:43:46 by reading other people's code that's something you said jared in a really popular uh blog post that you wrote on the changelog so right yeah that's definitely a great way of learning is reading other people's uh another point real quick before we hit this break is when it comes to especially the children but anybody who's new to programming and doesn't know much about the web, you don't even need an editor. You don't need a command line tool. All you got to do is pop open dev tools and show them how they can manipulate the page. Any page. Yeah, exactly.
Starting point is 00:44:17 And the one that I always do, which catches them immediately, is just inspect on element and just start hitting delete and, you know, different elements of the page just start disappearing. And that always impresses kids. They're like, I can remove that thing. Nice.
Starting point is 00:44:33 Okay. Can I put it back? Right. Like, yeah, a little harder. Refresh. This is like the more advanced way to change your report card. Yes.
Starting point is 00:44:43 That's the truth. Mom, look, it's online. Right? Danger, danger. That's true. As Jared mentioned, we are getting close to our next break, but Tracy, you do some organizing.
Starting point is 00:44:54 So when we come back from this break, when I say organizing, I mean organizing conferences, cruises, workshops, all that fun stuff. So when we get back from this break, we're going to dive deeper into the fun things you're doing.
Starting point is 00:45:04 So we'll be right back. Your application sits on layers of dynamic infrastructure and supporting services. And Datadog brings you visibility into every single part of your infrastructure, plus APM for monitoring your application's performance, dashboarding, collaboration tools, alerts. All of this lets you develop your own workflow
Starting point is 00:45:24 for observability and incident response. Datadog integrates seamlessly with all of your apps and systems from Slack to Amazon Web Services so you can get visibility in literally minutes. They're loved and trusted by thousands of enterprises, including Salesforce, PagerDuty, Zendesk. And if you haven't tried Datadog yet
Starting point is 00:45:44 at your company or on your side project, go to changelog.com slash Datadog, support the show, check them out. Our deepest thanks to Datadog for being a new sponsor of the show. Once again, changelog.com slash Datadog. And now back to the show. And we're back with Tracy Lee. A lot of fun here, kind of getting to know you, kind of getting to know how to learn JavaScript
Starting point is 00:46:07 and ultimately organize and inspire a community. So you said in the pre-call that you're organizing a cruise, a workshop, and also Angular contributor days. And you also mentioned in the first part of the show that, I probably shouldn't bring this back up again, but you mentioned you burnt out in the first part of the show that uh i probably probably shouldn't bring this back up again but you mentioned you burnt out in the first part of the year and so like you're doing all these things fairly soon you're rubbing it in man i don't mean to rub it in but we all have to face the truth um tell us about these things yeah well okay let me
Starting point is 00:46:41 say let me say one thing about burnout because uh one of my friends, I feel like he needs to, he needs to deal with this too. But I, you know, if you're feeling stressed out or burnt out, and you want to stop, you should just stop. But, and also, you know, everybody invests so much time and energy and getting fit, right? Like, you want to get fit, you want to go on a diet, you want to whatever. But people forget that they should also be investing money in their mental health. And sometimes that's better. So like you should, you know, if you if you feel like stressed out or depressed
Starting point is 00:47:19 or whatever it is, like it's really important for you to spend those dollars into mental health just as the way you would spend it into your physical health. So sidestep, but I, I felt like I should mention that.
Starting point is 00:47:32 Is mental health part of the organizing thing for you to get out and meet people and be amongst community and, and interact with real people versus digital artifacts on the machine? Yeah. I think the mental health thing is more like dealing with burnout like everybody burns out sometimes and if you feel like you need help in that sense you should go help on it um for me and organizing things and getting excited about things i i used to say i meant i was an introvert but i still don't know because I derive so much joy and energy from organizing things and bringing people together.
Starting point is 00:48:10 But at the same time, I love just spending a week not talking to anybody except for on the Internet. And I need that time. So I'm not really sure what I am, but I think everybody needs a level of solitude. I think that's what that probably means for you, because I'm the same way where I love being with people, but I also, you know, if I get a chance to like, I love my family,
Starting point is 00:48:31 you know, but if I get a chance to like have a, a, you know, a solo weekend just to like sleep in or experiment or tinker or play video games or watch movies or whatever, like I'm like, yes,
Starting point is 00:48:44 that's cool. I love it. It doesn't happen often'm like, yes, that's cool. I love it. Doesn't happen often, but you know, it's nice. So I organize, um, I'll tell, I'll talk to you guys about contributor today. You can go to contributor days.com and see what we've been doing there. We're just about to release the videos for RxJS Contributor Days. This came about because I wanted to help framework authors get together with customers, big customers of theirs, and also core contributors, stick them all in a room and try to help them be more productive so with rxjs contributor days
Starting point is 00:49:27 we're doing that once a year and it was really amazing what came out of it you have people from the angular core team coming you had people from the nucleid project at facebook who use rx just a lot you had people from the slack team come who uses a lot you had mont palo who was the original creator of rxjs come um andre stoltz from uh well andre does so many things but cycle js i think is what he's mostly known for avenue from view js so sticking them all in a room and then just trying to figure out like, all right, you know,
Starting point is 00:50:09 RxJS is Angular's only external dependency. So what are they concerned about? Like, what is the core team not addressing? We had a few beginners or teachers in the room and it was like, okay, how can the core team actually make rxjs more attainable to to learn like more approachable i think to learn same thing with angular contributor days we're going to have mishko hevery egorman r jules kramer and stephen fluen leading the charge on
Starting point is 00:50:42 angular contributor days and we're inviting a bunch of large companies that are using Angular and people who are heavy contributors and trying to give, like not only trying to address the fact that these people don't get to sit with the core contributors very often, but allowing the
Starting point is 00:51:07 cross-pollination of ideas to actually happen. I think a lot of times in open source, like one person's hacking on one thing, another person's hacking on another thing. And if you just get everybody together, you realize that maybe you're trying to solve the same problem. So you can distribute resources a little bit better and then hopefully set the pace for the year of, okay, now I have these relationships. Now I can do awesome things with those new relationships. So is this the kind of thing that anybody who's active in open source or in these projects can come to?
Starting point is 00:51:41 Or is it just for the core maintainers and big corporations who's a target audience beyond the core maintainers who are obviously there you can go to contributordays.com and actually apply um to participate so we'll have a react one coming up and we do have the angular one coming up and we're looking for people who are either really, really big companies who are using Angular or React or anything else. And then we're also looking for people who are actually senior developers and actually contributing and might want to hop on another project. Like if somebody is really prolific in React and they want to contribute to Angular, this is a great way to sort of get started.
Starting point is 00:52:29 Right. So it's definitely not a beginner level thing. It's more of a like, yeah. Very cool. So you've had one, you've done one of these, the RxJS one last month. Was that your first one? That was our first one and also we're releasing the videos from the entire day so even if you didn't attend you get to go and
Starting point is 00:52:54 watch all the conversations like all the hard conversations between the angular core team and the rx js core team really cool and all the conversations uh like about out how do you address documentation for example in the in the community or like how do you address um well going back to documentation what operators do you use there's there's a lot more but i think those those were like the two biggest most exciting things that came out of RxJS contributor days same thing for Angular you'll be able to see that I think providing visibility
Starting point is 00:53:32 and openness in our in our what do you call it in our process provide providing openness in our communities is really important. And humanists,
Starting point is 00:53:50 right? Like people can be really mean on the internet and right. Or you see some people and you're like, man, that guy is so mean. But then when you meet them in person, you realize that they are also just human. And maybe sometimes things just come off wrong.
Starting point is 00:54:06 So part of the mission as well is like, hey, look at these people. They're all human. And we're all trying our hardest to like do awesome things for the greater community. Right. Like most of these open source people, they're like spending their free time hacking on things. Like if they don't respond to an issue, don't get mad. Yeah.
Starting point is 00:54:30 Yeah. Conversations are blending together, but I, it was either the, uh, James long conversation that was recently on the, on the podcast feed or a side conversation that's in lieu of a future conversation that we'll have on the change log about this very thing of like how we as humans respond on the
Starting point is 00:54:48 internet. Basically like it's a machine. You think you're talking to a machine, but there's actually a human on either side. So if you're listening to this and you've already listened to the gene of long episode and that's it, uh, tell us in the,
Starting point is 00:54:59 in member Slack or on Twitter, Adam, you've already said that somewhere else. So you have to dot for me cause I'm not sure which one it was, but you know, there's two all too often. Do we talk to one other digitally? or on Twitter. Adam, you've already said that somewhere else, so connect the dot for me because I'm not sure which one it was. All too often do we talk to one another digitally. It was with James. Now I know because I just remember my own thing. Through
Starting point is 00:55:13 issues or comments on an issue, because GitHub has made it so accessible to collaborate, we don't feel like we're talking to another human. We feel like we're just talking to the machine, which is the internet. And we we're talking to another human we feel like we're just talking to the machine which is the internet and we're actually talking another human being and potentially hurting their feelings or you know crushing their their dream that day or demolishing
Starting point is 00:55:35 their motivation because of like one thing you know and and they're doing their spare time and that's not cool yeah so with this uh with contributor days you're doing their spare time. And that's not cool. Yeah. So with this, with Contributor Days, you're doing a ton of stuff. So you said videos in there. So that means that you've got some legitness to it. Basically, you're actually videoing it. So you're putting those back on YouTube or the Internet somewhere for free for the community to listen to. You're doing a lot of work around organizing it so that means you're reaching out either to inviting or reaching out to those who are maintainers of projects to get together with potentially their most sought after users which is
Starting point is 00:56:12 people who are actually using their stuff it takes a lot of work right and i'm kind of curious we talked a bit about your motivation already to do what you're doing now but i'm kind of curious about the sustainability of it the that's kind of a thrown around word, but like, how do you fund this? How do you, is this a make money thing? You know, what is this for you all? Yeah, that's, that's been a, that's been an interesting thing too. Cause I think, um, for the folks who spend hours and hours and hours on open source, you don't ever question their motivation. And for me, sometimes, sometimes when I do things, people are like, why is she doing this? I wasn't thinking that. Well, I mean, it's because I'm passionate about um I'm really passionate about bringing people
Starting point is 00:57:07 together and I'm really passionate about helping people so I'll spend a lot of time doing that because I know I'm really good at it and I just can't help myself like some things come about not because I like premeditated them but just because I I'm like, okay, I feel like I need to help in this area and I'm willing to devote, um, time to it. Right. Um, and, and for me, like, I like making an impact in the world. And so like, I'll choose things like this, that JavaScript contributed days. I think those are contributing to the greater Java JavaScript ecosystem as a whole. Things like ng-cruise, for example, I'm throwing a cruise conference, an Angular cruise conference,
Starting point is 00:57:52 I think, end of May. So May 29th, I think, we leave Miami to cruise the Bahamas. And I do those things because I was on a cruise last year and I said, hey, I should hang out with a bunch of people and let's all go was on a cruise last year and i said hey i should like hang out with a bunch of people and like let's all go hack on a cruise so we're doing that and um yeah like it's fun i mean again and with cruises you also get those excursions you'll probably have like several days of boat time you know and then you'll have like days of excursions off to jamaica or you know somewhere in the caribbeans or what is that you said you're leaving miami so i'm
Starting point is 00:58:30 assuming caribbean we're doing the caribbean and i i actually really hate the idea of being stuck on a boat so every single day we dock on a port right and every single day we have an excursion. So we do like a full day of conference or sometimes maybe two or three hours of conference and then we go hang out and do excursions. So I think over 80% of the people who have actually booked on the cruise already are bringing one of their spouses, which is crazy. Like who would have thought?
Starting point is 00:59:03 Maybe it should have been expected. I don't know. But as a mind, um, did a cruise along five years ago when I say less tough guys, Alan branch, Stephen Bristol, they did a conference called less cruise. And it was similar in the makeup of you just described, you know, like where you'll get together a little bit and you'll have like community stuff, but then it's really about like being in the real world together with like
Starting point is 00:59:29 geek friends. You already know that are already in like your obscure part of the internet. Basically, you know that you get to hang together in real life and do real things rather than just simply think about code. But you also do have some of that time where you can sort of like collect on the collect together on the top, you know, you know, the the upper area of the boot i can't remember what it's called the the deck and like just hang out and talk about stuff or actually conference a little bit
Starting point is 00:59:55 yeah we uh okay my favorite thing to do is get all my friends in the room and then i love doing this at conferences so like office hours right we're all hanging out and i'm like uh i was at ng vikings and my friend wasim taught me how to use angular and polymer components together and then my other friend uh taught me how to hook up like iot and web bluetooth with angular and then another friend taught me how to set up a real-time database with firebase and like there was one other pairing session i can't remember what it was now but i was literally oh yeah that's right native script so my friend sebastian taught me how to use native script in the angular and like i was able to do that in two hours. So, you know, that's basically what the cruise is going to be like.
Starting point is 01:00:48 You have all the speakers, like Jeff Crossfitt, Victor Savkin, Mike Brucky, who is one of the main people for Angular CLI, Ben Lush, RxJS. They're all getting on this cruise, and they can't really go anywhere. You got them cornered. That's the best way to make it happen is
Starting point is 01:01:09 by force, basically. Corner them with a smile. By force. By force. Force pair with me. Yes. That's dash dash force. That's a good way to do it for sure.
Starting point is 01:01:23 Well, that sounds fun. What's the URL for the cruise? It's just ngcruise.com ngcruise.com all right well make sure you put those in the show notes for sure yeah i think you know jared i haven't maybe we've talked about this i don't know but i i've actually had a similar desire to do a cruise with people because i've been on a cruise before and i liked it a lot i didn't really care for the boat days that much so it'd be nice to actually be able to collect together during that time but the excursions are so much fun you know like just just getting out of like your neck of the woods basically you know is a good thing and doing that with you know the changelog community would be a cool thing yeah just. Just with like-minded people,
Starting point is 01:02:05 I think is, is interesting. And, um, you know, and that's where the bonding happens, right? Like these people are your friends forever,
Starting point is 01:02:13 at least for the next five years, like until the next batch is, that is forever in internet years. That's true. Yeah. So is there, is speaking of internet, is there internet on these cruises
Starting point is 01:02:25 i've been on a cruise since i was 12 yeah oh it's expensive i believe no no no this is the beautiful part okay i thought it was like 10 bucks a day i'm wrong like 10 bucks a day or i mean enough well that's not bad well 10 bucks a day not bad can be wrong. I remember like a, no, I remember terminals. $15 a day. Yeah. No, I don't know if it was that per person though, Jared, you know,
Starting point is 01:02:50 that's chump change. I mean, okay. Before it used to be like a hundred dollars a day or if not more, but now you get like $16 a day, unlimited internet. And like, it's fast enough to NPM install.
Starting point is 01:03:08 So. It's gotta be satellite though, isn't it mean you don't have yeah wires yeah but it's good enough like it's good enough to where i feel comfortable being on a cruise with internet and that was i mean that was my biggest blocker for many years right like running your own, you can't just leave. I would not get on the cruise until last year and I was like, oh man, I FaceTime for five hours. I mean, great way to spend time on a cruise.
Starting point is 01:03:39 I would expect there to be bad latency with satellite. No, it's really not bad. Cool. All right, fine, I'll go. You'll be there. All right, cool. You talked me into it. So it's ngcruise.com, is that right?
Starting point is 01:03:58 Yes. Okay. We also have contributordays.com. We have this.co. So this dot is a word and then dot co so that's uh that's the home of record for this dot media you're doing lots of fun stuff you got what seems like a labs section which we didn't talk about much but the media portion uh for this but um that's how we fund ourselves by the way we have clients that's okay so there you go so it seemed consultancy but i wasn't sure okay yeah um cool what else would
Starting point is 01:04:34 you like to close on i know we're getting ready to wrap up here what uh what closing advice do you want to share with the listening audience i would say that the biggest thing is just pick up, pick up, like install some CLI and then, you know, start it, start your server and check out just even how an app is scaffolded up, let's say an Angular and test it around and just play with it. And Twitter is something that I think some people don't use, but if you need help or want to talk to people, literally everyone's on Twitter mostly. So if you just search like Angular on Twitter or you just at me on Twitter and ask me for help or anybody like more than happy to
Starting point is 01:05:27 start getting you integrated into the community and um helping you get help wherever we can so and just do it right yeah and stop if you need to you have to to give Nike a quarter every time you say that. Is that the truth? Okay. Start. Keep it simple. Just start it. Just start it.
Starting point is 01:05:53 Well, Tracy, thank you so much for joining us. It was a pleasure to learn more about you and what you're doing with this dot media and the kind of heart you have to get people together, help people and make an impact. I think it's, you know, such an inspiring thing. And then, you know, you've learned what you've learned so fast. You've got some great mentors and be able to share what you've learned along the way
Starting point is 01:06:14 and connect people as you as you do. So that's awesome. But thanks for coming on the show today. Yeah. All right. That wraps up this episode of The Change Log. Join the community and Slack with us in real time at the changelog join the community and slack with us in real time at the changelog.com slash community follow us on twitter we're at changelog special
Starting point is 01:06:32 thanks to our sponsors rollbar hired and datadog also thanks to fastly our bandwidth partner hit the fastly.com to learn more huge thanks also to breakmaster cylinder for the awesome beats for our shows we'll see you again next week thanks for listening Fastly.com to learn more. Huge thanks also to Breakmaster Cylinder for the awesome beats for our shows. We'll see you again next week. Thanks for listening. Bye.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.