One of the most difficult problems I faced being a self-taught developer was finding the right resources and mediums to learn with. I started off back in senior secondary class and there was almost no internet access. Apart from its high costs, online resources were very few then unlike thousands of educational resources available on the go nowadays. Though it sounds more like an advantage of some kind but sometimes it could be pretty daunting, time consuming and less effective for beginner developers. To celebrate my 10 years’ anniversary in the professional field of programming, I would be sharing special tips that have helped me for over a decade of learning.

Reading Books

My very first years in programming were facilitated through my reading skills. Mind you, I mean physical hard copy textbooks not software. Since my passion was very high, I usually found myself breezing through a programming textbook for about 3 times before heading out to practice. It was quite easy to concentrate as less distractions existed compared to now. Though my preference for this practice gradually vanished off, I still believe it’s great for higher level programming subjects, concepts, soft-skills, business, etc. I learnt my first 5 programming languages through this method and being a hard copy material, I always had something to fall back on for reference. The downside however is that its contents are mostly fundamental and could go out of date quickly. A strong passion and effort is usually required to retain information when it comes to coding books.

Structured E-Courses / Platforms

These are platforms that give you a strict curriculum to follow with lots of examples. This is quite similar to traditional schooling and is ideal for fresh starters in coding. Most of them have interactive educational tools like code editors, quizzes and so on that make learning easier. In case you are interested in programming and you don’t know where to start from, this is your best option. They have arranged courses and learning plans to make your learning journey more interesting and meaningful. Sometimes though, they might seem a little boring and slow paced but it’s worth trying out. I have personally tried out Khan Academy and the likes and I seemed to love it.

Written Tutorials and Blogs

There are great websites that offer great articles about subjects like Tuts+ and Medium. I discovered most of these websites through researches powered by Google. I usually have questions and ideas after learning new things on programming and get redirected to these sites when I try googling. Their advantage is the fact that they are always straight to the point and updated. The problem with this method is that there can’t always be extensive information as with the books and they don’t explain things properly. In some cases, explaining too much would cause it to get lengthier and much more like an e-book. Overall, you can download or bookmark these pages to read and reference later.

Audio Books & Podcasts

These are supplementary learning methods as they are best for learning things about the industry, news, and business. The major advantage of this is the fact that you can listen to them anywhere you want to but it is quite limited to talks and no visuals. I recommend this method only to increase your techiness and awareness of the industry. I recommend listening to podcasts like CNBC Tech Check as I personally have it on my morning routine on Google Assistant (OK GOOGLE).

Other Humans (Developers, Mentors, Educational Guides)

Find friends, colleagues or anybody knowledgeable in the skills you’re interested in and collaborate. Learn from them or build a project together. If you don’t have developer friends or relatives, there are meetups and conferences around in which you can take advantage of. If you’re just starting out and you can find a very good developer as a mentor, its similar to striking gold. Make very good use of that opportunity, ask questions, intern and be inspired. You could pay for someone’s time (that’s if you’re loaded because it gets quite expensive. There are also online communities and forums you can join (eg Slack and Discord) if you value online interactions

YouTube Tutorials

YouTube itself is a content hub with tons of information you can search for and it’s a great free way to learn about things. You’ll learn a lot in a little space of time if you find great content providers and filter off the ones with bad quality. One disadvantage though is consistency as some of these YouTube tutors later get too engaged that they no longer post tutorials and updates anymore. Watching exciting tech content on YouTube is usually fun but you should be very careful about your data. I recommend using YouTube Go to download videos as you’ll be able to select your preferred video size/quality and also watch later.

Standalone Courses

They give you freedom to learn what you want at the pace you want it. Unlike the structured courses, these are best for targeted learning objectives as they don’t force you to learn at their pace. Once you get started, pick your courses and start learning asap. They also have very close to real-life projects which would help you as you advance in the industry.


This is the best place to go when you want to learn something new and it is very crucial. This is usually the first place I look while looking for information or learning a new application. You’ll find more detailed instructions and starter examples over here and its quite easy to grab. Tutorials could get outdated but this method is where you’ll get the most updated, reliable and relevant information directly from the developers. For the most times, their contents are quite detailed and well guided but even if they are not, you can always find alternative tutorial sources.

Code Examples

This is method is great but mainly for experienced developers looking to learn something new. It involves looking through GitHub repositories, cloning them to machine and testing on the machine. The downside is there usually aren’t really any tutorials, guidance or course but you can always contact the developer in case there’s an issue. I’ll recommend adding this as a secondary method to your learning plan as it’ll also help as you go further.

Create Your Own Projects

Except you’re willing to get stuck doing tutorials forever, getting your hands dirty is usually a great idea. This is crucial to learning any technology in addition to any other method as you’ll be required to know a few little things before starting off. It’ll also help you practice what you learnt from online courses whether structured or not. It provides you an unscripted experience as you’ll surely experience issues and be required to run researches or discussions to solve them.

Though there are many things to consider before embarking on a tech journey and its quite challenging, its also very beneficial at the end. Which of the above methods are you using and which ones work best for you? In case I also left something out, please feel free to comment.

Mr Sure

Content managed by NitroCorp

This is a MAD (MadAss Developer) Tech Tuesdays series in celebration of my 10 years in programming practice. You can check out more articles like this:


View all posts

Add comment

Your email address will not be published. Required fields are marked *

Subscribe to

Enter your email address to subscribe to this blog and receive notifications of new posts by email.