By John Sonmez April 16, 2020 The #1 skill that SAVED MY LIFE as a programmer Becoming a programmer is hard and, for those who are just starting out, might seem like a LOT to learn. Learning can be a difficult path, especially if you don't know what to do and don't have a mentor. There a few skills that, in general, are more valuable to developers than others: Math People Skills ???? However… There is ONE simple skill that you REALLY need to develop if you want to break into the programming job market. No… It is not math. No… It is NOT people skills… No… It is NOT a specific programming language. #programming #coding #programminglanguage Transcript Of The Video John Sonmez: It doesn't matter whether you are learning machine learning, artificial intelligence, your COBOL, programmer, C-Sharp, Java, Python, you need to have this one skill. The number one skill that a programmer must possess is… What's up, guys? I want to tell you about a company that I've been working with for a while that it's really going to be able to help you if you want to get a high paid job in coding or design. It's Dev Mountain. They're an awesome in-person coding and design boot camp that offers housing at no extra cost for full-time immersive students. They have a whole career services team to help with job placement, so if you are interested at all in coding or design, go click the link below and tell them I sent. Subscribe to the channel and hit the like button because the YouTube algorithm apparently likes that. Of course, I'm going to delay this. Of course, I'm not going to tell you right away because I want you to figure this out and that's a hint. A lot of people have the wrong impression. What they think is that the number one's cover programmers is math. math is not, you don't even have to have very good math skills. It's kind of funny. It's kind of silly when we sort of teach students to really develop high levels of math skills when pretty much everything is accessible via Google. The second one that you might think I'm going to say is people skills. You might think that that's the most important thing, but that's not. That's not the number one skill. I've seen a lot of programmers be successful without very good people skills or moderate people skills. If you just have monitor people's skills, you'll do okay. Most people don't realize this, but you're going to spend time writing emails, coding people, mentoring people, being mentored, working with other developers, going to meetings, talking to project managers, all this kind of stuff. What else do you think that might be the number one skill? Technical ability. Is it your programming language? Your ability with a specific programming? And that's actually pretty high up there. But more of a master you are at a specific technology or programming language, probably the easier it will be for you to solve any problem. If you only have one tool in the toolbox. If it's a decent all-in-one tool, you can probably do a lot of stuff with that and figure out how to do that. But if you have a lot of tools and you know how to use those tools. When I have hired people, I've hired people like on TaskRabbit or something or hired a professional to come over to do something. They've got this toolbox, they have all the perfect tools. Shit that would take me an hour to do they do in five minutes because they have the tool and they know how to use it and they've seen it before. Being really good at a programming language, definitely, definitely, definitely very useful. I'm not going to torture you anymore, if I give you this and you agree with it, then smash that like button if you haven't already. So the number one skill that a programmer must possess is problem solving skills. That's the most important thing. I don't mean just the ability to solve problems, I mean to literally be able to break down problems to the smallest components and then to figure out what you need to do. The primary function that you do is you solve problem. It involves breaking something down and figuring out what are the intricate components of that. Because every single big problem has a lot of small problems. A really good problem solver is someone who can basically start with something that may be overwhelming. So think about building a software system or if you've ever been to a whiteboard coding interview, one of those stupid programming interview questions or leetcode or all that stuff. The skill is to break down the thing to understand the little components. And really what you're doing when you're, when you're writing code is you are literally taking a problem and you're literally translating it down to the single steps that are required. The heuristic or algorithm as we call it and is offered in development programming that is required in order for that to be solved. This is the thing that needs to be created. And then to take that and chunk it down into out of this one big problem, there's five problems. I'm going to serve the first of those five problems and I'm going to break that down. And then everything comes down to a very simple set of logic, almost always where it's just simple problems. And you're solving simple, simple problems. You're writing code and it's all simple problems and when that all adds up, it aggregates into a larger problem. So problem solving is the number one skill by far. If you don't have that skill as a programmer, you're not going to get very far. Subscribe to the channel if you haven't already. How can you develop that skill hugging to develop the skill of solving a problem and this is going to be a shocker, it's just solve lots of problems. I was doing problems, algorithm type of problems on [inaudible 00:04:38]. and I got so familiar with those problems that and breaking them down and practicing that, that when I actually worked on my real jobs stuff, I was able to look at the problems from a new angle and I was able to see, how do I break this down? How does this break down into steps by step by step. A lot of software developers, a lot of beginning programmers. What they try to do is they're so concerned with writing the code, with getting shit done, that they don't stop to analyze the situation. You really need to do your analysis and solve the problem first on paper in your head and then write the code. It would be me spending 80% of the time breaking the problem down and making sure I understand it and then just 20% of the time writing the code. Because once you understand the problem really well, getting the right question, understanding the problem really well. Once you do that, then solving it, writing the code to do it, it's not that hard. I will talk to you next time.