Often I ask myself why many people can not program. Often I even see developer and think, you can not program right? But actually, I see, that it is not an issue of not being able to code, it is not want to code. And this is reasonable. When people start learning to code, there are some simple and logic examples. Learn variables, loops, conditions, classes, structures, lists but how do I build a GUI? I think this is two totally different things. When you are able to make cool UIs with great smooth effects and a good structure. you learned to make UI and how to use the GUI framework. But using a gui framework has nothing to do with programming, even thou, UI developer are considered as programmer and developer.
But what about algorithms, data structures, software, architecture, communications,…? most of thous things are not necessary when programming today. So, to make a cool app, it is not necessary to know what is a double-linked-list, a B-tree or bubblesort. As a JS developer today you just take array and done. And I think this is good!
But what is it, how to be a programmer? what do you need to say “I can code.”
Actually, I think to say that, one of the above skills is enough. To be able to code is every day a new decision, I want to solve that problem. That problem can be in the UI, Database, in some algorithm. To be able to program it is important that you are motivated and patient to analyse a problem and work out a solution step by step.