Ayush Agarwal
Ayush Agarwal Blogs


Ayush Agarwal Blogs

Path To Become A Self Taught Programmer

Path To Become A Self Taught Programmer

Ayush Agarwal's photo
Ayush Agarwal
·Sep 1, 2020·

6 min read

What if you don’t have a good teacher for your University Course? What if you wanted to study Computer Science but ended up in Electrical? What if you want to be a developer in the future?

photo-1542903660-eedba2cda473.jpg Facing the dilemma mentioned above, no need to worry, I got you covered. In this blog, I show you the best and the right path to learn to program even if you have zero background in Computer Science. So, let’s get into the zone.

Firstly, two of the essential traits you need to develop before you get into the programming world are patience and determination—lack of these two qualities can lead to giving up early because of the frustration that sometimes accompanies a programmer. If you successfully develop these two habits, it will help you not only in your career but also in overall living.

Now since you are sure that you have the above two traits, let’s get into how to get things going.

Start with selecting a language of your interest out of the numerous choices available. A few of the most prominent ones you’ll come across are “Python, Java, and C++/CPP.” You can start with any language of your choice. We come across many rumors that ‘A’ company hires only students with knowledge in Python or a company ‘B’ hires the only student who knows Java. Many even say to you that language A has a better future or the language is old. I want to clarify that these are all but myths. Except for C, which is a little old and outdated (though still preferred by many), all other languages are still very relevant and will help you make a future. Coming to college placement and recruitment tests, believe me, you can crack 99 out of 100 placement exams with good knowledge in any one of the languages above.

Assuming that you have decided which language to learn next step is finding the right source. Since you are learning everything yourself, you need an excellent source to learn efficiently. There are several sources to learn from like Udemy, Coursera, and YouTube, which you can get for almost zero investment. Some paid sources include Coding Ninjas, Coding Blocks, Prepbytes, which offer you excellent content but charge a significant amount of money.

From my experience, I would suggest that if you are not from a computer science background or you don’t have any knowledge of a language. Go for the paid courses wherein you get everything at a single place with good mentor support and an excellent well laid out the curriculum. But again you have the choice of learning for free too. The best source for learning any language for free has to be GeeksforGeeks. Every topic is laid out in a cleanly written article with some problems to follow up for practice. GeeksforGeeks is your buddy and mentor, and it continues to be so throughout your entire programming life.

Next, if you have a good experience in programming i.e., you know a little bit of a language with some fundamental problem-solving skills, the best path for you is to practice problems. Numerous websites offer quality challenging problems at zero cost. It would be best if you had good knowledge and a little patience. Some of the best sites I would recommend are -

· Hackerrank- As soon as you know the basics of any language, solve the section of that particular language on Hackerrank. · GeeksforGeeks- The best portal for problem-solving. It has a wide range of problems, well categorized into different sections, which make them super easy to follow. · Codechef, LeetCode, and Codeforces- The problems on these portals require a little more thinking and skill. But if you are confident enough, why not give them a try. There’s no harm in trying after all. These portals also have various coding contests going on with lots to learn and explore.

Also, start using Stack Overflow. More often than not, you’ll end up landing here searching solutions to minor bugs in your program. The truth is, the day stack overflow is dead. Almost 90 percent of developers would slow down. It has everything, from helping you find solutions to your error messages and installing a specific tool in short an excellent community for developers.

What after you are experienced and confident in programming?

Now is the perfect time to start learning all those attractive domains which you hear around every day like Web Development, Machine Learning, Deep Learning, and App Development.

Learning any of these stacks gives you a huge leap towards becoming a developer. If you know any stack, you can participate in various hacks, contests and build some amazing projects there. Not only that, but these stacks also help you land internships off-campus since when you apply, the off-campus majority of the recruiters are startups, and they need developers who can work on the go. Having learned a programming language gives you immense confidence while learning these domains. The key in these domains is to find one which interests you. It can very well happen. You may quit one after a few months or a year also. ‘Happened to me too’. But it would be best if you kept exploring until you find the perfect one for you where you can sit for hours doing your Project.


The final piece in this puzzle is Project. A project is that one piece if you don’t do it, your puzzle remains hollow and incomplete.

Projects are the most crucial part of a programmer. Try to do some real-life projects related to the stack you are learning. E.g., if you are into web development, try to make your website, or if you are into DL(Deep Learning), try making use of Computer Vision. Doing projects helps you boost your confidence in that particular topic. In the meantime, you gradually start becoming industry-ready since being a developer. The tech world requires you to work on several projects.

The next question which arises now is how to make your projects shine and be available to others. Here, GitHub comes into the picture. It is the biggest platform for software development and provides tons of exciting features. You can store your projects contribute to open source projects and also host your websites using GitHub pages for free. And all these costs absolutely nothing. GitHub is vital for a developer. Any recruiter of a top tech company takes a look at your GitHub profile before hiring you. Imagine a scenario in the technical interview round, and the interviewer asks you to show your projects. You cannot tell him I have them on my laptop. Here GitHub comes handy, shows him the repo of your Project, which should have a well-documented Readme, and it serves his purpose.

With this, we come to an end to start on your way to becoming a self-taught programmer. To sum up, everything, continue learning, practicing, doing projects, and sooner or later, you’ll see yourself working in a company or even starting your own company. Till then,

Keep Exploring. Keep Learning. Study-Build-Learn “From a developer to a developer”

Did you find this article valuable?

Support Ayush Agarwal by becoming a sponsor. Any amount is appreciated!

Learn more about Hashnode Sponsors
Share this