Powered by RedCircle

How to Stay Current with JavaScript - JSJ 499

  • Date : Aug 31, 2021
  • Time : 1 Hours, 16 Minutes
The panel gets together to discuss how they learn new things and what things are important to learn.
They start out discussing how to learn new things. They they go into how to keep up on the never-ending releases within the JavaScript ecosystem.

  • Aimee Knight
  • AJ O'Neal
  • Charles Max Wood
  • Dan Shappir
Contact Aimee:
Contact AJ:
Contact Charles:
Contact Dan:
Sponsored By:

CHARLES MAX_WOOD: Hey everybody and welcome back to another episode of JavaScript Jabber. This week on our panel, we have AJ O'Neill. 

AJ_O’NEAL: Yo, yo, yo. Coming at you live from the under desk treadmill. 


DAN_SHAPPIR: Hi from sunny Tel Aviv. 


AIMEE_KNIGHT: Hey, hey from Nashville. 

CHARLES MAX_WOOD: I'm Charles Max Wood from devchat.tv. And this week I scheduled this an episode where we could talk about how we learn stuff. And specifically I get approached who there's, there's always new stuff in JavaScript. And so I also want to talk a bit about how we learn new things in JavaScript. 


I remember working my tail off to become a senior developer. I read every book I could get my hands on. I went to any conference I could and watched the videos about the things that I thought I needed to learn. And eventually I got that senior developer job. And then I realized that the rest of my career looked just like where I was now. I mean, where was the rush I got from learning? What was I supposed to do to keep growing? And then I found it. I got the chance to mentor some developers. I started a podcast and helped many more developers. I did screencasts and helped even more developers became a dev hero and now I want to help you become one too. And if you're looking forward to something more than doing the same thing at a different job three years from now, then join the dev heroes accelerator. I'll walk you through the process of building and growing a following and finding people that you can uniquely help as you build the next stage of your career. You can learn more at devherosaccelerator.com. 


CHARLES MAX_WOOD: So anyway, I'm a little curious. Just to kind of start things out, like how do you guys learn new things? How do you, how do you pick up new ideas that are out there in JavaScript or web land? 

DAN_SHAPPIR: Well, I was joking before we started, or was, or was it you that the H8 doesn't actually learn new things in JavaScript because he objects to new things in JavaScript. 

AJ_O’NEAL: Yeah. 

DAN_SHAPPIR: I think, I think he fell off the treadmill. 

AJ_O’NEAL: I just turned off the fan so that it wouldn't give background noise. So I learned new things in JavaScript. But.

DAN_SHAPPIR: You're not happy about them, but you learned them. 

AJ_O’NEAL: Well... 


AJ_O’NEAL: It's almost like someone's paying him to learn them. Well, no, that doesn't work either, actually. 


AJ_O’NEAL: No, I... Let's talk about learning new stuff. Because that's a better platform for me. If you want me to speak for a minute, that's a better platform for me to dive in and then circle around to JavaScript. Rather than say, new stuff in JavaScript. Because that can mean a lot of things, but it also means a lot of nothings. 

CHARLES MAX_WOOD: What do you mean? 

AJ_O’NEAL: About learning new stuff or a lot of about nothings. 


AJ_O’NEAL: Just syntax sugar. The more things change, the more they stay the same. That's what I mean by nothings is you can't do anything new. There's not a problem that you couldn't solve before that you can now solve. It's just, you can solve a problem that you could already solve in a more complicated way that requires more build steps, that requires more education, that requires more nuance understanding. I think less is more. If something is simpler and works in more scenarios and requires less nuance, then that's a good, I should go and look at what JavaScript used to be in ES5. Tiny, tiny language, beautiful. 

AIMEE_KNIGHT: So based on what AJ and Dan, y'all are thinking, I'm gonna kind of like take it a different direction. So there's like stuff that you can learn to, I would say reinvent the wheel in different ways, but like just as what we work on changes, there's tools to learn. Like there's so much going on in like AI ML space. Like we can use JavaScript to do things like that. And yeah, so. 

AJ_O’NEAL: And that would be the difference. 

AIMEE_KNIGHT: It's not just that, it's like the problems that you have to solve and using JavaScript to solve new problems. 

AJ_O’NEAL: And that would be to me the difference between learning new things and learning new things in JavaScript. Because there are new things that are worthwhile things to learn that have nothing to do with JavaScript other than that. Because JavaScript is a programming language, you can also do these things in JavaScript. 


DAN_SHAPPIR: Look, I think that partially your answer stems from the fact that you're a very experienced software developer. Like, everything that you're currently learning to an extent seems like something that you've... like a variation on something that you've learned a while ago. I think that for a lot of developers out there, a lot of the people listening to this podcast, this is totally not the case. They are learning new stuff because they're much less experienced in the field. 

CHARLES MAX_WOOD: Yeah. And it's interesting to given any given standpoint, honestly, I mean, I've, I've had to pick things up and kind of be the new person again in a new technology or a new space, right? Most recently I was kind of thrown in the deep end with React, right? And so I had to pick up some React. I, I didn't get to the level of, I wouldn't even say proficient really. I mean, I could make stuff work, but if I sat down and talked to React developers about what I was doing, they would be nitpicking over all kinds of things that I was doing wrong. But yeah, at the same time, yeah, I was mostly learning how to solve old problems with a new tool. 

DAN_SHAPPIR: The funny thing about React though, and a lot of people these days tend to forget it because of everything that has happened with React over the years, is that React was originally introduced to make things a lot simpler. Everybody at back at the day was dealing with the complexities of building applications in angular and other frameworks, which were really complex. And it, you know, the, the story that, that the people at Facebook used to give about why they created react was that they have this sort of a, this counter at the top. You have counters on how many stories you have pending that you haven't read yet, or how many people sent you invites and stuff like that. This was implemented via Angular, and it kept on breaking. Whenever anybody did any sort of a change in the application, then that counter would break and display wrong values. They got to the point where also where nobody could figure out all the data flows within the state management within that complex Angular app. And the motivation for creating React originally was just to dramatically simplify things. You just spew out the entire, like you re-render the entire UI. Anytime anything changes, the reconciliation takes care of the rest. And you know, you're good to go and you don't need to think about various state transitions because you always kind of start from scratch. Now, obviously then reality happened. We are nowhere near that sublime vision. But it's interesting to think about it that originally, at least, React was created explicitly with the intent of making things simpler. But I definitely concur with what your saying Chuck that JavaScript is just the part of this huge ecosystem that we call front-end web development or maybe even web development in general. And you know, we have episodes on the show about gemstack where gemstack is that front-end or back-end. It's both. And so it's not just about learning react or sorry, it's not just about learning JavaScript anymore. It's potentially about learning react and about learning GraphQL and the gemstack and I don't know Webpack and NPM and what and maybe we once a while some time ago could have done with all this stuff but we were building much simpler web applications in general back then I think. Correct me if I'm wrong AJ. 

AJ_O’NEAL: Were we building much simpler web applications? I don't know Gmail has been around for a long time. Facebook's been around for a long time. Twitter's been around for a long time. Graphical visualization tools like Domo and I think Crystal Reports, is that one of them? They've been around a long time. So are we building more complex applications or are we making applications more complex? That's an interesting- 

AIMEE_KNIGHT: I would say it all depends. I was gonna break in here and just say, I know there's definitely more complex stuff going on depending on where you work and what problems you're trying to solve. 

