Hi, my name is Saifullah Usmani. I am a Passionate Programmer and a Graphic Designer. I have been programming since I was 13. I have learned a lot over the years and I want to provide that experience and knowledge to the world.
NOTE: This article is going to be very close to reality. I am not gonna motivate you like everyone else but I will tell you the truth. And then the choice is yours.
If you are young:
If you are young like 13-26 (or more but you don't have any liabilities yet and you have time) then there is no need to ask this question at all. You can learn programming without any problem because this is the age where you have no liabilities and have time to learn anything. But you need to have passion to learn programming. If you don't have any passion towards programming then I suggest you to discover your passion and work on that. Don't get into programming for the sake of money or bright future. Because a job where you don't have any interest but good money is like a choice you choose with the price of your happiness and freedom which is not worth it.
If you are old:
If you are old like 50+. Then there are probably two reason you want to learn programming and that is more money or passion.
If programming was your passion but you weren't able to get into it for any reason then I recommend you to go for it But be on the safe side if you have a family which is totally dependent on you and you don't have anyone to look after your family for financial needs like your children(or your children are young). If you want to get into programming for more money then you must not go for it. You must not leave your job or any source of income but just learn programming in your free time. Because money attracts but it is not loyal(you will lose interest very soon) so don't switch immediately.
There are very few and similar reasons I found in people that keep them away from learning programming:
- Fear of not being able to do it
- Lack of support
- Not enough resources
- Random misconceptions
These are the common reason that give birth to questions like: am I too old/young to learn programming, is programming for me, can I do programming, should I do programming, will I be a good programmer etc.
This fear is commonly spread by people who are not programmer but they do have misconceptions about programmers and programming.
That is why whenever you discuss your idea of becoming a programmer with them they tell you a misconceptions like old people tell you a unreal horror story.
Fear #1: Mathematics:
This is the most common one. Math is not used in programming so often. It is only used in fields where data is important like Machine Learning(ML), Artificial Intelligence(AI), Data Science or Robotics. So if you are not into any of those fields then knowing Mathematics is not a requirement at all other than just being able to use measurements for creating layouts(like px, mm, cm etc) and you are good to go.
Now if you are interested in those fields of programming where Mathematics is a requirement then first learn a programming language for that specific field(Different Programming Languages are used for different purposes). After you have learned a Programming Language you will be able to narrow down to what you have to learn from a whole sea of the knowledge of Mathematics(You don't have to worry about Mathematics right now).
Fear #2: You Need To Be A Genius:
Well my IQ is average. So that means no one has to be a genius to do coding. The type of coding you see in movies is also fake.
Fear #3: I don't have a degree in Computer Science:
That is actually a valid argument to make. But in today's modern world tech companies are hiring people based on their skills not education. Also there are different options to earn from programming other than just jobs. You can start an online SAAS business or do freelancing or more.
Fear #4: You need a high tech system and resources:
Actually no. For programming you don't need a high tech system. You can even code on windows XP. But it also depends on the type of project you are working on. You have to do some research for that on your own because it cannot be written in a blog post as it is different for everyone.
Fear #5: There are so many languages:
Yes it is true that there are hundreds of programming languages, tools and frameworks. But you don't have to learn all of them. You choose a Tech Stack and use that to build your projects.
I have created a blog post for "Complete Web Development Roadmap." there you can see the collection of popular Tech Stacks for doing web development related work.
There a lot of other fears, I can write thousands of words on them(But I don't want to waste your time, so let's continue) remember fear doesn't exist in reality. You can be a programmer if you want to.
This is the most common issue, how much time it will take, it will take so much time, I don't have enough time, is it worth it etc.
Well this is a valid reason, but a valid reason for people who are doing a job or running a business. If you are a student or have no liability or spent more than 5 hours a day on social media then you are just being lazy and making excuses. If you have any passion or interest in programming then open up YouTube and start learning.
Now the real problem is for people who are doing jobs. You need extra time. One thing you can do is if you are passionate about it then you can spend all of your time after office at home on programming. Learn this skill and start earning money with it via freelancing or by building online SAAS businesses so you can leave your job.
Other thing is that you use your money wisely, build assets, make your passive income more than your expenses so you become financially stable and rich then you will have a lot of time to follow your passion or learn programming(I am being serious, read a book called "Rich Dad Poor Dad" and learn financial literacy.).
You are already doing a job and cannot leave it. But you have passion about programing so I advice you not to leave your job but try to learn programming in your free time and earn money from it via freelancing or building SAAS businesses. And then when you are satisfied with the income you are getting from programming then leave your job.
Well that is actually a real thing, even your family won't support you especially in India, Pakistan earning money from computers is like a foolish concept and considered luck if someone actually earn money from it and considered as a non safe income stream.
So no one will support you(sometime people do support as well), that is true but if you are passionate about it you can prove them that you are right in your decision. I don't mean arguing or misbehaving with your parents or family it is bad. I mean to say that achieve something from it and when your family will realize that this field have some scope and you are going in the right direction then they will support you too. Your parents only wants you to be one the safe side in the long run that is why they stop you from any adventure because they have seen the world. You have to satisfy them with your achievements that you are doing the right thing. It is hard but it is do-able.
You don't need a high tech computer as I mentioned above but you do need to have a computer or laptop to do proper coding. How can a solder fight without a sword. You need the sword otherwise you will fail. So earn money and buy a computer(it is a useless advice but it is the solution).
misconception #1: Free courses are not good, buy paid courses:
People generally don't spend money on the things they are not sure about. And a fear of getting wrong information from free courses make them buy paid courses and they don't have or don't want to spend money on these courses so they never learn.
The truth is YouTube is the only best thing to learn programming. I learned programming totally free on YouTube. And you will get the same content from paid courses but just with a name of a brand. I am not saying paid courses are bad I am just saying that the programming language is same it will not change so it doesn't matter from where you learn it. You don't get paid for syntax(programming language code) you get paid for building logic. So start learning as soon as possible.
misconception #2: Girls Don't/Can't Code:
Short answer, They do code. And they can Code.
misconception #3: Being Nerd:
This is another misconception about programmers that they are the nerds and they are very dull at social interactions and are boring and of dry personality. It is not true.
Although many programmers are of quiet personality.
(I think that is because of the type of work they do. Using your brain constantly makes you intelligent, and when you know more you generally don't speak more. You see why apps and websites are so addictive because programmers know humans very well. They are quiet because they already know what you guys are thinking or talking about.(My personal thought)).
But that doesn't mean they are like that all the time. In order to know or judge someone you must conversate with them.
Think of programmer friends you have*(If none then you are also believing in an information that you can not even prove right or wrong with any reference.)* are they quiet all the time, if yes then how you became friends😁.
misconception #4: Programming is not for kids:
Actually no, there are programming languages especially designed for kids(i.e scratch). Kids are also taught programming in many schools. Kids at the age of 8 can start learning coding and programming basics.
misconception #5: Boring Life:
Life of programmers is boring, dry and dull. They don't meet with people, they don't hangout, they don't have friends, their life only revolve around computers. Well that is actually not true at all. I don't know what to say more other than just NO to every misconception😁, that is why they are called misconceptions. You can google "Misconceptions about programmers" to know more misconceptions you might have about programmers.
Your feedback is welcome!
Follow me here: https://dev.to/saifullahusmani
YouTube: http://bit.ly/saifullahusmani (Programming Tutorials Coming Soon).