"I want to code, but I can't write code". Time and again, this is quoted by the beginners and even the intermediate programmers. This happens when the mind is clouded with a hypothetical "low investment and high output" scheme. Unlike this, programming career is totally different.
To make you more clear, I have come up with an analogy. Consider programming as painting. Getting a blank canvas and all the tools like colors and variety of brushes, doesn't need much time or work. All you require, is the imagination and the ability to fill it to the canvas. So here, imagination is like conceptualising the final product with the customizations you imagine on it.
But to actually show your imagination to others, you must know how to pre-calculate the combinations of the colors, put the right combinations in the right place, choose the right type of brush and make sure that you don't ruin the canvas. This is the most important part which needs sheer understanding of the nature of colors and brushes and control of your hand. This comes only after rigourous practice and dedication. They say "Practice makes a man perfect". Though I personally feel no man is perfect, this phrase actually implies that, practice can atleast bring you one step closer to perfection and better than before. Same applies to coders, too. Getting a computer with necessary tools and programming language is not a big deal. Its free and nowadays,thanks to internet, getting tutorials on programming is even more convenient. In fact, video tutorials are great.
The continuous engagement on learning driven by strong determinaton is a must. The more you code, the lesser is the frequency of getting stuck. In the beginning you find it easy as you follow the tutorial. But as you advance towards more complex problems, then it starts testing your patience. I can totally understand, its really frustrating sometimes when you are lost in your own code and have no clue where the bug is. In these cases, forums like http://stackoverflow.com/ pops out as the Messiah. There is very rare chances that you won't find the solution because whatever problems you are struggling through, there will always be instances where you will definitely find someone with the same/similar problem and the solutions provided by the contributors. In fact, many contributors.
As time passes by, temptations to leave coding come very frequently with thoughts like the one mentioned in the first picture thinking that "Programming is not my cup of tea". This is the time when you are frustratied and think "This language is difficult and boring. Maybe some other language is better than this." But beware! This a trap. Jumping between various languages will get you nowhere and you will be left with a feeling that "I am good at nothing." or "I don't know why I chose programming". That's why if you are not able continue the engagement and enthusiasm with codes as shown in second picture, then you will definitely fail. Happieness in coding is when a bug has been bothering you since days and you are finally able to resolve it. But if you don't put continuous efforts, you only get to see the fruits grown and eaten by others thereby breeding the feeling of inferiority within yourself. So come on, let's not fall on to the same trap. And If you are already trapped and reading this article, then I am sure you will atleast try to snap out of it. ASAP!
- Prateek Agrawal