CHARLES MAX_WOOD: Yeah, I also wanna point out that the things that we're all talking about here, I mean, it just really comes down to the crux of the issue that people keep bringing to me, which is, Hey, there's JAMstack and React and ML, you know, that Amy brought up and, you know, all these different things. And it's like, how do I even keep straight what's even out there to know what to learn in the first place? What's important? What's not important? It seems so complicated, even if it is or isn't, it feels that way, right? There's an overwhelming load of things that are consistently moving. I have to keep my finger on in order to feel like I'm a competent web developer. 

DAN_SHAPPIR: If I need to look at it from the perspective of what's important, the majority of the things that you've listed might be important in a certain point in time specifically for you in the context of the particular job that you're doing. But if you're looking at what's important in general, most of the things are not that important. What's important is learning how to learn, I think, being able to pick up new things and not like kind of burning yourself out or getting sort of set in your ways that you're unable to move along with the technology kind of whether you like it or not. I, by the way, like it. I like the fact that new things keep coming out, even if I occasionally make the wrong choice about which technology to focus on. So I think that learning how to learn is, is important. And I think that in specifically in the context of web development, there are a few things that are really important, which are mostly the basics stuff. That's beyond that frameworks come and go. 

AJ_O’NEAL: So I want to, I want to comment on that specifically. We're writing JavaScript like it's 2047, but using our tools like it's 1997. So most of the things that we have as these gigantic complex workarounds, we keep on adding to them more and more because we're writing the JavaScript of the future that's never been invented yet. Yet in the DOM, we have the data attribute, we have query selector, we have a match selector, we have, I don't know what all the things are off the top of my head, but basically we have everything in the DOM that you'd ever want. There's nothing missing from the DOM anymore. Fight me on that. I mean, correct me if I'm wrong, but there's nothing missing from the DOM anymore. The DOM has everything, every problem that can be solved in the DOM with, with minor exception, like maybe we haven't agreed on what exactly templating should look like, but almost every problem that could be solved in the DOM has been solved in the DOM and then the same with CSS as far as I can tell, the only thing that we're missing from CSS that's a major PETA is that nesting hasn't made it from draft stage to implementation yet which is kind of a shame because JavaScript makes it from implementation to draft stage. 

CHARLES MAX_WOOD: Yeah, I want to jump in here because, and honestly, I couldn't have paid Dan to put it any better, but Dan put his finger really on the crux of what I wanted to talk about today. And I was kind of hoping we'd get here, but there are two parts. One is, yeah, given any point in time, some things are going to be more important to learn. And then the other point he made was that, so what we really need to understand are the fundamentals and then how to learn, right? How to be adaptable to whatever it is that we have to know or have to do. And this is kind of... I've been working on a framework for this because a lot of people, they get stuck on first what to learn and it's like, well, you've got to learn whatever it is that's going to get you the outcome you need, right? So you want that new job, you got to go learn the skills that they're looking for in that job you want to speak at the React Conference, you've got to go pick up the skills that you need to be able to, both the technical skills you want to display and the speaking skills to be able to display them, right? For all these other things, it's down to these higher level concepts. But for your overall career, it is. It's understanding those fundamentals and then being able to build the pieces on top of them so that you can actually make the kinds of contributions, build the kinds of relationships and get the recognition for them so that you can actually get what you want. And that's really the crux of things, at least for me. And so I'm wondering, I'm going to set aside the discussion about fundamentals here for a minute, because I think, AJ, you've kind of gotten down to that too, right? I mean, there's some fundamental pieces of JavaScript that you have to understand in order to be successful as a JavaScript developer. And you're arguing that the things that go well beyond those are probably not as valuable to know and sometimes add confusion. But yeah, how do we go about learning these things, right? How do we approach learning the fundamentals and is that different from learning some of these higher order or higher level concepts that we have to understand in order just to contribute at a React job or an Angular job or an Express job or something else?

DAN_SHAPPIR: Well, the easiest way to learn the fundamentals is to listen to this interesting podcast called JavaScript Jabber, where they talked about the things that JavaScript developers must know. 

CHARLES MAX_WOOD: Oh, yeah. That was a great series. Who came up with that? 

AJ_O’NEAL: Was that Israeli guy? The militant Israeli. 

DAN_SHAPPIR: I wouldn't call myself militant, but.

AJ_O’NEAL: I'm making a joke because he was telling us about his time in the service. 

DAN_SHAPPIR: My military career, the thing you need to remember about us Israelis, if I digress a minute, is that even our pacifists serve in the army. But, but- 

CHARLES MAX_WOOD: Yeah, and I'll ranks you by the way, folks. 

AJ_O’NEAL: Reserve. 

DAN_SHAPPIR: Yeah. What, what I look, it's even that is going to vary because there's, there's the thing you, you need to know in general, in order to have like a basic understanding of the field that you're working in. Even that is a bit of a moving target, although it's fairly stable, I think, mostly. And then, like you said, you may need to learn something in order to get a job or in order to keep your job, which goes beyond the basic knowledge. For example, if you go into an existing code base which happens to use some advanced JavaScript feature that maybe you don't even like, but you know it's there. You need to be able to work with it. You're not going to rewrite the entire code base, so you need to kind of roll with it, I guess. And at the end of the day, it's not that hard. Again, assuming you've developed the techniques of being able to learn. And with regard to like where to get information, which I think was one of the things that you were leading to. I'd like to start by listing out two significant sources for myself. One is this podcast. The fact that we bring on, we have this great format where we bring on every week a guest to speak about something which means that it's not just us regurgitating the same information again and again and again, it's we literally need to keep learning new things in order to be able to talk about it with with our guests. So first of all, I basically learn from the guests themselves, obviously, they talk about their topic of interest, and I usually learn a lot. And if it's especially interesting, then I go or especially pertinent. Then after the show ends, I actually go and do additional research. I also like to do some research ahead of time because I like to come prepared. So the combination of the guests themselves talking about their topic of interest, which is usually the thing that they're really excited about, which is often catchy, and also that research both ahead of time and then follow-up research if I do get caught up in this topic. That's been a source of a lot of my learning during the past two years. So, so that's one source, really big one. 

CHARLES MAX_WOOD: I will, I'm going to circle back on an idea here real quick, but before I do that, I'm curious what your process looks like when you're researching things for the show or after the show, if you, if you get some idea, oh, this is something I really want to dig deep on, or even before the show, it's like, okay, you know, I need to know a little bit more about this before I go talk about it. What, what does that process look like for you, Dan?

DAN_SHAPPIR: Google is your friend. I mean, we live in an amazing age where we can literally ask our computer any question about any topic known to man or woman and get an answer. And that answer might be a blog post, it might be a YouTube video, it might be some other podcast. And yeah, I mean, researching information has never been easier, I think. 

CHARLES MAX_WOOD: So you just do a Google search and then pick the things that look relevant.

DAN_SHAPPIR: Exactly. And, and usually you can, usually you can figure things out fairly quickly. You know, one of the things about having experience is that you get this bullshit meter and you're able to, 

AJ_O’NEAL: mine's always at a hundred percent. 

DAN_SHAPPIR: Well, you know what I mean? I know it's a problem, but you know, you listen to a YouTube video, usually within a minute or two, you can tell whether that's true. He knows, knows what they're talking about. I usually like to listen to these days. 

AJ_O’NEAL: How can you tell? I mean, let's say that you're not you or me. How can you tell? What is a metric that someone's BS meter should be going off or should chill out? 

