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.
What is the reason you are thinking of this question?
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
- Time
- Job
- 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.
Fear of not being able to do it:
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.
Time:
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.).
Job:
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.
Lack of support:
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.
Not enough resources:
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).
Random misconception:
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
Hire me: https://www.fiverr.com/saifullah02 (For web development Purposes)
My New Blog: saifullahusmani.com
Follow me here: https://dev.to/saifullahusmani
YouTube: http://bit.ly/saifullahusmani (Programming Tutorials Coming Soon).
Discord: https://discord.gg/AKyvy8Y
Facebook: https://www.facebook.com/SaifullahUsmani693
Top comments (17)
It's not only allowed to learn at any age, it's a job requirement. One should be ready to continuously evolve to stay up to date in the tech world. Gladly, you don't need to know everything by heart, there are dev tools and resources at your service.
@valeriavg Yes Valeria you are right. A programmer must evolve continuously to stay up to date in the tech world. Dev tools, resources and open source is the best thing.
I believe being programmer means that you commit to learn everyday.
Thanks for the feedback.
I have never, ever used a paid course since I started at age 10 (or even a free course, if you don't consider random articles on the web courses)
Awesome Siddharth you started at the age of 10 wow. And I have seen your articles They are so informative and great.
Thanks for the feedback. You have added validation to my article by this comment. Thanks
I started at the age of 12 too. It was 36 years ago :) No IT schools at that time here, no internet, no Youtube, no Google, no Udemy. Staryed with Basic and ZX80 assembler on ZX48 Spectrum. Modems and phone BBSes came later, then Windows 3 on 13 diskettes, Altavista and Yahoo before Google. Netscape 1.0 before IE. Then ADSL was considered fast. From 386, 486 to my first Pentium 80 Mhz with staggering 8MB of memory amd 60 GB drive. Nokia was associated with monitors, mobile phones were not a thing yet. Then Slackware 3 Linux, all Windows numbers, Perl, PHP, Classic ASP, websites in MS FrontPage before Dreamweaver. Ill stop there, in 90ies with the story :) But never stopped learning since 12. And never stopped having fun.
@psiho Fantastic Mirko Vukuลกiฤ. 36 years ago a young child of 12 started programming career with no google and stuff, WOW it just blew my mind. You have seen the evolution I really admire you. Since 12 you are learning and enjoying your journey, it is just awesome to hear.
Thanks for reaching out and expressing your thoughts here. it really means a lot to me.
As a sixteen-year-old dev of seven years, I sincerely disagree that YouTube is the best way to learn programming. There are lots of good free courses on Coursera and Codecademy that helped me get to where I am today. A more interactive, step-by-step approach is often much more useful than bringing yourself into tutorial hell that's never finished.
@micahlt Yes I agree with you. YouTube is not the only source. But as long as tutorial hell is considered it is a real thing and watching courses on Coursera or Codecademy or any platform i.e YouTube(There are a lot of good courses on YouTube too) means the same thing Tutorial Hell. The way you get out of it is not by unfollowing YouTube but by building your own projects without the help of tutorials(From anywhere).
Although your point of "tutorial hell" is a valid point. I will surely add that in the blogpost sooner so new beginner don't stuck in tutorial hell rather build their own projects.
Thanks for the feedback Micah Lindley.
We both started programming about the same time I was 12 when I started now I am 14.
@codingwith3dv Great.
I saw you are working on a UI library called nueva. It is really awesome, you are doing great. Actually you are doing much better than me when I was of your age. Keep learning and improving yourself. You are doing awesome.
Really glad to hear that. ๐ค
Commodore 64 started me on my journey. Still coding at 62, never to old to learn.
"I have no special skills, just passionate curiosity", a quote from Albert Einstein one of my favorites.
@cjsmocjsmo WOW Charlie. You are right never too old to learn. I liked that Albert Einstein's quote you shared. I think curiosity is the thing that sometime leads you toward your passoin. But I am trully inspired and amazed by your comment. I mean wow 62. It is also my dream to code whatever I want my whole life because I just love coding, it is my passion. When I started I didn't even knew that I can earn money with it. It was just a child's dream that lead me towards my passion. By the way Thankyou for your feedback on my post, It means a lot.
"Because money attracts but it is not loyal" this hits me.
@thegreytangent I really put a lot of thought into this, thank you for noticing. I really appreciate you taking the time to express that. Thank you, it made my day to hear that.
Start any age you like. Passion is the key. I'm self taught from age 7 - back in 1983
@jonrandy wow Jon Randy. It is awesome that you are self taught from age 7. You are absolutely right. Passion is the key. I believe your comment is the real motivation for so many people who will read it. Thanks for the great advice and motivation.