Programming for almost 5 years now, I’ve stumbled upon many people just asking me why exactly did I choose this path? Why is the job of a computer programmer so hyped, as some might say? People who haven’t try real coding before may not understand what’s special about just typing different mathematical, logical and other kinds of expressions into your computer. Learning the syntax (programming language’s grammar) of the language is not that hard really. The basic logic is not that hard too. So, what’s the deal?
Every programmer, whether it’s a web developer, software engineer or ML programmer, knows that programming is not just a combination of syntax, logic, and algorithms. There’s more to that than a non-coder can see. The idea of problem-solving — the real backbone of programming in general. The thing that’s so demanded on the programming market and also one of the hardest skills to learn, or should I say practice…
Overview
With this little introduction, I think it might be worth it to take a while and explore what does the problem-solving term means.
The well-established skill of solving problems can be really useful even in real life. It allows you to calmly approach and break down your difficulties with ease. Instead of choosing the not-always-working brute-force method, you can take a different way. Just split your problem into smaller chunks and solve them one by one instead. What I trying to say here is that problem-solving is the ability to choose the right method for the right difficulty. By doing this you can later solve it much easier. Also, the way that you solve your problems is important too. You can do it well, or… a bit less well. Every step matters!
In programming, it becomes even more visible. Here, you have to use different structures, tools, techniques, and concepts to achieve the desired outcome. Take a website for example — your end result. The problem? — creating it. And here the whole process starts…
Achieving the result
Brainstorming
With our task of creating a website, we first have to do a little brainstorming. First, creating a website definitely isn’t the best way to describe our problem. We should break…