DAN_SHAPPIR: That's an interesting point. 

AIMEE_KNIGHT: I feel like sometimes that's like you can see patterns in people or like patterns. I mean this in like a really productive way. Like look out for patterns in coworkers if they're always like trying to pick out the newest greatest thing and not necessarily focusing on the product itself and what it needs? 

DAN_SHAPPIR: I would say that my, look, again, if you're experienced, then obviously it's easier. And it's not always like simple visual cues or audible cues that I can just give them to you, like list them to you. But if you're like really a newbie and you're concerned about this sort of thing, well, the easiest thing to do is to go by authority. For example, if you want to learn about JavaScript or React, then you probably can't go wrong with cancdots. Or again, if you want to learn about JavaScript, then you probably can't go wrong with kilesimpson.getify, because these people have the authority. And so if you're not in a position where you have sufficient information about being able to to judge the value of a, let's say a presenter based on just, just listening to the first couple of minutes, then check which conference this talk is from. Usually if it's from a JSConf, then it will probably be reasonable quality. You can look at who that speaker is. I don't know if it's somebody talking about V8, for example, the, the JavaScript engine and that person works at Google. Well, then they probably know what they're talking about.

CHARLES MAX_WOOD: Yeah, I want to chime in here for two things because I have thoughts and this is me circling back to the idea from before because it all kind of ties together and congeals around some of these ideas. So initially, when I started working through these ideas on, hey, how do you learn new stuff? How do you stay current on stuff? How do you figure this stuff out? A lot of my thoughts centered on content, right? So it's like, how do you find the right content? So we're talking about Google searches. And this is an effective way to go. But to Dan's point, yeah, my BS meter is pretty finely tuned on the areas that I really understand, right? And it's pretty finely tuned in the programming area in general, because even if it's a topic that I don't understand a lot about, let's say it's a programming language that I haven't done a whole lot in, I can usually smell the BS coming off of somebody because it looks similar to the BS that occurs in the areas I understand. But one thing that I'm finding more and more and more often is that the other place I need to go to is not just the indicators of authority, but if I have a mentor, if I can go find a coach, if I can go find somebody just going to walk me through it. And that's ultimately what this show is. Right? So this, this is the circle back piece of it. Right. And we as panelists get the benefit of actually getting mentorship for an hour or so from an expert every week on a topic, right. And so I can show up and I can ask my questions. I can go do a little research beforehand and then the parts that I'm just not understanding I can bring to them. And hopefully there are questions that somebody else who's listening to the show is going to go, Oh, I didn't even think to ask that. Or I was playing with that and I had the same question. But at the end of the day, I can't stress enough having that mentor, having somebody that's a few steps ahead of you or maybe a lot of steps ahead of you who can say, this is a good resource, this is a good resource, this one's not a good resource. Here's what you need to understand first, here's what you need to understand next, what are you stuck on and kind of give you those indications. And sometimes those mentors are gonna be people that you actually go meet and talk to and ask these questions of. And sometimes the mentors are people like Kent or Kyle or some of these other folks who legitimately have just proven out that, hey, look, I've gone and done all the work for you. Here's the information you need. But one way or the other, if you can go find that authoritative person whose process you're gonna follow, whose advice you're gonna follow and whose system you're gonna follow, you get a whole lot further down the road. Now they may not be right on everything, but they're gonna get you a whole lot further down the road and give you a whole lot more process to pick this stuff up than other stuff. And then you can adapt from there. 

AIMEE_KNIGHT: One thing I would add to that, like I love people that were mentioning and the content they put out, but one thing to keep in mind is like a lot of these people, their job and how they make an income is by doing tutorials for the latest and greatest stuff. And so you might want to go to one of those people once you decide what you want to learn, but I don't know, I would slow people's necessarily into our per se because they're like, their job is to constantly be pushing content for the latest and greatest stuff. 

DAN_SHAPPIR: Also related to what you said, I'm not sure I'd call them a mentor. I mean, I would call them a teacher because in that context, first of all, it's highly unlikely that they'll do anything specifically tailored for a particular person, that's just not their business model. And also there's a monetary exchange involved, which is totally legitimate, but it's it's not the same relationship that you have as a mentorship relationship. I think like it's better than nothing. If you can't find a mentor, then buy one effectively. 

CHARLES MAX_WOOD: That was effectively, I think the point I was going to make was yeah. If you can't find somebody who will mentor, coach you paid or unpaid, then yeah. The next best thing is, is a structured system like this. 

AIMEE_KNIGHT: You can always do open source too. Like I feel like that's going to expose you. I don't know, at least to me, I should back up first and say so my previous comment, what I meant was, I don't know if those kinds of resources would give you like a depth of knowledge, it would more give you a like a breadth of knowledge. But like, I would say by contributing to an open source project, you're going to gain, I think more real world experience into seeing like this JavaScript open source project, how people are using JavaScript to solve certain problems dependencies they're pulling in to solve certain problems and you learn those different dependencies and stuff like that. 

AJ_O’NEAL: So open source is a really tough nut to crack because you get a lot of people that are jaded and disinterested, like they built something that's great. And then what happened afterwards was a nightmare and and now they don't really, you know, they're kind of curmudgeony and they're nitpicky. 

AIMEE_KNIGHT: You definitely need some thick skin. 

AJ_O’NEAL: But you can also find projects that have really great communities where they're really willing to help and excited that you're interested in their projects. And I would say typically, smaller projects are maybe more that way. But also, there's a couple of big ones. I last night did a live stream where I spent four hours and what ended up being a nine line code change and getty, which is a GitHub alternative that you can self host. And I tweeted at the getty organization right as I started the live stream. And during the live stream, different organ is maintainers of the project, popped in for a couple minutes and said, Oh, you're looking for this thing. It's over here. Oh, hey, check that out. And it was really, really awesome to have that kind of involvement, which I've never had before with an open source project. I mean, if you just comment on issues on that project, they will generally respond pretty nicely and work with you on trying to find a solution. But that that particular one is what I've never had an experience where doing a live stream and had maintainers jump on. And I don't know how somebody else would replicate that other than live stream while you work on open source projects and tweet at the maintainers. But if you get a good project, it can be a really wonderful experience. But yeah, like Amy just said, 

DAN_SHAPPIR: so what are we called hearing on our own podcast from people who spoke about getting into tech and also participating in open source projects is that one effective way to get into it is by offering to write documentation that a lot of projects. A lot of projects, it's kind of this thankless job that nobody likes to do. And a lot of excellent projects have insufficient documentation and they'll be very grateful for you doing it. And you will actually learn because everybody will want you to properly document the APIs and whatnot. So they will go out of the way to ensure that you know that you have the information, etc. 

CHARLES MAX_WOOD: Yeah. A friend of mine calls that sweeping the dojo, right? It's the...It's the thankless job. You're not the sensei who gets all the recognition, right? You're in there cleaning up afterward, but the sensei doesn't want to sweep the dojo and so you're essentially picking up some of the work that they don't have time to or don't want to do. And yeah, you do, you get a lot of that mentorship and recognition that way by doing that. 

AJ_O’NEAL: So on the topic of documentation, I think this is the most important thing. Any developer can be doing well, particularly ones that aren't senior devs that don't have the job that they want to have already. Because when you're starting out, your chances of becoming a great programmer within your allotted timeframe is about 0.01%. So trying to stand up against all of the other programmers in the world on your programming skills, half the time recruiters can't discern between them anyway. But if you can be a good documenter, everyone along the process is going to understand that. And more importantly, it's investing in yourself. It's investing in the company that you're going to work for, that you are working for and in yourself. Because if you have a blog or you have presentation slides, you have something to refer back to in six months when you forget that thing and need to go over it again. And that is invaluable. 

