By John Sonmez August 23, 2018

I Feel Lost When Learning Programming!

Learning Programming can definitely be a pretty difficult and tricky thing.

With a lot of information out there, it is almost impossible to know where to start if you're not following a proper learning plan.

In today's video, I have received a question from a fan of the blog telling me that he feels lost everytime he wants to learn programming.

There is a lot of information out there and he does not know where to start. Besides that, he feels like he is not making any progress.

How to overcome this? Watch this video and find out!

Transcript Of The Video

John Sonmez: Hey, what's up? John Sonmez here from simpleprogrammer.com. I got an interesting question. It's actually going to be a somewhat technical question. Some of you that had been waiting—some of you, you leave these messages on the channel. “I subscribe to your channel because I wanted to watch programming videos and you keep on making all these videos about other stuff.” I don’t even know what to say to you like how many—have you seen my videos? Oh, gosh. It's funny but you know what? I don’t know why you're sticking around, but it's fine but here you go. This will help you. It will make you feel better that you subscribed to a channel called Simple Programmer. Maybe I should just the name.

This is a request to keep it anonymous, but you can give me a fake name. I'm going to say this is from Bob. Bob writes, he wants to know how not to feel lost while learning the code, which a lot of people have this problem. “I'm learning the mean stack from different online courses and tutorials. The problem is there are way too many technologies, languages and frameworks to learn.” No kidding. I agree with you.” Also, every course that I've ever stumbled upon is usually incomplete. They teach some random basic terms about the language/framework and that's it. How can I learn to build a complete software or create a GUI, graphical user interface, just by writing a few lines of code in a browser code editor? I'm feeling kind of lost and confused. Thank you.”

You are feeling a little bit loss if you think you're going to create a program from the few lines of code. I don’t know if that's—I don’t know if we're there yet. I don't know if I'd want to hire you as a developer who creates a program from a few lines of code. I have a feeling that the code will be pretty obscure and—I've seen some of the competitions where they squeeze the code into like one line, but let's not do that.
As far as what you're talking about here, as far as you're trying to learn mean stack, it doesn’t matter what you're trying to learn. There are so many technologies, and frameworks and all of this. I'm with you. This is something that is a big struggle for software developers. Back in the day when I was learning to code, there wasn’t very many options and there wasn't very many options to learn. I mean when I was learning C, there's like five books on C. That's it or C++. There wasn’t very many and you read all the classic books. I mean you learned about boost framework and STL, but there wasn't much like you could read the MCN journal or the dubs, whatever it was and you can kind of stay up about some industry.

There's good and bad. It was good because I knew what I needed to learn and I wasn’t overwhelmed by all this technology and framework and stuff because it wasn't—there wasn't that many options. It was bad because there weren’t very many resources. It was difficult to find a free content. There wasn't YouTube. There wweren'tblogs out there that had a lot of information out there. There even wasn't a lot of books out there. A lot of times, to get really high level stuff, you might have to pay for consulting and stuff like that. Good luck finding those people.

Today, let's go to today. Today, what you have is you've got a lot of stuff. You got a lot of noise. Signal the noise ratio. Noise, you've got a lot of noise, but it's a huge advantage because there's a lot of resources and there's a lot of free sources. There's a lot of good paid ones as well. What I'm going to do si I'm going to guide you in a couple of steps here.

First of all from the top, first of all, looking at the philosophy of this, what do you have to do pragmatically? Pragmatically, what you have to do is you have to narrow your scope and you have to be really focused on what you're going to learn. Don’t be distracted by all the frameworks and technology. I'll tell you this. You're never going to know at all. You can't know it at all. No one knows it all. Today is the era of the specialist, not of the generalist. You cannot know it all. What you can do is you can pick a really thin slice and you can be really, really good at that and that's what's going to get you the big bucks. That's what's also going to shorten the time that it's going to take you to learn.

I'm going to point you to two resources that are going to help you with this. First is the course that I created called 10 Steps to Learn Anything Quickly. Go check it out if you haven't. You don’t have to buy the course, but it gives you a process, not just for learning quickly because it's not that you need to learn quickly in this case. It's that you need to learn focused and it gives you a process that will help you to focus to make it so that the scope, all the stuff, this noise out here, that you narrow it down and you hone in on exactly what it is you need to learn and you create a plan to do that, because that's the only way you're going to move forward and make progress.

I'll tell you. It's funny that you said in this email that there's always courses out there, but all of them are incomplete or they're teaching different pieces. There's no complete thing. That's true. This is how the world works. This is why knowledge is valuable and learning on your own is difficult. The most valuable skill you can learn in your life, again, that's why I say get that course, is to learn to learn. You have to—no one teaches you this in school. You have to learn how to learn. That's why I put together the course because I had to learn this the hard way. After doing like 55 Pluralsight courses which you can check out here, by the way, that's the other resource I want to point you to is Pluralsight has a lot of really good content. If you're looking for video tutorials, I did courses on there. That's why I vouch for them.

That doesn’t even matter because there's a ton of stuff out there. It's not that you can't find the information. If you want to find some good ones, those are the ones that I would recommend, but my point is this, is that you've got to narrow the scope down and you've got to focus on exactly what it is you're going to learn and have a good process for doing that. Once you do that, then it will be easy. You're going to piece together the pieces from different resources.

When I learn something, I don’t read a book cover to cover and that's one of the tenets that I talked about in this course, by the way, is I don’t do that. That doesn’t make sense. That's a waste and it's usually incomplete to some degree. Instead what I do is I find pieces here. I want to learn about something. I'll find a video tutorial here and I'll find parts that are relevant to me. I find a book here, parts of it that are relevant to me. I find someone I can ask questions to, a mentor, and I ask them certain questions that they can answer, that they're an expert in. I get all of these resources together.

The way that that works, the only way that it can work is that I already have a plan ahead of time. I know what it is I'm going to learn. I know what my goal is. I always tell you this here on this channel is that you always need to learn X so you can do Y. If you don't have a Y, you don’t have an X. You're not going to learn X. What is your Y? What are you actually trying to accomplish? Are you trying to become a mean stack developer? What does that mean exactly? What kind? What kind of mean stack developer? What do you want to specialize in? What technologies? What exactly is it? Whatever you're doing, you need to figure that out.
Once you know exactly what it is, one good way to do this is look at job descriptions and say, “I want to be able to get this job.” Good. Now, you can work backwards from there and say, “This is what I need to know in order to get this job,” or, “I want to be able to build this app.” That's even better because now you can say, “Oh, what do I need to know in order to be able to build that app?” You see what I'm saying? You work backwards and then you can make a focused learning plan. That's the best way to do it and that's how you avoid the noise and all the crazy stuff out there.

Like I said, you're just never going to know at all, so you got to pick and you got to be very specific. It's a good time to be alive because there's so much information out there, but you've got to develop the skill of weeding out the signal from the noise, so that you can actually find out what's valuable.

All right. That's all I got for you today. Make sure you click the Subscribe button below. Go ahead and click the bell so that you don't miss any videos, and I'll talk to you next time. Take care.

About the author

John Sonmez

John Sonmez is the founder of Simple Programmer and a life coach for software developers. He is the best selling author of the book "Soft Skills: The Software Developer's Life Manual."