BrandGhost

Beginner Programmers - How To Balance Learning VS Building

There's an endless number of learning resources available to us as programmers... So where do you start? Once you start, when should you be building things?! How can we optimize our learning process as new programmers?! Check out this video ;) For more software engineering videos, check this out: https://www.youtube.com/watch?v=9NIhzWDAmzE&list=PLzATctVhnsghjyegbPZOCpnctSPr_dOaF Have you subscribed to my weekly newsletter yet? A 5 minute read every weekend, right to your inbox, so you can star...
View Transcript
all right so you've decided that you want to get better at programming and of course by going onto the internet there's a million resources from a million creators and there's so many different ways that you can go learn about programming so whether you're checking out blog articles you're watching videos on YouTube just like this one you're scrolling through social media trying to pick up all the little tidbits that you can about different programming languages different ways to approach it there is so much for you to consume so much knowledge so much information where do you start it's totally normal as humans that we look for shortcuts when it comes to learning things given that information is so readily available at our fingertips you would think that if we just look hard enough we should be able to find that shortcut someone's published it somewhere right there's got to be a trick to it there's got to be something we can do to get us to the Finish Line faster now there's a lot of people promising things like courses or boot camps that are you know you pay x amount of dollars and then two or three weeks or something like that you're going going to be an expert programmer but it's just nonsense and when I say nonsense I don't mean that there aren't valuable courses or that boot camps can't work for you I just mean that you're not going to achieve Mastery in a matter of weeks something that I continuously preach in a lot of my videos or social media content is that if you want to achieve Mastery and programming the shortcut is accepting that there is no shortcut you need to be practicing what you're learning so recently on social media in particular on Instagram I had someone asking me about how to actually go about practicing things and balancing that with learning so in this video I wanted to discuss the balance between trying to actually go create things versus absorbing information from videos like this one articles or other sources of information on the internet the other thing that I'm going to address is how much upfront learning you should be trying to do before jumping into a project or trying to code something from scratch okay so to start before we jump into it I just want to say that yes there are tons of resources like I mentioned at the beginning of this video and I do think that for many people lots of these different resources can be effective so although you might see me posting things like you know boot camps aren't the solution I'm not trying to suggest that a boot camp might not be valuable for you but I am trying to suggest that you're not going to achieve Mastery just from that thing in one or two weeks I do recommend that you try watching videos like this one or from other creators that you do try reading blog articles and learning about different concepts that you do poke around on stack Overflow you could go reading things on GitHub going through people's code bases and trying to understand what's going on all of these things are valuable they are resources where you can learn from and I do think that you should go do those things but my main driver when I talk about you should be building things you should be trying to apply that knowledge and coding things my point is that the information that you're trying to gather from these sources I think the only way that it really sticks is when you actually apply it and practice it over and over so hopefully that clears things up because I don't want people coming after me saying hey this was a really good boot camp why do you say they're all bad I'm not saying that I just don't think that the Mastery part comes super quick okay with that out of the way let's start with how much should you be trying to learn up front before you jump into creating your own project and what might that project look like well I would actually suggest that you start coding things right away and that might look like going through a very simple beginner tutorial for how to set up your environment to actually code so on my channel I talk a lot about c-sharp it's the language that I prefer to use it's not the only language I know it's just the one that I'm most comfortable with so when you're watching my videos you'll see me using visual studio a lot sometimes Visual Studio code but mostly Visual Studio but depending on what language you plan to learn there might be a different integrated developer environment also called an IDE and getting set up so that you can start coding and running your code or compiling your code that's something that when you're following some of these tutorials they'll often have a very simple program like a hello world and if you're very new to programming a hello world program is usually the first program you ever end up writing it really just prints something out to the console that says hello world so my recommendation is really that when you start with some of these and you start building on top of that so you might start with your hello world program and then maybe you're learning about different data structures or different variable types and the language you're using so for example maybe how do you create an array and store values in the array I would say if you're reading an article on that or watching a video I would highly recommend you pull up your integrated developer environment your IDE whether that's Visual Studio or something else and you try writing a little program that can actually put values into the array take values back out of the array and just work with arrays based on the content you're learning and honestly in the beginning you should be starting with really simple things right so I wouldn't expect that your first program is creating some you know uh huge monolithic asp.net core web service that's able to scale to you know serve hundreds of thousands of users and then you split that into micro services or like nothing like that should be an expectation when you start programming and that's totally okay because my first program or one of my first programs was actually making a win forms application where the screen actually just flash different colors your first programs will be very simple so I do recommend that you start following some really simple tutorials trying to teach you about the different things in the language and that you start applying those into programs that don't actually serve a real purpose they just let you actually apply some of the concepts you're learning now what's really cool from there and what I'll link in the end of this video is that there's a bunch of little projects that you can start building once you have some of that foundation so if you stay right to the end of this I will link my next video which will start covering some of these projects that you could start to explore and again don't be worried if you go look at that list and you're like I have no idea how I'm gonna make this that's okay because the approach that you're going to want to take is that when you look at a list of projects like that you start breaking down what that entire project looks like and you see if you can start building little pieces of it and when you start building the little pieces you'll find over time that you're practicing and you you'll find over time that you'll have ways to integrate those pieces into something bigger and honestly that's how a lot of programs come together so to recap on that first question how much should you be learning up front before you start programming I would say very little up front and start applying that information right away the next question we want to look at is how do we balance that you know collection of information from the internet whether that's videos articles anything else how do we balance of that with actually going to apply that by building things and I think for a lot of people this answer is going to change an awful lot so I don't want to be prescriptive in what I'm about to say I want to try and generalize it so that you can have a framework to work with but I do think that there is a balance between trying to learn new Concepts and apply them versus actually creating something like production software and I just want to give you an example from my own experience so that you can kind of think through this and we'll try and dissect it a little bit but when I'm creating hobby projects and these are things that I don't really intend to release to the public and if I do they're going to be something where it's just you know a learning exercise when I compare that to something where I might want to monetize it or I'm building it for work and there's paying customers and things like that the projects that are more hobby related what I generally try to do is pick something that I want to go learn so it might be one or two things that I might say just to give you an example like I want to go learn about mongodb I'm not familiar with it I'd like to learn it so I want to build something with a database and I want it to be a document store so I'll use mongodb and then I might pick some other technology as well and say I'm going to try this out in my application but the rest of the application I will generally try and pick familiar Technologies so that might be I might create the architecture and the layout of the code for that application in a similar way I'd probably stick with something like C sharp so that I can have a basis for what I'm trying to build and then focus on learning these other things added onto it right so in this example maybe something like mongodb and I'm using mongodb from c-sharp when it comes to production software things for work I try to stick to what I know and no that doesn't mean that if I'm working in a team and someone suggests something that I'm not familiar with that I shut it down right away it's just that I try to pick things I'm familiar with so that I can iterate quickly when it comes to business and paying customers time is of the essence because you need to be able to deliver things and value to the customer so that they can try it out so that you can iterate based on that feedback and have that Loop so that you can keep offering more value based on what customers are saying if I were to take more time just to go and experiment and play with different Technologies the customers aren't getting value while I'm learning about these different things of course there's going to be scenarios where I do have to learn you know on the job because maybe it's a different you know domain that I'm not familiar with I have to use a new technology I'm not familiar with that happens all the time but for the things that I can control I want to try and pick things that allow me to iterate quickly so if we contrast my hobby projects with something that is more production ready I'm trying to build software for customers how do I balance my time well that really just depends on my own workload at this point so I do try to make sure that I'm always trying to learn little things or different technologies that I'm hearing about so that I can try and stay up to date but at different points in time I have more or less projects that I need to work on that I would consider like for production now for you if you're watching this and you're just getting started out I would probably say you don't have anything to deliver to customers in fact if you're trying to ship things to customers and you're not actually familiar with how to program that's going to be a lot of pressure and you're probably not going to have a great amount of success delivering on that software and that's okay because you want to build up some experience first so in the beginning you probably want to focus almost all of your efforts on like I said earlier trying to take information from different sources and apply it with really simple programs and then over time as you're building that expertise up then you might start getting comfortable and saying okay I can put together a whole application that has some functionality if you're in a position where you think that you have customers and when I say customers I don't necessarily mean they have to be paying it could be that you want to offer up a cool website that people can interact with or a little tool that you're releasing for free whatever it happens to be in that situation you have like customers right paying or not and if you're already kind of going down that path you're going to want to consider how much time you're putting into that versus how much you're learning on the side and this is why I was saying I can't prescribe anything because everyone's scenario is going to be different but for me I do like making sure that I can be learning something all of the time and that will be on the side for my actual production ready software that I'm trying to create so just to recap I do think that it's really valuable to go learn information from lots of the different sources you have available to you so videos like this one blog posts boot camps if you're into that kind of thing courses online there's lots of sources of information that can teach you about programming next I do think that it's really important you go applying that information and building things and like I said I don't think you need to wait very long I think it's soon as you start to learn something try applying it in a really really simple programs and they don't really have to have a purpose aside from you trying to apply what you're learning and finally when it comes to balancing like how much we're learning versus delivering things that's going to be very different for everyone but I do recommend for everyone that you try always trying to learn about something so you can keep up to date and that when you come across new challenges at least you might have heard of some of the Technologies or be familiar with them and that way even if you're not an expert or you've never actually applied it before it might be familiar enough where you can go start researching it and now that you've built up some of the other expertise from practicing the other stuff introducing one new thing isn't so hard so when my next video is done I will link it right up here and you can watch that next for different projects that you can try out thanks and we'll see you next time

Frequently Asked Questions

How much should I learn before starting to code my own projects?

I recommend that you start coding things right away. You don't need to learn a lot upfront; instead, focus on applying the information you gather immediately. Start with simple tutorials and gradually build on that knowledge.

What is the best way to balance learning new programming concepts and building projects?

Balancing learning and building really depends on your individual situation. I suggest that you always try to learn something while applying that knowledge in simple projects. As you gain experience, you can start tackling more complex applications.

Are boot camps and online courses effective for learning programming?

While I don't dismiss the value of boot camps or online courses, I emphasize that mastery in programming takes time and practice. They can be helpful, but you won't become an expert in just a few weeks. It's essential to apply what you learn consistently.

These FAQs were generated by AI from the video transcript.
An error has occurred. This application may no longer respond until reloaded. Reload