CHARLES MAX_WOOD: I've done that before, by the way. I had this problem, I solved it this way. And then six months later, Dan, what's wrong with this thing? And I go look it up. And then I clicked the link and I'm like, wait, this is my blog. 

AJ_O’NEAL: I was like, I, I'm the stack. Who answered this on stack overflow? 

DAN_SHAPPIR: Ah, anyway. Oh, what in the context of where to learn? I also want to mention an important play a place not to learn from. And that's Twitter. You can go to Twitter. You should go to Twitter to make connections. You maybe can find mentors on Twitter. Maybe you'll find even a job on Twitter, but I wouldn't go to Twitter to learn. It's, it's a very problematic source of information. 

CHARLES MAX_WOOD: Well, beyond that, it's, it's exceptionally hard to convey complicated ideas in the little tiny space they give you. 

DAN_SHAPPIR: Yeah. But I keep, I now keep seeing those Twitter threads about this or that aspect of JavaScript and 50% of the time. They're great, but 50% of the time they're really, really not. And I don't like those odds, especially for newbies. 

AJ_O’NEAL: I feel like those are better odds than normal. If you're saying 50% of the time, what's another medium where you, except for, except for Kent C. Dodds or Gitify, what's another medium where your odds of something being good are greater than 50%? And this is just a matter of statistics. Like most of...most of anything, it's Pareto distribution, most of anything is going to fall into the category of not great. That's just, I mean, even normal statistics, just 50% is below average. Well, 49.9999% is below average. 

CHARLES MAX_WOOD: Some of the below average stuff can still be helpful. It's just not as helpful as the above average stuff. 

DAN_SHAPPIR: Yeah, I think that was the point that I was also trying to make. If you consider YouTube video, okay? Yeah, usually they have this sort of a length and breadth and you can take what you want from it and maybe ignore some parts. And I think that even a newbie can identify that a certain talk is unhelpful at a certain point within the talk. The problem with tweets, especially given their size and format, is that they're given like as these sort of commandments. Like you should be doing this or you must never do that. And a lot of times you don't have the appropriate context unless, I don't know, that person is followed by somebody who does and cares to comment on it. Or then you go through all the comments and you know, you can easily get lost in the Twitter threads. And again, you don't know necessarily who to trust and not. So, so I, I, I still think that, and I never actually calculated the odds. And it really also depends, I guess, on who you follow, but learning from Twitter can be really, really tricky. 

CHARLES MAX_WOOD: Right. So I have another button I want to push here because it seems like a lot of this advice is more heavily geared toward newer people. And even if you're looking at like Kent, Kyle's kind of an outlier because a lot of people don't understand the fundamentals of JavaScript at the depth that he goes into in his content. 

AJ_O’NEAL: Well, Kent covers a lot of fundamentals of React. 


AJ_O’NEAL: I mean,What's that quote that we always say on the show? Once you learn the fundamentals, there's nothing left or something like that. 

CAHRLES: I don't know about anyway. The my point is, 

DAN_SHAPPIR: is sorry, I have to interject. The problem with react is that they change the fundamentals every year or so. 

AJ_O’NEAL: So react is kind of like it keeps the same name. It keeps the same brand effect, but in effect, it is a new framework. So, so, you know, we talk about frameworks come and go and people say, well, reacts been around forever. Well. Yes and no. I hadn't thought of it that way, but you're absolutely right. 

CHARLES MAX_WOOD: Yeah. But my point is, is that a lot of the content out there, especially you go to YouTube, you go to some of these other places, they it's geared toward beginners, right? It's geared toward people who are getting in because you get more clicks, you get more follows and stuff like that because we consistently have more people coming in than have ever come in before. The other thing is, is that it's really easy to treat the eat the basic stuff because there's so much other content out there that you can go and you can fill in any knowledge gaps that you happen to have. But as you kind of level up and it's like, okay, now we're getting into how React does a thing or how Angular does a thing or how this particular library plays with this other library or I want to understand these deeper programming concepts that may or may not have anything to do with JavaScript. They may be used in JavaScript, but aren't specific to JavaScript or things like that, I want to deepen my knowledge, but there aren't as many resources out there. And I talked to people who run into this issue too, where now they're going, okay, I'm an intermediate developer. I've taken the time to understand the fundamentals. I've got these handful of things that I want to understand next, and there's nothing that really explains them. So what do you do then? 

DAN_SHAPPIR: I've got a partial solution. And so one important thing to remember is that we're always newbies in something. And my kind of solution to the problem of breadth and depth is the double speed in YouTube. If I want to learn something new and the talk is really geared towards beginners, then I just listen to it in double speed. And I always have the option to occasionally slow down or go back like a few seconds in order to listen to some deeper statement that's being made. That's something I do a lot. Just listen at double speed and then the information gets more condensed. Another thing, and again, I don't necessarily know how to give this as an advice, but one thing that I'm really lucky about is the company that I work for Wix actually gives a lot of internal talks. We even have an internal conference, but beyond that, like every Thursday, we have developers in the company giving talks technical talks on particular subjects and topics. So, and that's a great way to learn. So if you're able to, I don't know, pick an employer that does something like that, kind of certainly pays you to learn, but even helps you to learn, that's a huge benefit. 

CHARLES MAX_WOOD: Yeah, I agree. 


Are you ready for core web vitals? Fortunately, Raygun can help. These modern performance metrics play an important role in determining the health of your website which is why Raygun has baked them directly into their real user monitoring tools. Now you can see your core web vital scores are trending across your entire website in real time and drill into individual pages to focus your efforts on the biggest performance gains. Unlike traditional tools, Raygun surfaces real user data, not synthetic, giving you greater insights and control. Filter your score by time frame, browser, device, geolocation, whatever matters to you most. And what makes Raygun truly unique is the level of detail they provide so you can take action. Quickly identify and resolve front end performance issues with full waterfall breakdowns, user session data, instance level diagnostics of every page request, and a whole lot more. Visit raygun.com today and take control of your core web vitals. Plan start from as little as $8 per month. That's raygun.com for your free 14 day trial. 


CHARLES MAX_WOOD: One other thing I want to just throw in because again, it goes back to kind of two versions of what you've talked about and what has been brought up before. One thing is that those lunch and learns or Wix get together, hey, somebody is going to talk about this thing. I mean, you kind of get that with the meetups, right? With the users groups. And so you can go and usually it's a little more cozy, intimate setup, right? I mean, some of the users groups I've gone to had hundreds of people in them, but most of them you're under a hundred, typically under 50. And so you show up, you can hear the topic from somebody in your local community, or you can even request the topic a lot of times. I want to learn more about this." And then they'll be like, does somebody want to present on it? And then you'll have a talk on it the next month. But you can have those kinds of things. The other thing is, it's a terrific place to actually go meet people who can walk you through that next piece. And in some cases, I've actually met people who became mentors of mine. And it wasn't necessarily like a formal setup. We would just get together periodically and talk through the stuff that I wanted to learn that I knew or that they knew. And then we talked through the stuff that they wanted to learn that I knew. And, you know, and so we'd have that exchange of ideas and work through that. And it was all based around the fact that it was easy for us to get together. And so there's a lot of power that comes out of a set up. Like what Dan's talking about there. 

