Why 95% of Self-Taught Programmers Fail (Honest Advice)

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
wouldn't it be nice if there was just a training manual on how to be a software developer when i worked at starbucks i was able to make espresso drinks like lattes and cappuccinos within an hour or two and yet with software development i literally had to go through an entire year of learning on my own hundreds of hours before i actually landed a job with a company because there's no official training manual to follow you have to figure out everything on your own and since learning to code is not about memorization it's not something you just cram and learn for a few weeks there are definite ways that you are going to try to approach learning this that are going to lead you nowhere so i'm making this video to help you to identify four early warning signs that you're learning to code wrong and i also want to give you some of the advice that i've given some of my clients who've run into some of these problems that you can help to get through whatever issues you're going through so let's go ahead and dive in so one thing you may have noticed is that there's really no shortage of free information available to you about how to learn to code how to write code to create software applications and yet i still hear so many of you guys complain that there's something you feel like you're missing there's some magic tutorial out there that you're missing that if you took would just complete the picture for you well i hate to be the bearer of bad news here but it's not the lack of good information that's holding you back instead the problem often resides with how you actually learn being a self-taught programmer is not just about practicing and studying it also means that you are the one who creates your own curriculum in other words what that basically means is you're the one who has to create that game plan that is designed to develop a really strong skill set that will lead to a job now i found that most people are pretty good about studying and practicing diligently meaning that they can sit down if they're really motivated for an hour to every night to actually do the work of the software developer but where most people to be honest suck is creating that game plan we're not taught how to do this in school we're given a curriculum they tell you exactly what you need to learn there's never a class or a course of teaching you how to learn a really hard skill on your own so without this knowledge of how to create your own curriculum what often happens then is you just start picking random things to do you get really busy but it leads you nowhere so the first early sign that you're learning to code wrong is that you lack a simple learning process now let me explain a little bit about what that means the clients who i've worked with who've been successful in landing a job all have a very interesting thing in common is that their journey looks really boring they aren't doing crazy things like staying up till five in the morning studying and cramming in every single day taking tons of caffeine to stay up late instead what they're doing is any given day maybe they're starting their one two maybe three hours that they need to put in and then they call it a day and then they do the exact same thing the next day they just chip away little by little by little when you do this for multiple weeks multiple months all sudden you get to the point where you have learned a ton you have a portfolio of projects you've built and suddenly you're ready to apply for a job it's just that simple it's so straightforward what these successful clients have done is they've made the learning process simple so it's easy to follow there are two ways to make your learning process simple first is you want to develop a set schedule for studying and practice one of my favorite sayings is clarity is power and when you have absolute clarity about when you need to sit down and study because you set up a schedule for yourself that's where you're really going to develop consistency where you're going to run into problems is where you leave things open-ended so if you say to yourself i'm going to study at some point today it means you're probably not going to study at all the second thing to make the learning process simpler is regularly planning and reviewing before each day begins you'll want to decide where you're going to spend your time so are you going to spend that time on a tutorial are you going to spend that time working on a portfolio project that you're building out are you going to spend that time preparing for some technical interview that you may have to do you have to decide this up front if you don't make that decision before you sit down to study then what often happens to people is they pick the easiest thing on their list and that's where they begin to do things that aren't really helpful in the long run all right so we made it to that first early warning sign but you know it's another thing that's really simple to do to simplify your learning process go down below smash the subscribe button so you get notifications anytime i put out a new video so the key to learning to code is about mastering a very critical distinction do you remember earlier how i mentioned that when i worked at starbucks i was trained how to make a cappuccino in basically under an hour well the key component of learning that quickly and effectively is that you basically get hands-on training where you basically repeat that process over and over again in the case of starbucks my shift supervisor brought me over to an espresso machine she demonstrated how to make a cappuccino and then i had to make about three or four cappuccinos in a row and then all sudden boom it clicked i knew how to make a cappuccino in other words i didn't watch a three-hour training video on how to make a cappuccino starbucks has enough experience training people that they realize they can give them a little bit of instruction and then the best thing to have them do is practice over and over again of course it still took me weeks or months to maybe memorize it and really master the art of making cappuccino but they just got enough to get me going now when you're learning to code the equivalent of my starbucks training would be learning the fundamentals or the basics of a programming language and then going out and building a few small projects to test out your knowledge however most people don't take the starbucks approach when they're learning instead they take the equivalent of watching many hours of other people making cappuccinos or they're reading a lot of books about how other people make cappuccinos in the past if you don't follow what i'm saying what i mean is that many people consume a lot of content of other people creating software applications or they spend a lot of time reading books that talk about the fundamentals talk about syntax talk about data types talk about methods and functions but they never actually apply that in any meaningful way so the next early warning sign to be aware of is that you're obsessed with theory over application watching other people code and consuming information in books has its place but it has a limit on its effectiveness the reason you'll get a job offer from a company does not come down to what you know it comes down to what you can do with what you know i would never hire somebody because they've read 100 books on programming or done 100 tutorials that does not impress me in the least instead what i look for is somebody who's built a variety of projects both big and small i want to know that this person has gotten their hands dirty i want to know if you've gone through that long and difficult process of building a complex application because somebody who's gone through that long and difficult and painful process is somebody who i can trust that if i give them something to work on that they can go and run with it the dirty secret about being job ready as a self-taught programmer is that you don't actually have to master a wide range of skills but what you do have to master is problem solving and thinking like a programmer this is not something that you can learn from a book this will come from practical experience of putting yourself through the fire of building applications now i can already hear it now you're going to say but andy i don't know what applications to build so the point of projects is to practice what you're learning so you don't have to obsess over getting the right project to build there are literally endless project ideas if you know how to use google i'll even throw up my video here of five javascript projects that you can build you can apply to any programming language now if you haven't started building your own applications i'm going to give you some advice here writing code building your own software applications is very hard most people don't want to do it you will feel lost you will feel disoriented you will feel like you keep on running back to tutorials because of this nice warm place where you get all the information you need you don't have to think for yourself but this is why so many people end up failing to become programmers so embrace the chaos of building projects you won't be very good at the very beginning it will be like the equivalent to drawing stick figures when you're drawing but just keep going through the process over and over again get very comfortable with building applications and applying the theory all right so now on to my next early sign here so one of the things that surprises so many new developers people who land their first job is just how much time you spend fixing your own mistakes now this may not be very scientific of me to say but i believe just about 50 of your time as a new developer will be spent tracking down some bug some error or some just mistake that you introduced into your own code and no matter how tedious no matter how carefully you write code you are going to make mistakes after a while what you begin to realize is mistakes are very normal and they're a necessary part of the learning process so the next early sign to be aware of is that you're afraid to make mistakes there's a pretty simple way to know if this is you just go back to any project that you've created either on your own or with a tutorial if i told you to go refactor that or add something to it or change it in some meaningful way does that bring terror or does that bring fascination if you are scared to touch that project because you might break something then that may be a real problem making mistakes repeatedly as you're learning is the best way to really know what you're doing and no this is not the same advice as you see on like a motivational poster where it says like mistakes are proof that you're trying or something like that mistakes actually serve a very important purpose when you make a mistake you have to stop you have to slow down and you have to analyze your code that often means stopping and reading your code line by line by line to see if it's doing what you're expecting it to do it also means that you'll have to use the debugging tools that you'll have available which allows you to look into the application as it's running to see what things are doing which is sort of like opening the hood of the car as it's running when you make mistakes you're going to be continually reminded where you lack understanding where your blind spots are which should tip you off that you should stop and maybe learn something more in depth anyone who spends hundreds or thousands of hours reading through their code over and over again in different contexts are building neural pathways up here in your brain that are going to make it easier to read code in the future the telltale sign of this is when you begin dreaming in code and when you begin to visualize the code as it's running so that's something to look forward to so if you find that you're afraid of making mistakes then what i'd recommend is number one really making a mindset shift your perception that a mistake is bad is half the problem here when you realize that every mistake is actually a gift to you to help learn is when you really start to embrace the messy process of learning to code now the second and more practical thing that you can do to embrace mistake making is to really learn source control like git you should never be afraid of breaking your code or making a mistake if you're using git properly if you're making regular commits which are basically regular snapshots of your code and you're using branching strategies then you should have nothing to worry about if a mistake happens if something occurs that you can go back and change it to the way it was before you made that mistake all right so we're in the final stretch here let's get to my fourth early warning sign let's get right to the point i don't care who you are you're going to suffer from imposter syndrome which is feeling like you're a fake developer now one would think that if you spent 6 months or 12 months just endlessly studying that you would eventually feel like you're ready to be a programmer well i hate to break this to you but you will not feel ready this is very important to get through your head and the reason being is because you're going to use this as a an excuse as a reason to continually delay and not apply for jobs i've seen people who are ready to start applying for jobs meaning that they have requisite skills they have a nice portfolio but they refuse to start applying because they want to feel more ready which is pure self-sabotage it's self-sabotage because i've seen people with mediocre skills who just scraped a portfolio together who happened to get a job interview and impress the company enough to get a job offer and this isn't even that uncommon because companies are in dire need of software developers right now yes many companies would love to get a senior developer a very experienced developer but since they're in such demand they're such a low quantity they end up being open to hiring people with less experience who have mediocre skills who at least can show that they can do the work so the final early sign that you're learning to code wrong is that you haven't committed to a specific date when you're going to start applying for jobs the reason this is important in relation to learning to code is because i'm assuming you're not trying to do this for fun you're trying to do this to make money to get a job what ends up happening for so many people who decide to learn to code then is because they don't pick a finite timeline of when to do this they don't really have a sense of urgency of when they need to get things done so i urge you to pick a date in the future of when you're going to start applying for jobs and i call this a drop dead date meaning that the only way that you're not going to start applying for jobs on this date is if you have a literally drop dead so it doesn't matter if you don't have a portfolio if you feel like you suck at programming you're going to do that and by the way having a drop dead date should make you a little bit nervous it might be a little bit scary that is the point it's just like jumping in a cold pool you can't think your way through jumping in a cold pool you just gotta push yourself to do it right the same way with conquering imposter syndrome you just gotta get out there and start applying for jobs now if you're looking for more useful tips and advice on how to become a software developer i've created a self taught programmer study manual it's a free pdf that has given some of my best advice on how to teach yourself to code so i will definitely leave a link in the description below of how you can download that other than that thank you as always for watching and i'll see you next time
Info
Channel: Andy Sterkowitz
Views: 388,228
Rating: undefined out of 5
Keywords: self taught programmer, self taught software developer, learning to code, computer science, software engineer, software engineering, software development, computer programming, programming, software developer, andy sterkowitz, self-taught software developer, code, learn to code, how to become a software developer, how to become a programmer
Id: ueXjGMrmn8k
Channel Id: undefined
Length: 12min 16sec (736 seconds)
Published: Tue Oct 26 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.