0:00 Hey guys. So, learning software 0:01 development in 2025, 2026 and beyond is 0:05 a lot different than it was even three 0:07 or four years ago. And I started around 0:09 2007, which seems like a lifetime ago. 0:12 And I learned most of of what I what I 0:15 know right here on YouTube from channels 0:17 like the New Boston courses like Killer 0:20 PHP. I learned jQuery and JavaScript 0:22 from Jeffrey Way on Touch Plus. Uh I 0:25 looked up to these people so much that I 0:27 wanted to become one of them. And 0:29 although I still don't think I'm as good 0:30 of a teacher as some of them, but I'm 0:33 proud of what I've accomplished and that 0:34 I was able to help so many people, but 0:37 here's the thing. The way that I learned 0:40 is a little outdated. And the fact is 0:42 that there's just so much more to learn. 0:44 You know, the internet in general, the 0:46 the tools that we use, the um the way we 0:49 think about learning, our attention 0:50 spans, so much has changed. So, if I 0:53 were starting from scratch today, my 0:55 approach would look pretty different. 0:56 And it does look different. and I'm 0:58 going to share with you my exact 1:00 learning workflow and what I suggest 1:03 people do when learning something new. 1:05 Now, this is not specific to just web 1:08 development. I I will have my webdev 1:11 technology guide coming out in January 1:13 or February. Uh but this is more for 1:16 just anyone whether it's mobile apps or 1:18 systems developer, machine learning, 1:20 whatever it might be. Uh, I'll talk a 1:23 little bit about the general categories 1:25 of what you'll learn, but my main goal 1:27 is to to talk about how to learn these 1:29 things. So, let's get into it. [music] 1:36 So, when it comes to software 1:37 development, one of the most important 1:39 things we do are code reviews. But it's 1:41 also a super tedious task and prone to 1:44 mistakes since you never really know how 1:45 well someone's reviewing your code. So, 1:48 today's sponsor, Code Rabbit, makes code 1:50 reviews so much easier. It's an AI 1:52 powered code review tool that integrates 1:54 into your development workflow by 1:56 automatically reviewing your poll 1:58 requests or you can even just use the 2:00 CLI before you commit your code. So, 2:02 Code Rabbit doesn't replace the need for 2:05 code reviews. It just makes them more 2:07 efficient and catches things that humans 2:09 will often miss. So, instead of bugging 2:12 teammates with things that don't need 2:13 their attention yet, you can have your 2:15 code reviewed in minutes and you can 2:17 catch bugs before asking a c-orker for a 2:20 final review. So let's take a a quick 2:22 look at this PR where code rabbit caught 2:25 some bugs. So it catches that we 2:27 initiated our client instance to our 2:29 apprite backend in two separate 2:31 components when instead we should have 2:33 created one and then used the import 2:35 throughout the app. So it immediately 2:38 caught this mistake and provided us with 2:40 suggestions for changes that we should 2:42 make. So one of the coolest features is 2:44 the ability to set custom rules for you 2:47 and your team. So for example, we have a 2:49 rule set that describes how headings 2:51 should be set in articles. And when a PR 2:54 is made, Code Rabbit will catch this. 2:56 Even though it's not technically a bug, 2:58 it's something that a teammate could 2:59 have easily missed. So a Code Rabbit 3:02 will also learn from your entire 3:04 codebase and help enforce patterns and 3:06 and rules that you and your team set. So 3:09 it's actually pretty awesome. So if you 3:11 want to give Code Rabbit a try, make 3:13 sure you check out the link in the 3:14 description below. All right, guys. So, 3:16 I have this Excaladraw document and I'll 3:19 have this available for download in the 3:21 description if you're interested if you 3:22 want it for as a resource. And like I 3:24 said in the intro, this is mostly about 3:27 how to learn, not so much what to learn, 3:29 but I did add just a very highlevel um 3:32 area at the top here where we can talk 3:34 about just in general what you'll learn 3:36 as a software developer. And this 3:38 doesn't have to be webdev. It could be 3:40 anything. So, generally, you're going to 3:42 start off with a programming language. 3:44 If you're learning webdev, you're 3:45 probably going to start off with HTML, 3:47 CSS, not really programming languages, 3:49 but they are, you know, a markup and a 3:51 style language. And then JavaScript and 3:53 all that. Or you might be learning 3:55 Python, Go, Rust, PHP, Java, whatever it 3:59 might be. It's going to be a language. 4:01 And then this stuff here, you're pretty 4:03 much going to learn at the same time. So 4:05 some kind of software framework. In 4:07 webdev, you have frontend and backend 4:09 frameworks. And then you know you have 4:12 Django for Python, Laravel, PHP, you 4:15 might be learning.NET maybe C. Um so 4:19 yeah framework you're at the same time 4:21 you're going to learn a database and an 4:22 OM so a way to connect and interact with 4:25 your database. You might learn Postgres 4:27 or MongoDB and then version control with 4:30 Git and GitHub. Uh and then generally 4:32 you're going to learn design and 4:34 architecture. So certain patterns like 4:36 MVC uh rest component-based development 4:40 and then some kind of deployment DevOps 4:42 stuff. So like AWS versel maybe you 4:45 learn docker and containers. So 4:48 generally everything you learn is going 4:50 to kind of fall under this umbrella. And 4:52 this might look like a simple list but 4:53 there's a lot that has that goes into 4:56 all this. All right. So once you figure 4:58 out what you learn that's that's really 5:00 what I want to talk about is how to 5:01 learn that stuff. So before I get into 5:04 the actual methods and and workflow, I 5:07 just want to kind of talk about the 5:09 difference between back when I learned 5:11 around 2007208 5:13 and now because it's very different. So 5:16 back then my goal when learning 5:17 something was to to basically open up a 5:20 text editor and be able to just go to 5:22 town and and just create stuff, right? 5:24 And that was possible. you were able to 5:26 to memorize 5:28 not all but most of the syntax, the 5:31 important syntax by heart so that you 5:33 could just open up an editor and code 5:35 without even looking at the docs. Um, 5:38 and that was possible because there 5:39 wasn't so much to learn back then. You 5:42 had your B for webdev at least you had 5:44 HTML, CSS, JavaScript, uh, jQuery, 5:48 WordPress, PHP. Those were kind of the 5:50 big things. Maybe Ruby on Rails. Those 5:53 were the big technologies back then. 5:55 Right? So, uh, and you didn't really 5:57 have like a a front [snorts] end was 5:59 very simple. It was basically just HTML, 6:01 CSS, and a little bit of JavaScript. 6:04 Right? Now, you have all these 6:05 frameworks and different tooling and uh, 6:08 SSR and uh, single page applications. 6:12 So, it was it was okay to memorize 6:15 things like jQuery or at least all the 6:17 the the main methods, right? You could 6:20 code without docs. you might use them 6:22 occasionally or Stack Overflow, but um 6:24 you didn't need to have them, right? 6:26 Because you had a small stack. Now 6:29 things are way different. There's so 6:31 much more to learn. So what I say is un 6:34 understand the fundamentals and the 6:35 underlying concepts. That's what you 6:38 want to focus on the most. And then the 6:40 syntax will follow, right? After so much 6:42 repetition, that syntax will start to 6:44 embed in your brain. and uh syntax 6:48 changes so much especially with 6:50 frameworks and libraries that I don't 6:52 think it's as important anymore you know 6:54 and you can just look up anything with 6:55 AI so it's more about understanding 6:58 those fundamentals so for instance react 7:01 hooks if you're learning you want to 7:03 understand that or grasp SSR concepts 7:05 these are just examples but whatever it 7:07 is that you're learning and then you 7:09 want to use AI and the documentation 7:12 um and using those together is very 7:14 powerful you can use put the document 7:16 mentation in the context of the AI. And 7:18 I'll talk a lot more about how to use AI 7:20 in a minute. And you just have a huge 7:23 ecosystem. So if you think of React, you 7:25 have React, React Router, Tanstack, uh 7:28 Nex.js, Astro, Gatsby, React Native. 7:32 There's just so much to it, right? So I 7:34 would say your goal now should be 7:36 knowing what to build, how to find the 7:38 answers, and where to find those answers 7:41 rather than just remembering all the 7:42 syntax by heart. So that's just kind of 7:45 my my take on back then versus now. So 7:50 this is the actual um workflow that I 7:53 use when I learn something. So I use a a 7:56 mix of of a main learning method kind of 7:58 a traditional learning I guess then use 8:01 AI as a supplement. So basically you'll 8:04 pick a learning method like a video 8:06 course, a book if you you know if you 8:08 prefer books, YouTube tutorials, 8:10 whatever it might be. It could it could 8:12 even be uh if you're going to college or 8:14 or boot camp, that could be your main uh 8:17 your main learning, right? As long as it 8:19 has some kind of linear path. It has to 8:21 be guided. It should it should be 8:23 curriculum based. Um concepts are 8:26 reinforced. You have instructor context, 8:29 whether that's a real life instructor or 8:31 someone like me through video courses. 8:33 Someone that uh that explains why things 8:36 work, not just what works. and someone 8:38 that you kind of vibe with that you that 8:40 you can understand easily. It doesn't 8:42 have to be me. It could be anybody, 8:44 right? And then one of the uh what I 8:47 think is a really important aspect of 8:49 these these traditional methods is 8:51 realworld projects, right? You have an 8:53 actual application, not just theory. So 8:56 the mindset for for this is to it have 8:59 it be your main teacher, right? So this 9:01 learning all these methods are your main 9:03 teacher. Then you have AI as a 9:05 supplemental learning method where you 9:08 can get much more specific about, you 9:10 know, the topic in general or specific 9:13 examples. You can have it fill in the 9:15 gaps from courses you might take because 9:17 a lot of times courses don't cover every 9:19 single thing of that technology. Um, 9:22 it'll help you debug your errors. And 9:24 you know, back in the day, not even just 9:26 I mean a couple years ago, if we had 9:28 errors that we didn't understand, we 9:30 would have to find something similar on 9:32 Stack Overflow and kind of go off that 9:34 very limited examples. But now we can 9:37 paste in that exact error message. Um, 9:40 but the thing is you don't want AI to 9:42 just, you know, give you the answer and 9:44 you just implement it and not understand 9:46 what happened. You want to have it 9:47 explain everything to you. Um, and then 9:50 also a lot of courses go up out of date 9:53 very quickly, right? And I know this 9:55 just as well as anybody. I created my 9:58 React course and a month later React 9:59 router completely changed and I had to 10:02 update it. So what AI can do even even 10:05 though it has a cutoff date which could 10:07 be, you know, months and months ago, it 10:09 can put recent documentation into its 10:12 context. So you can get the React docs 10:14 or the Tailwind docs and put that in the 10:16 context of your AI so you have the most 10:19 up-to-date information. So the mindset 10:21 with this, you know, supplemental AI is 10:23 to have it as your learning assistant. 10:25 So you have your main teacher, you have 10:27 a learning assistant. All right. Now, as 10:30 far as resources, of course, for you 10:32 know, video courses, you have Udemy, 10:33 Pluralsight, kind of these big, you 10:35 know, big websites, and then you have 10:37 creator platforms like my own, Traversy 10:40 Media, Lariccast. There's also 10:42 interactive platforms like free code 10:45 camp, boot.dev. Um, and I'm not going to 10:47 say too much, but we're actually in the 10:49 process of creating our own interactive 10:52 platform, which hopefully will be ready 10:54 by the beginning of next year. I'll talk 10:56 more about that in a few months. Uh, 10:58 let's see. If you're using books, don't 11:00 use audiobooks for coding. I mean, you 11:02 can't really learn learn coding with 11:05 audiobooks. And then for AI, you have 11:08 browserbased 11:09 um AI like chat GPT or Claude AI or 11:13 Grock. And that's okay because you're 11:15 learning, right? You don't need an agent 11:17 to create files for you and write your 11:19 code. But this can still be more helpful 11:22 in my opinion. So idees like cursor or 11:25 CLIs like Claude Code or Gemini CLI. Um, 11:29 now they may be tempting for you to 11:31 basically have it just do all your work 11:33 for you, but you have to kind of be 11:35 disciplined and um, not let it do that. 11:38 So, put it in plan mode. Cursor, for 11:41 instance, has ask mode where it won't 11:43 change your files. It'll just put it in 11:45 the, you know, chat interface. And you 11:48 want to have it not just give you the 11:49 code, but explain what's going on, 11:52 right? So, you might post an example 11:53 from your course and have it, you know, 11:56 tell you certain things about it, how it 11:58 works, some maybe the instructor didn't 12:00 cover it well enough or whatever. Now, I 12:03 don't suggest just opening AI and asking 12:06 random questions. I mean, you can do 12:07 that, but you're not going to get as 12:09 good of an exper experience. So, I would 12:12 suggest putting in a prompt like this. 12:14 So, for instance, it says, "I'm taking a 12:16 course." You put the course name, 12:18 instructor name, uh, talk about what it 12:21 teaches. I want you to act as my 12:23 personal coding assistant and tutor 12:25 throughout the course. Do not do the 12:27 work for me. That's very important to 12:29 mention. Um, and don't just give me the 12:31 answer. Your job is to help me to 12:33 understand each concept. Explain code 12:36 examples, says English, but of course, 12:38 whatever your language is. Suggest small 12:41 practice challenges, keep track of what 12:43 I've learned, um, help me apply what I 12:45 learn in small projects. And I'll talk 12:48 more about projects in a second. And 12:50 then it says, "As we go, I'll paste code 12:52 or concepts from the course. I want you 12:54 to help me debug, improve, or modernize 12:56 them with the latest best practices and 12:58 then start off by creating a simple 13:00 study plan and tell me what tools to set 13:03 up, um, what I should, you know, have 13:05 before starting. So, I think this is a 13:07 really good prompt to start with and, 13:10 uh, and just have it work with you 13:11 throughout the course. Have it create 13:13 documents, um, cheat sheets, things like 13:15 that. 13:17 So yeah, I mean that's how I would 13:19 suggest using AI. Now projects are very 13:23 important and I'm not just talking about 13:24 course projects. Courses themselves are 13:27 they're they handhold a lot, right? They 13:29 take you through and and you basically 13:32 it's kind of a watch and and code watch 13:34 and copy kind of thing. But it's good 13:37 because it's structured learning, right? 13:39 Teaches you the main concepts and 13:40 syntax, but it's not real world 13:44 development. real world development, you 13:46 don't have that handholding, right? So, 13:49 it's on you to uh to debug and to 13:51 refactor and stuff like that. So, you 13:54 want to after your course or it could be 13:56 just after a section in the course, 13:58 build a project based on what you've 14:00 learned because that's going to have you 14:02 run into real issues that you have to 14:04 fix. Um because again, in the real 14:07 world, when you get a job as a developer 14:09 or you start building your own projects, 14:11 whatever your plan is, you don't have 14:13 that handholding. You do have AI to help 14:15 you and you can and I suggest using AI 14:18 to help not to give you the answer but 14:20 to help and this gives you a much deeper 14:23 understanding and most importantly helps 14:26 you with problem solving. That's the 14:28 most important thing in in software 14:30 development is the ability to solve 14:32 problems and just doing this without 14:35 this isn't going to help you with that. 14:37 It's going to teach you these main 14:38 concepts and syntax which is fundamental 14:41 which you need but it's not going to 14:43 help you with real world development uh 14:46 at least not you know not all of it. So 14:49 this gives you independence. So projects 14:52 are really important. Then I just have 14:54 some general tips. So you want to pace 14:56 yourself. Set a certain amount of time 14:58 each day. Don't burn yourself out. 15:00 That's really important. Burnout can 15:02 lead to just a lack of interest at all 15:04 in in coding. It can also lead to 15:06 depression, anxiety. I had a really bad 15:09 burnout phase. I've talked about it in 15:10 videos. Um, specific measurable goals, 15:14 right? So, don't just say, "Oh, I want 15:16 to learn React this week. I want to 15:17 learn React hooks or I want to learn 15:20 JavaScript event listeners." Whatever 15:22 that particular thing is. Learn by 15:24 doing. This kind of goes back to what I 15:26 just said. Don't only do course 15:28 projects. Create your own stuff. Real 15:30 world experience. You want to celebrate 15:33 small wins. This is not easy. So, 15:35 if you learn, you know, how to create a 15:37 GitHub repo and commit and all that, 15:40 that's a that's a an accomplishment and 15:42 you should celebrate that. Give yourself 15:44 credit. Uh, teach someone else what 15:46 you've learned. I think that this is 15:47 valuable and not talked about enough. 15:50 Um, you don't have to be a teacher or a 15:52 content creator, but just saying it out 15:55 loud and showing an example to someone, 15:58 it helps you just as much as it helps 16:00 them. Okay? It reiterates what you've 16:02 learned. Also, you're helping someone 16:04 else, which is always good. And then I 16:06 would say build and learn in public. So, 16:09 create a Twitter or an ex account, 16:11 Instagram. Um, post what you learn. You 16:14 can discuss with others. It always helps 16:16 you kind of get a better understanding 16:18 of things when you talk about it with 16:19 people through, you know, you can even 16:22 join like a discord. And just having 16:24 those chats about uh what you're working 16:26 on can really can help you learn and 16:29 just get a you know get familiar with 16:32 talking to other developers because if 16:34 you plan to work in the industry you're 16:36 going to be doing a lot of that. All 16:38 right. So again you know this is just 16:40 kind of a general overview of of how I I 16:43 suggest learning um any kind of software 16:46 development in 2025 26 and and beyond. 16:51 So hopefully you learned something. And 16:52 hopefully you'll you'll implement some 16:54 of this. Again, this document will be in 16:55 the description for download. And that's 16:58 it.