AJ_O’NEAL: There's two things that I, I wanted to touch on with, but one is pick, you said pick someone above you, but you can also pick someone beside you, but that also means that you have to pick a side. Cause a lot of people think that they're full stack developers. And there's no such thing as a full stack developer. There's backend developers that do frontend poorly, and there's frontend developers that do backend poorly. But except for the rare unicorn in that 0.01%, there's not people that do frontend and backend well. And so you have to pick a side, but then once you pick a side and you pick the things that you are going to learn, then you can cross pollinate with someone that's adjacent to you because you can become more expert in the small set of things you're choosing to learn. They can be expert in the small set of things that they're choosing to learn. And then you can share with each other as needed. And I've got a relationship with someone that's gone on for years and years. And it started as he hired me to help him with some Ruby code back when I did Ruby. And now we talk almost daily and share tips and tricks about things that we're learning. And it's amazing. The second thing that I wanted to pick on was that you said just a bit earlier, said something about employers and learning. I hear from so many people this attitude, as if they're waiting for their employer to force them to learn. Like, I'm not going to learn at my job. And so there's a user story that says you need to learn something, which that's not serving your employer well. I think that which way you do it will depend on your learning style and your personality style. But when you come in in the morning and you're getting settled and having your coffee or your bagel or whatever it is that you're doing, you should be spending that 20 or 30 minutes perusing some blogs, looking at a course on Udemy, doing something to make your day go better for you and your employer, not wait around and then complain, Oh, my employer never trained me. Well, just because they don't have the understanding of how to train a developer, doesn't mean that you relinquish your responsibility. 

DAN_SHAPPIR: So I have two things to say about that. In many places, people say I don't have time to learn. And I take exception with that, because in many cases, we provide the time estimates. So all you really need to do is to factor into your time estimate some learning time. And you will find that very, now don't like throw it necessarily in your employer's face. Like tell them, no, I could have done this in a month, but I took two months because I want to learn a lot of stuff. Obviously you shouldn't present it that way. But you can definitely, when you're providing the estimate, in that estimate include some learning time. And I think very few employers would argue with that unless it's a very special circumstance when you're under the gun or something like that. So that's one thing that I wanted to mention. The other thing that I wanted to mention is that I, at least pre-COVID. I would literally, when I wanted to stretch my legs and kind of get my head out of a particular space, I would literally go around the floor in the company, stop by people's office, ask them what they were assuming that they're not in the zone. I don't want to interrupt anybody who's in the zone. But let's say, you know, you could tell that they're not in the zone right now. I would literally start talking with them about...what it is that they're working about, what they're doing, how they're doing it, and if they're using interesting technologies, if so, what are the technologies that they're using? Maybe I know some stuff that could help them with what they're doing. And this creates a sort of cross-pollination that AJ was talking about and also you, Chuck. And again, if you're not working in a place where this is possible, then a meetup is...Definite is can be a great alternative to 

AJ_O’NEAL: If you're not working at a place where that's possible do it anyway, and when you get fired You're gonna get a much better job with much better pay 

DAN_SHAPPIR: well sometimes You're working at a small place where or where it's kind of more difficult to do Because they're just then 

AJ_O’NEAL: they don't have the ability to like one it wouldn't make sense for them to not let you do that and two They don't have the capacity to replace you in the first place you're making yourself better, you're making yourself more productive. It's not going to take you two months because you learned something new. It's going to take you a month and a half because it would have taken you four months because you gave a one month estimate and you were off by four. But because you took the time to plan, learn and prepare, you were able to do it in almost the same time as your estimate. 

CHARLES MAX_WOOD: What one thing that I want to add to this is, and then this was something that Dan said where he says you're thinking you don't have time and you can definitely if it's if it's work related, yeah, build it into the estimate. I did that when I was freelancing too, right? It was just kind of a hey, look, you know, I understand these technologies and I'm going to have to figure out how to do these things in order to get your feature built. And so I would just build that time in and I'd bill them for it. Right. I wouldn't abuse it, but it was realistic and I felt like I accurately represented what they were paying for. But the other thing is, and this is another thing that drives me nuts is people are like, well, I just, I don't have time. And my, my answer is get up a half hour earlier or an hour earlier and every day, and then put in the time. People do this to get into shape. They do this for all kinds of other things that they have going on in their life that they didn't have time for in any other way. Seriously, drag yourself out of bed a half hour earlier and sit down and do the work to learn because yeah, at the end of the day, it's your responsibility to learn this stuff. It's not your employers, it's not your coworkers, it's not, it's not anybody else's responsibility to make sure you learn this stuff. It's your responsibility. And if you want that better job, if you want that better situation, if you want that better, then you've got to be learning and picking up the understanding and skills that are going to be needed in order for you to get that. And if you don't, then in my opinion, you can't complain about not having it. 

AJ_O’NEAL: And if people, if you're listening, and you know of a strategy that's worked really well. Please tweet us at JS Jabber because I would love for us to be able to read some of these and bring them up on another episode with your tips of what's worked for you, what works at your job place, the challenges you've gone through. I personally would really love to see that and go through it and understand what's happening out there other than with us old dudes and Amy. 

CHARLES MAX_WOOD: Yeah. So one other thing I'm just going to throw in here cause we're kind of getting toward an hour here. Because I do have a way of thinking about this that I haven't really heard articulated anywhere else. And that is that there are different kinds of learning resources and not all of them are created equal. I mean, Dan talked about the podcast and the podcast is nice because it's a passive thing I can put in my ears and listen to on the commute or on a walk or when I'm doing the dishes or whatever. But the problem that we have on the podcast is we can't actually show you code. We're audio only. We're not, I'm not going to read you function, blah, blah, blah, blah. Right. And I'm not, you know, bar this, const that I'm just not, it doesn't make sense. Right. No one is going to be want to listen to that. So we can give you the conceptual ideas. We can get the experts to come in and explain them. We can, we could do a lot of that stuff on the podcast, but it shouldn't be the entirety of your learning experience. So where do you go for those code examples? Where you go to video or you can go to books. But the problem with those is they're not passive, right? You can't take them around. But the flip side is, is that typically the videos are going to show you the code that will get the job done for whatever problem they're trying to solve. And the books are nice because they actually go deeper than we have time to go into on the podcast. So that's why I'm saying dedicate some time so that you can stand up, sit at your computer, sit in a chair with the books you can read or watch, right? And then take us with you when you get in the car you can listen so you can reinforce it. And if you're learning about a topic that we discussed six months ago, go back and get that episode and put it into your queue so you can listen to it. Some of the other ones that are out there are blog posts. Blog posts are the worst of the book option, honestly. There are conference talks and conference talks are a great way to get an introduction to an idea because again, they're timeboxed like we are. And so they're not going to go as deep as say a book. But it's a good way in my experience to sample things and get a feel for, okay, is this the next thing I want to learn? Is this going to be valuable to me? Are they talking about a problem that I actually have? The conference talks are almost sales pitches for these different technologies. And so you can get a real quick idea of what's there without having to commit a ton of time to it. And then you play it at double speed like Dan does, you get all that out of it. And so typically...When I start coaching somebody on how to improve their situation, typically I sit down and like Amy said earlier, figure out, okay, what do you need to know in order to get where you want? And then you can start going and sampling stuff off of the conferences, go pick and choose some of the podcast episodes that talk about the conceptual ideas, and then figure out where you need to go deeper. And that's where you go pick up the books or see if there are videos or other places where they go deeper and actually show you what the code looks like. And if you can follow that process, then at the end of the day, you get this well-rounded exposure to the ideas that are tied up in whatever it is you're trying to pick up. I was actually on a call with a coach who was coaching me today and he said something. I wrote it down because I thought it was brilliant. And it really sums up where it was. He says and this is one of his philosophies. He says, I will immerse myself in the study of anything I truly want. And so that that's the idea here is, decide what you truly want. Decide what what things you need to have or understand to get there, and then immerse yourself in each of those things until you get it. 

