December 9th, 2024 × #Web Development#JavaScript#Learning
How to Go Deeper With Your Learning
Discussion on how to go beyond surface level skills and really dive deep on a topic through real projects, reading docs, consuming niche content and more.
- Excited to go deep on learning
- Spent hours customizing new app, submitted PRs
- Tried new window manager app, too frustrating so went back to regular snapping
- Pick a non-TODO real project to find edges of framework
- Scott building survey app to go deep on LocalFirst
- Build something real to increase learning
- Read the docs - gives surface area of system
- Read source code to understand how things work
- Consume talks and blogs to go deeper
- Valuable niche conference talks often have few views
- Fascinating talk on rebuilding Webpack at scale
- Go to conferences even just for networking value
- Get value from Discord channels and Reddit
- Ask questions of a mentor even if informal
Transcript
Scott Tolinski
Welcome to Syntax on this Monday Sanity treat. We're gonna be talking about how to go deeper with your knowledge. You know, we all pick up surface level skills. We even pick up, like, medium level skills, but how do you really get that fine tuned Deno knowledge on a subject? Well, we're gonna be talking about all that and more today. My name is Scott Tolinski. I'm a developer from Denver. With me, as always, is Wes Bos.
Wes Bos
Hey. What's up? Excited to go deep today, on on learning. Yes. Me too.
Excited to go deep on learning
Scott Tolinski
You know what? For somebody like me, it's a little tough at times to to go really deep on a subject. I like a lot of things. Right? I like a lot of different things. I like to pick up something, explore it, and then move on to the next thing. Build something. Build move on to the next thing. But there are are, I guess, some topics that I I have, like, devoted a lot of time to. Right? And I don't know if it's just, like, part of my personality that makes it tough for me to do that. But are you able to really I I know you're you're such a guy who who really kinda goes deep on a subject from from the jump. Right?
Wes Bos
Yeah. It it it's almost a, like, like, a bad thing, because I'll I'll often find myself being like, for example, I was trying out a new window management, app called Aerospace.
Spent hours customizing new app, submitted PRs
Scott Tolinski
Yes.
Wes Bos
And and I put, like, 5, 6 hours into it. And and the next thing you know, I'm I'm submitting a pull request in ESLint to the thing. And I was like, man, like, I wish I could just use the thing and and be okay with it, but, like, I I go down these rabbit holes. And, almost always, it ends up with me correcting the docs or sending a pull Wes. And I think, oh, man. I shouldn't be spending this much time on this thing.
Scott Tolinski
You know what? I I tried to go deep on that, and I was, like, so frustrated with it after about 30 minutes. I was like Yeah. Woah. I'm gonna have to eat it. Like, you may you warned me. I would have to spend the whole day on it, and I was like, I'm either spending the whole day on this or I'm going to, go nuts with it because it was definitely useful for people out there.
Tried new window manager app, too frustrating so went back to regular snapping
Scott Tolinski
It does a lot of things automatically, and I'm used to it, like, hitting a keyboard command and having my my window snap to a certain spot. And this is not that. This is like you're setting up previous rules. Window manager. Yeah. It's like your you have a whole grid, and then you can, like, put things in different workspaces
Wes Bos
and and resize the items of your grid. But everything is always a 100% of the screen, and and you have to tile them differently. And I tried it for for a week and a half, and I turned it off yesterday because I was like, I especially with recording, it's just a little bit too frustrating.
Wes Bos
And I went back to just my regular old snapping.
Scott Tolinski
Yeah. I know. It I think there's potential there. There was just so much configuration, which yeah. Again but, hey, let's talk about, not having that much configuration to get a lot of value in Century Century dot I o. Man, I don't know if you know this, Wes, but when we added Century to the syntax site, there's just a wizard, and it added it for me. I didn't have to really do very much. And, I think bearded man sends a pull request to your your repo and adds Sentry in. Yeah. And Sentry, the the platform that helps you fix and solve bugs, but it also helps you trace your performance issues, let you know where things are happening, how they're happening, find out which pages specifically are causing people trouble.
Scott Tolinski
We shipped a a Svelte five rewrite of the site. I wanna say rewrite, but it was just a migration.
Scott Tolinski
And, well, there's a couple of little things, outstanding issues here and there. I should probably take some time to fix, and Sanity let us know that. So, head on over to century.ioforward/syntaxcenter and get 2 months for free using the coupon code Sanity treat.
Scott Tolinski
Man, it is the application monitoring software considered not bad by 4,000,000 developers. Man, a lot of people use this, and that's pretty incredible. Every time I use it, I'm like, yeah. I can see why. I can see why a lot of people use this. Pretty good. Alright.
Pick a non-TODO real project to find edges of framework
Scott Tolinski
So let's get into it. How do you go deeper on stuff? Right? You've read, the docs. You've done the tutorials. Maybe you watched a couple YouTube videos. Some of these YouTube videos, they they just show you how to build a to do list app. Right? And then Yeah. It's like, alright. Let's go. Go. I mean, granted, to do shows you the CRUD operations. It shows you this stuff, but, like, it you're never gonna hit the edges with the to do app. So how do you take it to the next level in terms of finding those edges? And for me, the best way to do that is to pick a project and build it. I'm I'm learning a local first platform, 0, right now. It is still in alpha.
Scott building survey app to go deep on LocalFirst
Scott Tolinski
I have early access to it. I'm working on a big project with it. So how did I, find these edges? How am I gaining this knowledge? Well, I'm I'm building something real with it. You know what I'm building right now, Wes? I'm building a survey taking app. Why? Because we use a bunch of survey taking apps. They're expensive, and it's a great use case for local data. Right? You're filling in the survey responses.
Scott Tolinski
Something happens. The page refreshes. You want that data to just persist a 100%. Every time I type, I want it to be persisting and saving. Right? So That's a great use case. It's a great use case. And you know what? Survey app has been low key one of those apps that have always been like, I could do this. Like,
Wes Bos
what's going on here? I mean, there's there's crazy stuff. Awful all the options are every single time that we use. Like, what do we use? Typeform.
Wes Bos
Yep. It gives me a lot more respect for, Sasha Grief who runs all the, like, state of JS surveys because he's built an entire platform for this, and it's so much better than all the possible options out there. They're so expensive. They're so expensive, man. Yeah. They really understand. It's it's amazing that you can think like, wow. This is a very big company that makes a ton of money on this. Like, what what was it? SurveyMonkey and Wufoo are probably 2 of the big ones. Yeah.
Scott Tolinski
So just pick a project, something that's not a to do app, but it can, you know, create operations, whatever, and maybe even something you want to use and just try to build it. You might not end up actually building it. You might end up hitting an edge that's too sharp or something that you cannot get past. But for the most part, you will find those edges that you will not find in a super basic CRUD application.
Build something real to increase learning
Wes Bos
Yeah. We get this question a lot. It's like, how do I go past x, y, and z? How do I get get better at it? And, like, honestly, you are not going to hit those weird things that really increase your learning until you actually go and build something real.
Wes Bos
And when you hit those real uses use cases, you're gonna hit the actual the issues that you have. But, like, you also said, like, yeah, you've read the docs, and I quite honestly, I think a lot of people don't read the docs. And there's such a huge benefit to sitting down and simply just taking, I don't know, half an hour, an hour, and reading through every single piece of of something in the docs because that will give you a good idea. I always talk about, like, surface area of an application. Right? It'll give you a good idea of what the different API endpoints are, what they're for, different use cases of of when they might be used. And then when you do hit an actual issue, it's, oh, I think I can use this, API in this use case versus you may hit an issue. You might do it the wrong way. You're trying to, like, shoehorn Mhmm. What you do know into it. It's such a good thing. Just read the docs. RTFM.
Read the docs - gives surface area of system
Scott Tolinski
RTFM. Wait. What does RTFM mean? You Node? Oh, read the f thing in. Manual. Okay. Yes. Okay. Yeah. That tracks. You know what? For me, it is hard for me to read the docs and get a lot of out of it. Sometimes I'll have it, like, read it for me. You Node, one thing I really appreciate with docs is when they have, like, really good code examples.
Scott Tolinski
Here's something that I don't appreciate. When docs have code examples on, don't do this pattern, that, you know, they have, like, a little code block that says don't do this pattern, but they don't make it that obvious that you shouldn't do that pattern unless you read the little paragraph. I I don't know if you've ever hit this. I I've, like, I'm doing the thing in the docs, and it's not working. Yeah. And then if you read the paragraph, it's like, this is a method you shouldn't use. Well, make it red or something. Make it obvious. I get this with, Svelte all the time Wes I'll, like, search how to do something in Svelte, and
Wes Bos
it will pop open. I'll find, like, a playground, and it's, like, part of their, like, learning where, like, you have to actually do it. And I'll just, like, copy the, like, wrong example, like, the broken. I was like, this doesn't work. He was like, oh, you gotta hit the button to actually fix it. But it's true. I I unless it's like, you put a big red border around or or a cross or something because I'm not gonna read.
Scott Tolinski
I'm gonna put a code. The docs. But Yeah. If you're scanning or something, yeah, you just look at the code, and you're like, oh, this is this is how you do it. The thing I don't appreciate about those felt examples I'm gonna just, put the felt team on blast here. They took the stupid pop up when you try to copy and paste code from there, and it's like, uh-uh.
Scott Tolinski
You should probably type this out yourself if you're trying to learn it. I'm not trying to learn it. I'm trying to copy and paste it.
Wes Bos
Next 1 we have here is read the source. At a certain point in my career, I don't know when it was, but I went from, I don't know how this thing works, to, oh, you can literally just go on GitHub and and look at the actual code behind it. I do wish that it was a bit easier inside of your your editor to read the source because often, I will use a a method from a library, and I'll think, how like, what are they actually doing here? And you you click through to it, but then you see the, like, minified compiled Wes 5 version of that code, and it's just jumbled up. Right? So you have to Mhmm. Scott go through, back to GitHub to to actually find it. But just, yeah, just reading the source.
Read source code to understand how things work
Wes Bos
I find that the GitHub UI for when you when you read a source or you read an example and you click on, like, a method Node, and then in the sidebar, it will show you where that method name is defined. You can click through to that. I find that to be super helpful to understand how things are actually working.
Scott Tolinski
Yeah. Modern GitHub is so nice for reading source code, which I found myself doing more than ever before. And I guess it is probably because of TypeScript or, like, those features where you're clicking through the methods and able to see where this is used, how this is used.
Scott Tolinski
And, yeah, I find it to be super duper handy. It JS something that is a skill that when you're first starting out, I will say, even even years into your web development career, you might go into the source of something and say, this looks entirely foreign to me. And that's largely because people have different Node styles, and you're approaching something new and fresh that you may not have seen before and done in a way that you might not have seen. But I do think it's worth the time to stick with it and dive through what's going on. Take it step by step. What's going on? Why are they doing it this way? You can learn some really great patterns. There there's a lot of things that you just don't encounter in your own code or your team's code, that that you might just pop into somebody else's code base of a large project and see something being done in a way that, is really, just will push the envelope for you a little bit.
Wes Bos
Next one we have here JS consume content.
Consume talks and blogs to go deeper
Wes Bos
Read blogs, conference talks, things like that. One thing I will do when I'm going deep on a topic is I will try to find all of the information on a specific topic.
Wes Bos
And often this is kind of a shame, but often, there'll be, like, a conference talk on YouTube from somebody who is a absolute wizard in that area, and it'll have, like, 400 views on it. And it's it's always a bit of a bummer to see that conference talks are some of the most valuable information from domain experts because some of these smart people don't have all the time in the world to write blog posts and and whatnot, but they often will do 1 or 2 conference talks a year. And if you can hoover that up I put it on 2 x. I skip the intro. I skip the outro, and you can often take, like, a 30 minute conference talk and just hoover it up in about 12 and a half minutes.
Scott Tolinski
Yes. I I, you know, I I do think none of the people give conference talks on YouTube enough time. We're we're like, we want the, quick hit YouTube content that makes it feel like we're learning or something. Yeah. But we're we're not going deep on the the conference stocks. Now there JS a type of conference talk that will not give you this. It's the conference talk where somebody's selling their product. Right? But you have a library author talking about, you know, lessons they've learned from building their library or, a new thing that they're releasing and why it's different and and the internals of it.
Scott Tolinski
What are some good conference YouTube channels? I posted the JavaScript conferences from Git Nation on here, and I only posted this because I'm featured twice on their homepage here. No. But a shout out to, Git Nation conferences. We actually just got back from 1, and it was pretty amazing. We got back from React Summit and JS Nation. Really, really good deep conferences there. But what are some other ones that you follow?
Valuable niche conference talks often have few views
Wes Bos
I I don't necessarily just follow any conferences. I just go on YouTube or go on, Vimeo and search or or Google video search for topics that I'm I'm interested in. Right? So one talk, we at JS nation was Zach Jackson. He's the creator of RS Pack, and he works at ByteDance, which is, like TikTok. Right? And his he, like, detailed why he rebuilt Webpack in Rust.
Fascinating talk on rebuilding Webpack at scale
Wes Bos
But, like, the most fascinating to me was just understanding, like, the scale of the builds that they have at these large companies and and why none of the other solutions worked for them and and how they sort of went about it. And it's just fascinating talk. And I was like, this is so valuable to have somebody so smart just, like, feed you this information.
Scott Tolinski
Yeah. Yeah. I find, like you said, you know, especially when I'm searching for a topic, a specific topic.
Scott Tolinski
If I see, like, a a conference come up and it's clearly, like, a large stage conference, you typically know that's going to be a pretty, good talk. Especially, there's like, there are handful of folks when you pop up and and you see that so and so has done a talk on a subject. You're just like, alright. Time to time to sit down and watch this. I I do like watching conference talks. Yeah. For sure. I I do think that they're probably underutilized. And even going to conferences, you know, conferences, expensive. I get it. If your company can pay for it, go to conferences. If you have, like, a a budget to go to educational conferences and you're not using it, you gotta use it. Because I'm I'm not just saying that as somebody who who speaks at at conferences now, but, like, I'm saying that as somebody who gets so much value out of that stuff. And I I do think,
Go to conferences even just for networking value
Wes Bos
besides, there's, like, networking, and you get to chat with people. You get to keep going. Right? The best part of conferences or the dinners after. You know? It's just I we we took the subway with, Tanner Tanner Lindsley and and Kent Node Yeah. On the way to the thing. And, like, that was so fun. That was the best. Yes. That was that was, some of the best stuff in the conference. But even if you're not doing that and you are just chatting with some random person in the hallway about what they're building, then you can get some interesting deep knowledge that way as well. Oh, yeah. Yeah. Yeah. People always come up to me at conferences and wanna talk. I'm like, you could get that on the podcast. I'm curious what you're doing. You know? Yeah. Often, you're like, oh, well, I I work for, Oklahoma Feed and Supply, and we're using AI to measure how much pigs eat or something crazy like that. Like, what? Like, I've on multiple occasions, I met people at conferences that work on elevators, like and they write JavaScript. And I met another guy who writes JavaScript.
Wes Bos
React is running on power.
Wes Bos
What was it? You know, like, you you drive down the street. You see those big power trash cans on the,
Scott Tolinski
on the poles. Mhmm. He's like, every single one of those is running React on the device for their UI. It was like That's what I was gonna bring up. Yeah. That, those are those are kinda the coolest conferences, because you just you don't necessarily know what's out there, what's possible for or, yeah, what people are actually doing. Another place that I get a lot of value at is, Discord.
Get value from Discord channels and Reddit
Scott Tolinski
Also, Reddit Reddit for different reasons. But Discord, specifically, if I'm and this may even be a problem of mine. If I'm learning a subject, I the first thing I do is I join their Discord because they're besides having, like, good, q and a areas where you can potentially get assistance from people in the community, there's just great conversations going on in there. And, you can meet a lot of people. You can, you know, those some of the ones I've gotten a lot of value out of them. Obviously, the Vercel community, the Tori community, the Replicash community, the Coolify, Coolabs. The the there's just so many of these Discord channels that I personally get a lot of value out of, just chatting with people or even just reading, seeing other code that people are posting. As for Reddit, Reddit's kind of a mixed bag. Right? They oftentimes, Reddit's are, like, really against people posting links because if you're posting links, it's typically, like, spam or people, you know, hucking their stuff. But there can be some really good conversation.
Scott Tolinski
And, again, the Svelte Reddit is is one that I I partake in Wes you show up and people say, hey.
Scott Tolinski
I don't understand these new ruins things. Why are these existing in this way? And then you get good conversation. Yeah. Occasionally, there's arguing and bickering and annoying drama, unnecessary drama for no reason.
Scott Tolinski
But for the most part, if you are good at having, like, a self filter and and making sure that you don't go down those rabbit holes of people arguing and stuff, I think you can get a lot of value out of it too. Totally. I I really like Reddit because you can get,
Wes Bos
and just in general, you can get a lot of people's, like, opinions on a topic. Mhmm. And I feel like I have a pretty good idea of if somebody's opinion is is valid or not.
Wes Bos
Simply like, sometimes people can have opinions, and I can just be like, yeah. I I don't think you understand this. Or Yes. Yeah. You've you're just angry that that stuff is changing too quickly. Right? But then, like, you can also, like, often see, like, hey. We had a project that did x, y, and z, and and this API really, really worked well. Or we tried to build something in React Vercel Components, and and here's the issues we hit, and and we can we can overcome it. Again, like, it's just just hoovering up all these little things. I'd love Reddit for that because I always read the comments, and you can just find little nuggets of stuff just kinda get an idea of where people are at on things.
Scott Tolinski
Yeah. Yeah. And there are Scott times too where, like, I learn about crazy new libraries that I you know, I Scott my ear to the ground. And then Yeah. You go to some post, and people are talking about how they do something some way, and somebody's using, I use this library and this library and this library. I'm like, I never heard of any of those. What what is go what is that stuff? And, yeah, just some people have different levels of connectedness to different communities, so it's it's nice to get some of that. Next one is mentorship and ask questions. This is kind of tricky one because, like,
Ask questions of a mentor even if informal
Wes Bos
people all the time ask me, hey. Can you be my mentor? And, I always think, like, it's unfortunately, I can't because, like, time time is limited with this type of thing, and I think my time is better spent creating content that can help multiple people at once. But often, you can find people where it can just be as simple as you have a chat room, and you can DM them when you when you hit something. Like, when I was first starting coding, my buddy Darcy was that for me, where I would just be like like, I don't even know what to to Google for this, or I don't even know how to approach this. Is this a dumb idea? Yeah. Yeah. Exactly. It's just somebody needs this feature. Where do I even start to tackle? Like, having somebody like that where you can just, like, reach out or this thing is totally broken. Like, I love that when people send me their questions of, like, somebody on on threads this morning or not threads. Blue Sky's morning. Hey.
Wes Bos
We have a sticky header, but when you scroll inside of when you have a scrolling div inside of the sticky header, we have issues. How do I approach this? Right? I'm just like, nerd sniped. I don't know, but I now I wanna figure it out.
Scott Tolinski
Can can you explain the word nerd snipes to me? I I just interviewed Rich Harris for JS Nation, and he used the word nerd snipe several times. And I laughed along, because I I know Rich is is Scott. And I was just like, I don't know what nerd snipe means, and now is not the time to ask you. Yeah. Yes. Vercel night is when somebody,
Wes Bos
asks a Wes, and you don't necessarily know you don't know the answer, but you think, I need to figure that out now, where you just kinda you just put something out there, like, hey. Can you rotate a, a box in three d when you hover over top of it? Oh my gosh. Now I'm gonna have to build this thing. You know? Like, I'm I'm curious too. That's a great question.
Wes Bos
You nerd sniped to me. Yeah. Oh, okay. And, you can often do it on Twitter where you just ask a Wes, and everybody goes, I need to know as well.
Scott Tolinski
Okay. That makes a lot more sense. I don't know what I thought it was in my head, but wasn't that. So, mentorship has been a big one for me. You know, in my I I Wes the type of person who, like, really did not believe that they could get a good job in this industry when I first started. So when I got my 1st web development job and it was, me and another developer, I got so much out of that, and that was, you know, not an online relationship. I got so much out of that professional relationship where my boss was able to teach me so many things that are beyond reading the docs. And these go as far as, you know, what to say in client meetings. Like, not just, you know, what not to say, what to say, what what might, give the client anxiety if you're saying this or that or Yeah. Just like those little things that yeah. You can figure out a lot of that stuff over time. But if you're about to go into your 1st client meeting at your 1st job and your boss or mentor is like, alright. Just so you know, do this or this and this, but don't do this. That can give you, oh, like, a, a light forward jump that you don't get otherwise. But as far as even coding goes, they can help you navigate the dragons. They've they've hit the dragons. They've run into the dragons. And, you can save some time simply by having a good mentor that can even foresee the issues that you're going to hit when you're working on a specific project or even
Wes Bos
a Node base or a framework in general. Yeah. Those the soft skills is is really interesting as well. Like, hey. I got this email. How would you how would you reply to this? Or, hey. This person's being a jerk to me.
Scott Tolinski
What what would you do here? Would you would you drop it? Would you leave it alone, or would you would you say something? You know? Yes. Yeah. I know. No. Normally normally, answers, you drop it. You just drop it. You suck it up, and you do it. But hey.
Wes Bos
Cool.
Wes Bos
That's all we have for today.
Scott Tolinski
Anything else to add there, Scott? Nope. I got nothing. You know, I think this stuff is, again, just, letting your curiosity guide you a little bit, but, don't be afraid to go deep on stuff. It, it it can take you to a different level of professional achievement that you couldn't get otherwise. And it's gonna take you to a place that AI, right now, can't necessarily go. Right? Yeah. Exactly. It's it's
Wes Bos
I I had a tweet about that the other day. It's like the in the age of AI, we the people that can go deep, the people that can can read the docs, can can figure all this out, they're the ones that are gonna be able to to stand out. Yes.
Wes Bos
And, yeah, go deep. Alright. Thanks, everyone.