字幕列表 影片播放 列印英文字幕 - All right, so let's discuss now the four stages that you'll go through becoming a programmer, but also why knowing these stages can help you make better decisions for your career. This video is brought to you by the Learn Programming Academy's Windows Presentation Foundation course, Master Windows Presentation Foundation, or WPF, learn how to create applications with a rich user interface. Leverage WPF with C# and XAML to build real world skills with Azure, REST, MPVM and machine learning. Visit lpa.dev/YoutubeWPF or click on the link in the description below. (electronic music) All right, welcome back, my name is Tim Buchalka with another programming tip of the day, and we're talking about the four stages that you'll go through in your journey to becoming a programmer. Now let's get started with the first one, and the first one is unconscious incompetence. So what that means is that when you're starting out, the decisions are hard to make, and for example, you don't know languages, frameworks, an area of interest that you want to get into for programming, how easy and how hard these different areas are, and basically where to start in fact. You know, even things like what's involved in a particular language, or you know, basically getting to a certain level. So using an analogy here, or an example, consider that maybe you're starting out and you're thinking okay, I want to become a programmer. I'm interested in artificial intelligence or machine learning, for example. At the moment, if you're at this stage, then you don't know the prerequisites to get into artificial intelligence or machine learning, or even if programming is for you at that early level. So you may not recognise this either, so you may not really recognise or acknowledge to yourself that you don't understand this, and you may think you know, but basically, to move on, what you need to do is figure this out and you need to learn and recognise that you don't yet have all of the answers, and also, very importantly, you really do want to acquire those skills, basically the skills you need to basically proceed. Now when I get asked a question from students, and I get asked this quite often, students will approach me and sort of say, well okay, I'm starting out, I've just started my first course, so for example my Java Masterclass, can you give me the next three courses that I need to take after this, and I wanna get to artificial intelligence or machine learning. Well what I say to them is, basically, look, it's too early to do that. Finish your first course first, and then start looking at making a decision after that. And this is really dealing more with this unconscious incompetence, because you don't know what you don't know at this point in time. So you need to go through, get some basic training, before you can move on, and that's why I say, early on in your programming career, don't try and make long-term decisions on where you're going and what you're doing. Focus on the basics, in this particular case, would be learning a programming language. All right, so that's the first stage that you'll go through. The next one is what I call conscious, or what's called conscious incompetence. Now here, you've taken yourself to the next level. You now know and recognise that you don't have the skills you need to become a programmer, or to get into that specific area of interest, but also, you've got a real want, you really want to acquire these skills, and you've recognised that there's a value there for you to learn these new skills. That's really important that you're sort of acknowledging to yourself, okay, I haven't got these skills, I've got a lot to learn, but I want them. You know, you're really saying to yourself, I really want to learn these skills. So basically, you're acknowledging to yourself you don't yet have the skills, or you really don't at this point in time, and during this process, when you acknowledge that, you're gonna start programming and learning, and you're gonna make tonnes of mistakes. And basically, making tonnes of mistakes and getting frustrated and wanting to give up, this is all an integral part of this stage. And let's use an example here, equate it back to programming so it makes sense. Let's assume that you've recognised now to become a web developer, that you need to learn something, you need to learn. You've figured out now, when you first started, your very first time you said to yourself, before you touched a line of code, I wanna be a web developer, you had no idea, that was going back to step one. Step two, you've done a bit of training, a bit of research, and you now acknowledge and say, oh wow, okay, I need to learn HTML, CSS and JavaScript as a prerequisite to at least some level before I can hope to actually start learning other more advanced frameworks et cetera for web development. So you've done that, basically you've gone through that very basic process of learning some fundamental skills, or at least acknowledging to yourself that okay, I need to learn these skills, and you're sort of saying, look I haven't got those skills but I'm prepared to learn it. So basically, what I'm saying there is, there's a process to go through, and here you're acknowledging to yourself that you do wanna do it, you've done some research, you've figured out, in this case, that example, HTML, CSS and JavaScript would be three core skills used typically by web developers, and you can make a start on that. So basically, you're recognising now that you need to understand those three core skills, but also, more importantly, the value of doing this, why you're doing this, and you've made the decision to yourself to go ahead and do it. And you recognise that at this point it won't be easy, but you're saying to yourself, look, you understand there's a process that's gonna take a while, there's a lot of stuff you're still trying to figure out at this stage, but you know that you can actually get there, basically. So that's the second stage, and moving on now, the third stage, is conscious competence. So basically, what that means is, and why don't you continue with the web developer example here, because it's a good one. So here now, you can finally get some of that stuff working. So you know, perhaps you now understand some HTMl, looking at the web developer example, HTML tags seem to make sense, or at least some of them, and some of the JavaScript code may actually make sense, you can sort of start stringing together small bits of code, but your brain hurts at this point in time from all the concentration, you really have to focus and concentrate hard on understanding this, and you've got this worry in the back of your mind at this stage, if you're gonna remember all this stuff, and if you're not constantly immersing yourself in training and practise, some of this information's going away. So you're still uncertain at this point in time, but you have progressed. You're now able to understand some of the concepts you're learning and string together perhaps little programmes, but again, you've got those worries, and basically concerns in the back of your mind at this point in time. But the bottom line here is, at this point, the training, perhaps a video course, if you're taking a video course or a book or whatever it is, it's now starting to make sense, and you're now basically on the road still to getting to that fourth stage. All right, so the fourth stage now, is unconscious competence. So basically, this level, it's really the level where you want to be at, ultimately, this is what you should be shooting for, and this is where programming effectively is second nature for you. So here you've practised so much, you've done so much training, you've applied this code, basically to get to this level you've done that, and at this level you're now actually finding to a large degree that programming is easy. It's not necessarily always easy, but you're feeling much more in command, you're not struggling to remember things, a lot of the things you can sort of remember off the top of your head, you can string together, put together code, you're not feeling you have to concentrate so hard all the time, things are coming to you automatically. So as you're typing code, for example, you're thinking okay, which algorithm do I need to use here, and it's coming to you, so you're understanding that. You're maybe at the stage where you feel that you're even at the level now where for some things, you feel you could teach this material to other people. But certainly, programming at this level is so much easier for you, and perhaps you're even looking back and wondering why you thought about giving up in some of the earlier stages. So you got frustrated perhaps at an early stage, and you know, at this stage, if you reach this stage, you're finally saying to yourself, wow, okay, I can actually get this, I'm enjoying it, I'm understanding, and you really almost can't believe that you were ready to give it away you were so frustrated at earlier stages. Now that's not to say when you get to this stage that you won't have other challenges to overcome. For example, if you pick up a new programming language, even if you're at this stage, there will still be some work, there'll probably still be some elements of frustration, but it'll be a heck of a lot easier because you've been through the process and you've got the core skills, and basically a model for how you can move forward and learn and sort of understand these skills. All right, so a summary of today's video. Keep at it, make a commitment to persist with your training and your practise, and know ahead of time that when you're entering this journey, there's gonna be ups and downs. I also suggest you practise and study regularly. It's really important that you do that and do the exercises in courses, try and create little programmes for yourself, try and adapt those programmes. If there is a challenge or there's some code, that you see me or whatever book or video course you're going through, giving you, try and firstly understand that code, but can you adapt that code, can you add to it, can you add some functionality, can you make it do something slightly different. So if you actually focus and keeping on doing that and practising and going through all these stages and realising that there's a process to go through these four stages, and everyone has to go through that, that will ultimately help you to actually succeed, and make it basically possible for you to actually succeed as a programmer and make this your brand new career. All righty, so I hope that helped. If you've got an questions, feel free to leave a comment and I'll get back to you. If you're ready to look at the next tip, click on up here and you can check that out. If you're interested in coding-specific programming videos, click on the link in the bottom left-hand corner. Consider subscribing by clicking on the link up here, and I'll see you soon.