DAN_SHAPPIR: I wanted to add something to what you said, I totally agree with everything you said. And I think we're very fortunate to be living in a period where there are so many options in terms of being able to learn a topic like the ones you listed and that are appropriate to different scenarios. One thing that I did want to add to that is that I found both of myself and others that different people have different ways in which they learn best. So you got to kind of learn about yourself, what works best for you. Some people work more with audio content, other people. I like to read stuff. For example, I learn, for me, it seems to me that I learn the best by listening to stuff. My memory was really good when I just hear something being explained. My wife, on the other hand, she likes to have it written down and she would like, she basically likes to like mark it with a Sharpie. She likes to print stuff out and then, you know, mark stuff, like to indicate to herself where she is. And she remembers the things as she marks them. So different strokes for different folks, I guess. And you got to learn to, to learn yourself, you know, learn about yourself, what works best for you and leverage that. 

CHARLES MAX_WOOD: I agree. The, the point that I want to make though, with that is because yes, definitely play to your strengths, right? Adapt the process so that you're, you're going with what works for you, but make sure that you're not leaving any giant holes because you just don't like reading books. I mean, I know that there are some people that they have specific issues that make it hard for them to read a technical book, but, or they have specific issues that make it hard for them to have the attention to sit through a conference talk. But, but those things aside, just realize that you, you may be missing some critical piece by exclusively going with one medium. 

DAN_SHAPPIR: I also wanted to add that sometime learning is tough. It's not, you know, we keep on, I keep on talking about the fact that, you know, I enjoy it, I like it, I enjoy learning new stuff, but sometimes it's really hard work. One of my, the achievements that I was most proud of from the beginning of my career is that a certain point in time, I was really into windows development. And there was this stuff called OLE and ActiveX, if anybody's old enough to remember those terms. So I basically picked up the book inside OLE second edition, which was something like 2000 pages, and I read it cover to cover. And it was really, really hard. But when I finished, I really knew my way around OLE which gave me a significant advantage in the workplace. Back then it was like the cutting edge technology to know, and I'm definitely dating myself. And I remember even meeting, I think it was Don Box, who was again, dating myself, was one of those original tech stars that talked about the topic and any came to Israel and he presented this huge Microsoft event. And I came up to speak with him afterwards. And then it turned out that he learned about it the same way that I did. And we just kind of fell into this conversation and I actually made a connection with him because we both of us learned this topic the hard way by reading this really difficult, heavy book about the topic. And so, yeah. Sometimes learning is hard and you have to put in the work. 

CHARLES MAX_WOOD: Well, and that's the thing that I see more than anything else is when somebody comes and says, hey, I want to be the next John Papa or I want to be the next Kent C. Dodds, right? I just want to do, I want to do this a little bit. I want to be this person. And well, and it's, I look at them and I basically tell them, okay, but you have to realize that Kent has done a lot of things and learned a lot of skills that go beyond what most people are willing to do. And so if you're not willing to step up and do what Kent does, you're not willing to take the steps to, to learn some of the things that aren't natural to you that it takes to sell a course like West boss or to put on content like these guys do right to go give conference talks like John Papa does. If you're not willing to take those steps and go do the hard learning that Dan's talking about, the stuff that's not natural, that's a lot of work that really kind of sucks to go through, right? Then don't expect to get those extraordinary results. And so that's the other thing that's interesting about a lot of this stuff is just, again, are you willing to do what it takes to take those steps? Are you willing to immerse yourself in study of the things that you really want?

AJ_O’NEAL: And all of those people have been prolific in writing down what they learn on a fairly regular basis, as you can see from their blogs. And they've all published things that have fit a niche, you cannot take Kent C. Dodd spot it is already taken. He is already depended on by react and many other libraries for libraries that he's written for testing that they now use. So you have to, you have to pick a niche, pick an area of you know, where you can grow into that too. And it's a long time, it's not. You don't set out with the well, maybe you set out with the goal to become gets Kenzie Dodds and become him But you know you you work on the thing you you strive for excellence 

CHARLES MAX_WOOD: Yeah,and so I can't you can't supplant him you 

DAN_SHAPPIR: I can't become a YouTube star overnight 

AJ_O’NEAL: Well, 

CHARLES MAX_WOOD: if you find somebody else who did it and you do what they did 

AJ_O’NEAL: Not overnight it takes about a week to a month to make a video that will get 20 or 30,000 views in a few months but if you were consistent about spending basically treating YouTube as a full-time job and creating a video every week that was of high quality on a particular subject matter that just five to 15 minutes long, then after six months you could become a YouTube star. 

CHARLES MAX_WOOD: Well, the thing is, is I don't want to say that you can't. But the thing is, is that you have to have a lot of things go your way. Right. Otherwise the more conventional path is what AJ is talking about. 

DAN_SHAPPIR: Yeah. But that kind of circles back to the original topic of our discussion about how to learn stuff and neglected to say it, but it needs to be said that probably the best way to learn something is to teach it. 

CHARLES MAX_WOOD: Yeah, and that goes into a whole new category of things that we don't have time to go into. But I mean, that's kind of the next level. When I start talking to people about, yeah, well, what else can I do? Yeah, it's down to, well. Do you understand it well enough to write a blog post about it? Do you understand it well enough to give a conference talk about it? Do you understand it well enough to do a podcast episode about it without being able to go look up more than minor things that you might have to course correct on? Because if you're on in the moment, you don't have the opportunity to go and do the deep dive then you have to know the stuff when you go for it.

DAN_SHAPPIR: And it turns out that very often when I do prepare a presentation or talk or a course or a blog post about something, I come face to face with my built-in conceptions or even misconceptions. And it turns out that various things that I was absolutely sure are correct. Turns out they're not exactly the way that I thought that they are. So yeah, it's an excellent way to refine your understanding. 

CHARLES MAX_WOOD: Yeah. Well, and Dan, I will tell you that experience is not unique to you. I've experienced it myself plenty of times where I get going on something and then I go, Oh wait, I don't know if this is this way or that way, or I was sure that this worked that way and it turns out it doesn't. 

DAN_SHAPPIR: Yeah, definitely. 

AJ_O’NEAL: I've learned so much from people on the show telling me that I'm wrong. True story. 

DAN_SHAPPIR: I volunteer to do it as often as required.

CHARLES MAX_WOOD: Dan, we will hear nothing else. Oh yeah. 

AJ_O’NEAL: Amy, where are you at? Are you here? We need to get you in before, we need to get your comments and thoughts before we wrap up now. 

AIMEE_KNIGHT: Yeah. I mean, I've kind of tried to chime in as we go. I don't know. I just, I'm trying to figure out how to summarize my thoughts. I know the goal of this conversation is like, how do you know what to learn? And I guess this isn't brilliant answer, but it's more of like a warning, I think of like, like pick the right things to learn. And I guess in my mind, the bright things to learn aren't always the most advertised things to learn. So that's what my grand comment is for the episode. 

