if I could change just one thing about the time I spent learning to code it wouldn't be the tutorial I chose or the language I started off with it would a hundred and ten percent be these mindset changes so I'm just going to get straight into them okay so the first one is focus on practice not Theory when I was first getting started I stumbled across a blog post on the internet where I read something like the 10 000 hour rule to Mastery it said that if you spend 10 000 hours doing something you'll eventually
become a master at it in my head I understood that as let me go read a bunch of books and watch a bunch of tutorials on programming for ten thousand hours and the quicker I can do that the better programmer I'll become My Philosophy now is a lot more different and it's more the ten thousand lines of code approach so how quickly can I get to 10 000 lines of code where every thousandth line is better than the last one coding or programming is a craft and you get better at it by being inefficient slow
and bad it's a lot more like woodworking playing an instrument drawing than it is like law or history or Finance or anything that's very information dense finally this point or this mindset is really helpful in making you avoid tutorial help and if this video reaches say 10 likes I'll make a step-by-step guide on how to get out of tutorial hell alright Point number two is ego is the enemy so when I was just getting started I didn't want to do the plain HTML CSS recipe websites that tutorials get you to make I want to do
the cool stuff I wanted to make my Facebook clone a Reddit clone I want it to be Nitty Gritty in algorithms and rest apis this was my ego speaking had I swallowed my pride and not thought that doing these basic things were beneath me I would have become a much better engineer in a lot less the time all right so Point number three get comfortable with being uncomfortable in software engineering you're an information manager so it isn't your job to know everything and as a professional developer you'll never know everything however given that the problem
is within your domain so say you're a back-end engineer and it's a back-end problem you're expected to be able to go and solve it and that's a really uncomfortable feeling and it's never really gonna go away I mean tools will be there you can read up as much as you want outside of work but there's so much in this field that you just have to be okay with feeling uncomfortable and you have to sort of learn to enjoy it you have to see it as a part of the job that you actually enjoyed like okay
cool I'm not uncomfortable I'm actually going to learn something now I'm gonna go beyond what I knew before I picked up this piece of work and that's the beauty of this field so the final point is you will never Master programming I see these kind of posts on Reddit all the time how quickly can I master X language or is it better if I master HTML before CSS and this misses the point of programming for beginners you aren't meant to master languages in the beginning you're meant to go and build things with them and iterate
on it you don't Master programming Concepts you understand them vaguely when you watch tutorial or read something off a book you go and apply them numerous times in a project and then you continuously improve on that this really goes back to what I said about coding being a craft so for example this is a situation that I've been in and you're starting to learn to code and you stumble across some Concepts you don't understand say CSS flexbox what I used to do was I would sit down and I would non-stop read about the concept watch
different videos and I will try to master that concept before I went on to the next and that is completely wrong what I would do now is I would okay I don't understand this let me finish off this section of the tutorial or whatever section I set out to do and then I would go build things with it alright so your immediate rebuttal would be something like okay but if I'm not a master how am I meant to get a job in this industry well you're missing the point again when you're getting hired as a
junior developer you're not expected to be a master you're expected to know a certain part of the domain that the company is looking for say front-end development and you're expected to have the grit patience and persistence to constantly learn and absorb new things and this is how really good programmers are made they know the basics really well not by reading books or doing video tutorials by building a bunch of projects and they're always eager to learn more so they do a bunch of practice they swallow their pride they're very comfortable with being uncomfortable because they're
learning and they're on this continuous pursuit of mastery