Historically, all the attempts to make programming for everyone failed. The most prominent examples are COBOL and SQL languages; these were designed for non-IT people in business to use; in the end, still only IT specialists use(d) it anyway. In this article, I’ll try to highlight some potential reasons for this.
Programming vs. Coding
The purpose of software is to help people. And code, the building blocks of software, should be geared toward that purpose. (Unless we are explicitly coding for the sake of coding.)
The focus should be on solving problems. And if it can be done without (new) code, all the more better.
Jeff Atwood touches upon this idea in his post Please don’t learn to code criticizing the “everyone should learn to code” movement:
“It (the movement) assumes that coding is the goal. Software developers tend to be software addicts who think their job is to write code. But it’s not. Their job is to solve problems. Don’t celebrate the creation of code, celebrate the creation of solutions. We have way too many coders addicted to doing just one more line of code already.”
Then, we should only create more when we have run out of all options because “The best code is no code at all”.
Programming vs. Piano
As a kid you may have built with LEGO or similar. Houses, cars, maybe something else. You may be able to build a treehouse. This doesn’t, mean that you could design a skyscraper or will ever be a famous architect. Or even build a house.
That FACT reflects itself on every skill set you can imagine in life. Skills that required for playing chess, football , speaking a new language or even to be a professional pianist. In other words, just tapping the piano tiles arbitrary for a century in a closed room won’t make you a great pianist. But if you were passionate enough to listen and learn the basics. Try infinite number of times to master these basics and then try to use them into different combinations of melodies. That creates what so-called “Intuition’’ .
Just like the piano. Coding here is the equivalent to the piano tiles while programming is the equivalent to the ability of feeling, tasting and creating new melodies.
Programming vs. YOU!
You might be aware of all what i said above. That’s OK!
Though, you still need to be careful.
Confidence is a double-edged sword. That’s because it differs in the speed and the way it grows inside of someone to the other. Personally, I’ve seen people changed their Facebook job titles to a “Blah Blah Blah Developer” just after a few hours of trials, errors and fixing errors led finally to the victorious clean run of their “Hello World App” 🙂 .
Every skill set has its own healthy learning curve. And in a true learning curve of coding. You should -at some point of it- to figure out the fact that “Building a real software requires a good self discipline” . You should neither stuck in the superiority illusion of the beginners nor overestimate what you can individually do as an intermediate.
As the professional physicist knows with no doubt that he cannot build a rocket and invade the moon himself. Because this work needs hundreds of dedicated people with Ph. D and other letters before their names in different aspects to work synchronously in a healthy environment. You’d also better know that it’s almost impossible to build something as big as a full functioning Operating System on your own.
Should you NOT learn programming?
There can be instances where if it doesn’t work for you at all, you just need to leave it, and focus on something else. If you can’t get intuitive with programming after a very long time of working at it, then you should just consider giving it up, and look for something else to do.
That won’t be the case if you actually put in the effort to understand the concepts. And the concepts aren’t hard to get. You’re still enjoying your routine with it. The problem is implementing those concepts into something you want to build. After hours and hours of practicing how to code, after memorizing it all, if you still could manage to make your own software, be it even a tiny, redundant program, like a calculator, then that might be the green light for you to push the boat and go further and further.
The worst thing you could do is telling me you are scared of coding. There is nothing to be scared of. Pick a programming language that interests you, pick a book on it, install an IDE, and just get to work.