AJ_O’NEAL: Any examples? 

AIMEE_KNIGHT: I mean, it's hard because I know we're specifically talking about JavaScript here. And so I don't know. Like I said, it's like, I would try to think more about like, the I don't know, my thought is like, think more about different problems that you wanna learn how to solve. And then that will naturally lead you on a path of like potentially different tools to use to solve that problem. And I feel like that might be a little bit more valuable, but that's based on the assumption that you already have the basics down. Cause if you don't have the basics down and you're looking for a job or, you know, something like that doesn't really make sense to like go down some like esoteric pathway. 

DAN_SHAPPIR: Amen to that. Because way too often I see people that either because of their, you know, attitude or even necessity, like skip over the basics. I need to know react to find a job. Unfortunately, I don't have, I don't know enough JavaScript, but I'm really to find a job, so I'll just go and learn React without paying the foundation. Now, it's, it's, I understand why it happens, but it's really problematic. And unless you then afterwards go back and, and fill in the gaps, which a lot of people tend not to do, unfortunately, it's, it's, you're setting yourself up for potential failures, I think. 

AIMEE_KNIGHT: Yeah. I would add to like. This still has a lot to do with JavaScript. And if you're going to call yourself like a JavaScript developer, especially front end, but even back end, depending on the app, like if it's a, you know, an app that you would access via your browser or something, even if the back end is written in JavaScript, like not just JavaScript, the language and like the different tools, but understand how the browser works. Understand like at a surface level, like what happens when you type in, you know, google.com. And again, you don't have to go down a huge rabbit hole, but I see like when we're talking about basics, like those are pretty fundamental things to your job that you'll want a very cursory level understanding of as a JavaScript developer that has to do with JavaScript. So, I would just add like, understand like how a CDN works or understand how cookies work and all that kind of stuff.

AJ_O’NEAL: Oh, and do understand how CDNs do and don't work. 

AIMEE_KNIGHT: Do and don't work for last week. 

AJ_O’NEAL: Because CDN means one thing if you're an enterprise that is deploying something for yourself and that is the correct usage of the term CDN. And it has a completely different meaning when you have 30 different quote unquote CDNs that are delivering your JavaScript, which are not configured to behave like CDNs at all.

CHARLES MAX_WOOD: Yeah. One other thing I just want to add to what Amy is pointing out is that I think it's deploying to the CDN. 

AIMEE_KNIGHT: I mean, it's just all these things that are important to know, but aren't the hot thing to learn. 

CHARLES MAX_WOOD: Yeah. And my thought was essentially that if you're trying to go out and desperation learn React, or you're trying to go out and desperation learn even these fundamentals, right? It's a different thing tha being steady, steadily picking this stuff up, steadily improving your skills and your, your knowledge. Because at the end of the day, when you find yourself, all of a sudden I lost my job. You know, they closed up shop because they weren't making enough money and they didn't tell us. And then they, you know, I showed up and they had locked the door or whatever, you know, whatever your situation is, it's good to have already gone through the process and to be continually going through the process. And so and those fundamentals are the things that are going to transfer from job to job. The stuff that Amy's saying we want to learn, that's the stuff you're going to take with you to the next job that you know will apply. 

DAN_SHAPPIR: So I will add to that. Like it's when you're developing it's everybody says bad things and justifiably so about technical debt, but sometimes there's no helping it. You know, if you're working with a deadline and it's whether or not the business survives, then it's sometimes, you know, it's there's literally no option and you have to accrue some technical debt. But then the question is not whether or not you have technical debt. It's the question is what do you do about that technical debt? Do you eventually pay that debt out and not just get more and more into debt? And I think it's kind of the same with learning. Like sometimes you get into debt of learning certain things in react or view getting the properly understanding the basic underpinnings of how the web works. And you've accumulated debt as a result. So just make sure that at some future time you go and you pay back that debt by learning and filling in the blanks on that missing information. And again, I think that that series of episodes that we had and we will probably put it in the show notes or something. I actually recently tweeted it with all the links about the things that JavaScript developers should know, I think include, or actually must know, and then we did a few about should know. 

AJ_O’NEAL: I don't trust tweets though, Dan. 

DAN_SHAPPIR: Yeah, especially for sure, and justifiably. So, but again, in the things that JavaScript developers must know, I think included a lot of references to a lot of this information that you should listen to it and if you say, hey, I'm not actually so sure about that, well then maybe that's your opportunity to then go to YouTube or search for blog posts and learn about that stuff, that information that you're lacking, like Amy mentioned, like for example, the browser event loop or how the networking stack works, what's the difference between maybe HTTP 1.1 and HTTP 2, stuff like that. Yeah. 

CHARLES MAX_WOOD: Yep. All right. Well, we're kind of at the hard limit before we go picks, but this was a terrific conversation. But yeah, let's do some picks. 

Hey folks, it's Charles Maxwood. And I just wanted to jump on real quick and let you know that I am putting together a podcasting course. I get asked all the time. I've been coaching people for the last six months. How do you start a podcast? How do you put it together? What do I need in order to get it going, et cetera, et cetera, et cetera. I've put together the curriculum and I did it through coaching a whole bunch of people and now I want to share it with you. You can go check out the course. It's actually going to be a masterclass. It's going to be a four week masterclass or actually walk you through the entire process of watching a terrific sounding podcast and putting together content that people want to listen to. And you can find it at podcastbootcamp.io. 


CHARLES MAX_WOOD: AJ, do you want to start us off? 

AJ_O’NEAL: Sure, I will. So I think that it would be really good for us to pull some beginner resources because everybody here has learned the fundamentals. But I think, like I said, what you find is when you search for it, 90% of what you get is crap. And so my first pick is going to be what I think is the best resource for learning JavaScript, especially because it takes place over a few, a few years. And. Crockford's opinion chain changes through the course of the presentation. And he arrives at the same conclusions that I have arrived at and he was the one that got me started down the path. So to see that I arrived at some conclusions and he came back around to them to me indicates that they're really good, but he's a minimalist. He would probably be extremely anti things like React and Angular. He is very much a make the fundamentals so good that you don't need other things, which I think is very much the go mentality. So I, uh, tangentially, I'll just pick go there. Also, one of the best ways to learn that we talked about is to pick something that you're interested in and build it, pick a project. And I've actually had a lot of people ask me, well, what is a good project that I should work on? If you don't have something that you know you're interested in, I have a growing list of project ideas that I will link to. It is the Beyond Code project ideas list. And these are projects that I believe are good for a portfolio or resume. The most important thing of course, though, is that you document them. So one more thing before I get onto that. So js.org, if you have a JavaScript project, you can host your documentation there. You could host a JavaScript learning resources blog there. It is a free to use domain. You just do a pull request with the domain name that you wanna use. So you can go to name.com, which that's what I recommend because it's the simplest and easiest and best all around. Get a domain and then tie it to js.org or sorry, I said that completely backwards. You can do that with GitHub to do GitHub pages or you can use js.org. Sorry, I got my streams crossed there. So, and with that said, I think the most important thing that you can learn is how to document, because it doesn't take much effort to be an outstanding documenter. It takes about 30 minutes to learn Markdown. And by learn Markdown, I mean master it with true expertise, because there's only about 10 or 20 things you can do in Markdown, and they're all about style and formatting. So if you learn those things, you will literally be a master in comparison to most people around you, which means your documentation in your blog will look masterful. And so I have a cheat sheet that I've compiled from basically the top 10 other cheat sheets that I have found as well as a challenge that if you can take the image that is provided and produce it using markdown and only markdown, I don't believe there's any HTML and if there was, then it would be indicated in the notes of it, but I don't think there's any HTML there. It's pure Markdown. If you can implement that cheat sheet, then you are a Markdown master and you can claim mastery in that. And then I have, once you learn to document, you need to blog and I'm working on a blog system called Bliss, which I'll link to, but I won't say any more about it for now because it's in its early stages, but the readme is probably will be good enough by the time you get there. I'm already using it. And then after that, just my normal spiel. If you want to follow my code tips and live codes and all that. You can follow me on beyond code on Facebook, YouTube, and Twitter links in the show notes. 

