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.
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
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,
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 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.
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.
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.
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:
- Learning Programming by yourself – The best methods
- Major Programming Career Choices (Choose your MADness)