“Learning to write programs stretches your mind, and helps you think better, creates a way of thinking about things that I think is helpful in all domains.”
— Bill Gates, Co-Chairman, Bill & Melinda Gates Foundation, Co-Founder, Microsoft
“Learning to code is useful no matter what your career ambitions are.”
— Arianna Huffington, Founder, The Huffington Post
The more you think about what future jobs would be like, the more you find the answers pointing towards automation of processes that would conventionally be done by manual labour.
This essentially pushes one to think about learning to code, at least basics, to be relevant in the future which most definitely consists of Artificial Intelligence.
But when you actually start off on the path towards learning your first programming language, you find out there are so many different languages to actually start from. And when you finally figure out where to start from, there is a new problem just waiting for you around the corner — The question as to which resource to learn from, we live in an Information age and the problem is not, not finding Information it is that there is just too much of it to chose from. Just the sheer size of resources available for each topic is overwhelming, to say the least.
So what’s the solution then?
I will tell you how I started my journey but first let me give you a brief about myself.
I am not a Computer Science graduate, I’m actually a Commerce graduate and I wouldn’t have been able to do what I’m doing or learn the things I’ve learnt without the huge amount of Information and resources that are available freely on the internet.
This is what I’ve learnt from my experience and this is what I would suggest to a beginner starting up.
Deciding on the type of language
Although I started learning programming in the beginning from C Language, I would recommend that you start up with a higher level language first, such as Python for example. The thing about starting from a higher level language is that they are more beginner friendly and Python especially is a beginner friendly language as the syntax and code structure in general, is easy to understand.
And Python has a huge community of developers making it easy for beginners to find solutions to problems.
Get the boilerplate stuff first
After you decide on the language you want to learn, get the syntax right. What this means is figure out how to actually code, the format etc. Once this is out of the way you can learn things without thinking about the syntax mistakes.
Practice makes perfect
Once the foundation is clear, practice what you have learnt this can be done by;
Working on your project :
Start working on a project, this helps you learn new things. While creating your project you WILL run into problems — but don’t worry this is actually very important in your coding journey. Each problem you will face will leave you more refined than before. And it will improve your problem solving skills, which according to me, is the most important skill a programmer should have.
“We learn wisdom from failure much more than from success. We often discover what will do, by finding out what will not do; and probably he who never made a mistake never made a discovery”
— Samuel Smiles, The Lives Of George And Robert Stephenson
Participating in Competitions :
Competing on sites like HackerRank and CodeWars, pushes you to face problems and take up challenges, and as it gives out scores and ranks you based on your performance and code accuracy it is a great motivator to keep challenging yourself to get better.
Don’t worry if you find it difficult to solve problems in the beginning, we’ve all been through it and it still keeps happening all the time. The important thing is you should not give up and just keep your head down and CODE!
Trust me you WILL get better.
Finding Solutions to the Problems
So I made a suggestion to you, saying you need to solve problems. But How to do that if you are a beginner ?
The answer to this question is, you can use plenty of forums, communities to ask the questions to — and you know what it might’ve already been asked before you just need to look for it.
Some of the best forums to find an answer for programming problems are StackOverFlow and Reddit. You can also find answers to your problems in the programming communities, one of them which I use is GeeksForGeeks. Medium and Dev are also great sources for the answers you might be looking for.
And the best of all the options just GOOGLE it, type the problem you are facing and search for it you will find all the answers you would possibly need.
The main problem most beginners have is to stay in the game and to keep coding. The main reasons due to which beginners don’t continue learning ;
Getting Distracted :
Most people me included when we get to intermediate level in a programming language we tend to get distracted. These distractions can be like learning another language — that is what happened to me too, we tend to jump ship just when we are picking up speed in that language.
My suggestion to beginners would be to stay committed to one language unless they atleast get above intermediate level, and just focus on developing and working on projects in that language.
Lack of Motivation :
It is tough to keep yourself motivated at all times, especially in the early days. As you are just starting and you realize you don’t know how to solve the problems and see other people on advanced levels solving the problems easily you feel demotivated.
In the early stages when you come across new modules that you don’t know about it makes you feel like you haven’t learned anything. And what is more demotivating is that you tend to forget the code that you learnt after a while. But you shouldn’t let that demotivate you, you need to take this as a driving strength to push harder and keep moving up.
And you don’t need to remember everything from every module — That is what the documentations of the modules are for, just look up the documentation of a module and you will find everything you would need to know about the said module.
Programming is an endless journey and it is also a very dynamic subject to learn as new libraries keep on adding up. This makes it a continuous process of learning you have to get up to speed with the changing environment of programming to be relevant in the field.
But don’t let the thought of this overwhelm you, there are plenty of resources to help you in this journey and No — You’re Not Alone. You are part of this global programming family/community and they are always ready to help you out, you just need to ask for it.
Just Don’t Quit
I know it is difficult, I know you might be thinking programming is just not for you but Hey, if I can do it you can do it as well.
Trust me It is WORTH it and you will be proud of yourself when you look back and see the progress you’ve made.
When you feel like quitting just look back how far you are on the path already all the progress that you have made throughout the way, It’ll definitely give you the motivation you need.