CHARLES MAX_WOOD: All right, Dan, what are your picks? Okay. So I'm going to start by contradicting myself about the dangers of learning from Twitter already. Yeah. By actually referencing a tweet that I myself put out, which is just the a tweet thread, a Twitter thread of all those talks we gave about things that JavaScript developers must know and should know. So if you just want to find the condensed list, follow that Twitter link that will be in the show notes. I, for every one of these talk, I give a really short overview, you know, whatever fits in 180 characters of what some of the items that we discussed in that particular episode. And I think it's really useful for people who are learning the topics that we were talking about. Uh, the other pick that I want to, to make is dev chat TV. I think a lot of people who listen to podcasts tend to listen to the latest podcast and one thing that I like to do with podcasts that I enjoy is to basically just go back and listen to back episodes because a lot of the stuff stays relevant. Not everything, not always, but a lot of it does. And devchat.tv has such a wealth of information about so many technical topics, it's just an amazing resource. Obviously the JavaScript Jabber episodes, we are, we are what we're, what episode are we at now? 

CHARLES MAX_WOOD: Almost 500. Almost. 

DAN_SHAPPIR: So you're talking about. I don't know, 500 times an hour and a quarter each, I'd say an hour worth of content each. That's 500 hours worth of content. How many days is that? That's like an amazing resource. So that would be another pick. Kind of on the same vein. So as a lot of you know, I'm into web performance. That's kind of like my day job, but something that I'm really interested in in general. And one of the best people in front end performance is a guy called Tim Kadik. And he's working on this excellent tool called web page test that anybody who's involved in web performance should be familiar with. And what he's doing now is putting out this series of videos in which he shows how he's using these tools to analyze and then fix the performance of various sites. And it's very instructive. He explains things really well and he literally shows what he's doing. So that's another excellent resource that I wanted to highlight. And those would be my picks for today. 

CHARLES MAX_WOOD: Awesome. So I'm just gonna throw a number out there and then I'll let Amy do her picks. But last time I looked devchat.tv had about 3200 podcast episodes on a total. We have shows about React, Angular and Vue. We have shows about other stuff too. So definitely come check us out. If you're looking for stuff, we have stuff on freelancing, we have women in tech, all kinds of stuff. So if you're looking for a show, yeah, give us a shot. If we don't have a show on the topic you're looking for, let me know because I might be able to find somebody. So yeah, Amy, what are your picks?

AIMEE_KNIGHT: I think I've picked this before, but it goes along with what you're talking about today. I'm going to pick the Cloudflare blog. They have tons of great content for... 

AJ_O’NEAL: They do. 

AIMEE_KNIGHT: They really do. They're like the best resource out there for learning certain types of things. I think they have like a... I don't know if I would call it like a curriculum, but they have great docs on just like the basics of a lot of this kind of stuff. Like a lot of networking type stuff. 

CHARLES MAX_WOOD: Awesome. Well, I'm going to jump in with...Oh, go ahead. 

DAN_SHAPPIR: Oh, I just wanted to say that I've often found that a lot of front end developers have a lack of knowledge about networking. And this is a really important topic given that everything we do is kind of over a network. 

CHARLES MAX_WOOD: Yeah, that's true. All right. Well, I'm, I'm going to jump in with a few picks. So one of the things that I committed to today, actually, so I was talking to this, uh, this coach before this call is I'm going to start doing a weekly webinar. Now, it's not a webinar in the sense that it's like, hey, here's a whole bunch of information, giant sales pitch at the end. Basically, I'm not going to do any sales pitches. I just want to help people out. And so it's mostly going to be focused on how to level up within your career. So if we can help you figure out what to learn next, we can help you figure out how to handle a situation at work, if we can help you figure out how to get a promotion or get a raise or anything like that. Just go to devchat.tv slash, I think I already used Level Up. So let's do devchat.tv slash, I'll just use Level Up. Go to devchat.tv slash Level Up. And in fact, Jib, if you can edit that, that would be great. I'm going to start it over. So if you want to go to devchat.tv slash Level Up, essentially what I'm going to do is I'm going to do like 20 or 30 minutes worth of just, Hey, Here's how I go through a conference talk or here's how I figure out what to learn next or here's, you know, this is going to be some kind of training. And then after that, I'm just going to answer questions and we'll go until I either out of time or we run out of questions. But yeah, go to devchat.tv slash level up and then you can just RSVP for the next one. It'll probably be during my lunch hour during the week. And yeah, I just I really want to just talk to people find out what your problems are and solve as many of those as I can. And so yeah, if you want to do that, I'm also on Clubhouse and I'm finding that there are a few other folks on Clubhouse who are doing developer related stuff, either related to technology or careers or other stuff. And so if you're looking for another resource on there, Clubhouse is actually really cool. I think it's still iOS only though. 

DAN_SHAPPIR: So I think they just recently, I think they recently came out with an Android app. 

CHARLES MAX_WOOD: Oh, did they?

DAN_SHAPPIR: I think so. I'm not 100% sure. I'm actually not 100% sure that Clubhouse is still a thing though. 

CHARLES MAX_WOOD: It's still there. 

AJ_O’NEAL: Yeah, it would be surprising if they didn't have an Android app considering that somebody open sourced it and wrote it for them. 


AJ_O’NEAL: Yeah, yeah. Well, this was way back in the early days. Like, well, early days. I don't know how long it's been around. But say three or four months ago when it started to hit that big peak where everybody was talking about it, there was an Android app or maybe it was just a web app. But their code was made publicly available, how to use it. It turns out it's just, yeah, it's an interesting way they've got it set up. 

CHARLES MAX_WOOD: Yeah. Anyway, probably going to be doing some club houses just in general. So you can follow me on there. C max W which is the same as my Twitter handle, but yeah. So those are some of the things that I'm doing. And then I'm going to throw out a couple of just other things that aren't stuff that I'm working on or doing one of them is pragmatic thinking and learning by Andy hunt. It's a book. It's pretty darn good and I've really enjoyed that. The other one is, and this is the most popular episode on devchat.tv is how to learn. It's episode 131 of Ruby Rhoades. But every time people listen to it, I always hear back from them going, wow, that was awesome. So anyways, yes. Katrina is awesome. So anyway, we'll put all those in the show notes as picks and yeah, we'll just wrap up here. So yeah, thanks team. This was a ton of fun. 

DAN_SHAPPIR: Yeah. Thank you, Chuck, for the idea. It was a really interesting conversation. 

CAHRLES: I think. Yeah. Well, Max out everybody. 


AJ_O’NEAL: Adios. 


Bandwidth for this segment is provided by Cashfly, the world's fastest CDN. Deliver your content fast with Cashfly. Visit C A C H E F L Y.com to learn more.