Coding Was HARD Until I Learned These 3 Things...

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
I guarantee you that until you learn these three things you will struggle to write code fortunately once you learn them coding will genuinely seem effortless now the first of these three things is syntax and program structure you need to understand how your language works you need to have the fundamentals down you need to know how to write basic code and essentially to have all of the tools in the language you need to be able to solve a specific problem now many of you already know how to do that it's relatively easy to learn these skills in just a few weeks for example pick up functions pick of if statements variables you guys know what I'm talking about here and I'm sure you followed many online tutorials or even premium courses like my brand new software development course which I'll leave a link to in the description now once you learn syntax where many of you will struggle and kind of get stuck is program structure now what I'm talking about here is once you know a language and you know how to write basic code really what you're good at doing is solving small problems with those tools that you have where it becomes more difficult is when you want to take take on a larger task that's not well defined for example you want to build a website you want to build an entire project from scratch you want to make a game you want to do something that goes beyond those well-defined and small discrete tasks to something a bit more large and Abstract this is where many people fall apart because it requires knowledge of how to structure your code where to place different components and how to go about things systematically what I mean by this is where do you put the Imports where do you put all of the variables where do you put the different functions or classes how do these components interact with each other and how do I lay them out in a way that's maintainable and easy to understand now I can't teach you that in this short video but what I can recommend you do is follow along with other experienced programmers through some larger projects so you get a better idea of how you structure code again this is a skill that you need to learn to get beyond that intermediate programming level where do I put the different pieces of my code how do they interact with each other how do I keep it clean and organized and how do I know kind of what part of the code to write at a time again the best way I can recommend you learn that is by following along with for example free tutorials on YouTube where they build an entire project I have many of those on my channel even going to some GitHub repositories and viewing code that is written by experienced programmers you could for example check out my GitHub repository or you could of course join some more premium courses like my software development course which I'll leave a link to in the description that has an entire section specifically on structure in code and writing it in a clean organized manner now the next thing you need to look at is debugging if you can be a good debugger effective and not get frustrated when you run into an issue you're really going to see yourself Advance a lot as a developer or a programmer and you're going to be able to make a lot more progress a lot faster many people especially beginner programmers really get discouraged when they run into issues or bugs and they don't know the correct way to approach them and it causes Mass frustration depression demotivation things that we've probably all experienced before that can really hold you back and make it feel like coding is impossible now I want to share with you a few small pieces of advice that can make debugging easier for you first when you are debugging the mindset you should adopt is what you were really trying to do is isolate the problem to the smallest area of the code you possibly can now this is much easier said than done but the way you should attempt to solve bugs is to reduce the amount of possible things that could be impacting your program now it's hard to give you a specific example of this but what you really want to do here is try to disable as many things as possible in the code so you can narrow down where exactly you're running into a specific issue so let's say you have some form and there's an issue submitting the form now there's a lot of things that could be causing this problem right it could be a UI related problem it could be a backend related problem it could be something in the JavaScript code it could be in the front end in the HTML there's a bunch of different areas so immediately you want to start isolating what area that would be in right so you'd want to First go for example and maybe check the back end and say okay let me look at this in isolation when it's not attached to this form and see if this works as I anticipate it working now if that does work you've just crossed off a whole large section of code that you don't need to look at for the potential issue now maybe you go into the JavaScript code and you say okay let's check to make sure I'm collecting the form elements properly okay it looks like I am actually getting all of the correct data inside of here this specific area of the code is working hopefully you get what I'm saying here you're going to go through all of the different things that could be causing the problem check them off one by one and isolate it to the smallest possible area you can where then you can start going through the code line by line and seeing exactly what's going wrong it's impossible to analyze you know thousands upon thousands of lines of code you need to First cross off as many areas as you can isolate and get into the smallest part and then you can go through and do a more thorough dissection of where the actual bug lies now to be able to do this it's going to be helpful to know how to use professional debugging tools like the debugger that might exist inside of something like VSS code so I recommend spend 15 or 20 minutes learn how to use the debugger I promise you it's not actually that complicated and it can help you a lot to do what I just said isolate the problem now beyond that once you figure out where relatively the problem is you can use something known as the rubber ducky technique now this isn't something I person use all the time but I know it's very helpful especially to beginner programmers what you want to do is go through line by line in a smallish area right it's like a function or a class body or where you know the bug exists and you want to imagine that you're explaining line by line what's happening to a rubber ducky so some people actually have a rubber ducky on their desk that they do this with it could be any object you don't need to have some object in front of you but verbally out loud talk through each line that you have in your code and explain what it does now what this does is force you to actually analyze each line understand what it's doing and a lot of times when you have to explain something to someone else you'll see immediately what's actually causing the issue I know this happens to me all the time I'm explaining something maybe even in a tutorial and I start explaining I'm like wait that doesn't make any sense at all but I only realized that because I actually had to say it verbally and I couldn't skip over it in my mind I had to go through it very detailed now once you've learned all that the next thing that's really going to help you get better at programming is understanding how to plan before you code now one thing that I've been planning for a very long time is actually my new software development course in collaboration with course careers now the way this course works is you go through a software development fundamentals course which is taught by me and then you pick a specialization in frontend devops or backend taught by an industry expert like webdev simplified who actually teaches the front-end specialization now this course is kind of different than other courses that I've done before because we actually have a network of employers that are ready to hire and interview the top students coming out of the program not only do we have quizzes practice questions we actually have a proctored final exam and we really give you a real evaluation so you understand if your career ready we give you coaching one-on-one support a Discord server with a massive community and direct access to myself and a ton of other benefits that I really know a lot of you guys will find some value from so if you're interested check it out from the link in the description we do actually have a free introduction course which teaches you everything you need to do to break into software development so even if you don't purchase the course you can go through that free course and get a ton of value just sign up for free from the link in the description all right so let's get into planning now the basic idea here is that coding is already hard writing code and solving small problems is already a difficult thing to do what makes it significantly more difficult is when you need to break a task down into smaller tasks and figure out what you're going to be doing while you're writing code which is actually the way most people end up doing things what you should be doing instead is spending a bit of time before you write any code and breaking your problem down into smaller problems and eventually very small tasks that are discret and easy to understand and that you can Implement one at a time ideally before you get into any code you have a list of tasks these tasks are in an order and you know okay I need to do this first then I'm going to do this then I'm going to do this and these individual things are a lot easier for your mind to understand and a lot easier for you to actually code Out imagine coding three or four functions where you know exactly what each function needs to do versus coding an entire project that involves those four functions right since you spent a bit of time beforehand breaking down what it is you needed to write you now have a much easier task to solve rather than trying to solve this huge task all at once okay that's the basic idea and we call this problem decomposition breaking the problem down into smaller tasks that are easier to understand and ultimately easier for you to solve I guarantee you that The Upfront investment of time is actually going to save you a lot of time and make you much more efficient when you are writing code now Beyond this when you are planning especially if you're working on a slightly larger project it's important to do a little bit of research a lot of times the problem you're trying to solve has actually already been solved so you don't need to reinvent the wheel or try to come up with some genius solution you can just go online and you can look up exactly it is that you're trying to do you can read stack Overflow forums you can read documentation you can read articles or research papers and you can come up with a general idea of what it is that you need to do from what other people have done in the past and this is what I do a lot especially now when I'm trying to solve more complex problems you also can go to chat GPT you can type in exactly the problem you're trying to solve and it will often times give you a highlevel overview of the different types of solutions you can use and then you can pick one and adjusted to your needs so it's always important do a little bit of research and just Googling for a few minutes could genuinely save you a massive amount of time and you can even find there's a library that does this there's a framework that's already built and you now don't need to go build the thing you were planning on building beforehand anyways I think with that said guys I'm going to wrap up the video here I hope you found this helpful and I know that these three things were really what helped me get better at programming and feel confident to write pretty much any type of code any project and solve any kind of problem I hope that they will help you do the same and I look forward to seeing you in another YouTube [Music] video
Info
Channel: Tech With Tim
Views: 143,443
Rating: undefined out of 5
Keywords: tech with tim, open-source computer science degree, self-taught software developer, no cs degree, career in tech, how to become a software engineer, software engineer, no college, how to learn to code, self taught programmer, learn to code, coding, software engineering, software development, how to learn programming, learn computer science, techcareer, frontend developer, online, programming, learn faster, ossu, coding was hard until I learned this
Id: IlS1aR_gfzs
Channel Id: undefined
Length: 10min 42sec (642 seconds)
Published: Fri Nov 17 2023
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.