DEV Community

Cover image for 3 effective methods of learning new programming technologies (and tips on how to use them)
Dariusz Cichorski for Emphie

Posted on

3 effective methods of learning new programming technologies (and tips on how to use them)

Introduction

Software development is a profession that requires great flexibility in the ever-changing world of technology and programming languages. It doesn't matter if you're just at the beginning of your career or if you're already an experienced dev, you'll have to adapt and learn new things.

Here's a list of 3 effective methods of learning new technologies that you can use.

Image description

Method 1: Learn from video tutorials

Video tutorials are a great way of learning new things. You can easily find free ones on popular video-streaming websites that will be enough for most cases. If you're unsure what exactly you should learn on your path of, let's say, front-end mastery, you can search for Bootcamp-type video tutorials curated by professionals. That will help you develop new skills along some predefined path.

When starting learning from a video tutorial it's good to skim it before spending much time on it. There are many reasons the tutorial might not be suitable for you - it may not teach the things you're interested in or its style might not fit your preferences. If that's the case, don't waste your time on it and search for another one. The internet’s resources are endless, therefore it's worth learning how to pick the good ones.

The important thing to note is that just watching videos is not enough. You can spend hours binge-watching and learn nothing. That's because the human mind always tries to save energy whenever it's possible and loses focus easily. To take the most out of watching video tutorials, don't rush it. Take the time you need to process the knowledge. If the tutorial takes 1 hour, it doesn't mean you have to finish it just as quickly. No time pressure, it's not a race! You'll benefit more from a learning process divided into days than rushing through one take.

Usually, you're asked to code along to the video. That's a good idea in most cases, as it boosts learning straight away, but there are drawbacks to that! You are forced to constantly pause the video and it may lead to losing focus. If that's the case for you, I recommend fully focusing on only the part of the tutorial, as they are usually divided into shorter, 10-30min sections, and then after finishing it, trying to write the same code (or solve the same problem) as the teacher from memory. If you can't remember something, try googling it - this way you'll learn effectively and practice searching (which will quickly become beneficial). If you're unable to find the solution this way, rewind the video and get back to it.

Image description

Method 2: Learn from blog posts and written tutorials

Another effective method of learning is reading blog posts and written tutorials. There are tons of those all over the internet. You can find ones created by respected teachers or code enthusiasts.

Written tutorials are no different from videos when it comes to approaching the problem and building your knowledge, so they can be treated as an alternative. Naturally, everyone is different so it's down to personal preferences which method you will like more.

The good thing about reading tutorials is that you can easily search through them (CTRL + F), which comes in handy in many situations and reduces the time needed to find something. What's more, you don't have to rewrite the code, as you can copy the snippets straight away. It's not always a good thing, as rewriting something may help in understanding and remembering it, so it's up to you to decide and use it as you need.

The nature of online publications keeps them easy to create and maintain. That's great because if you're interested in some novelty technology, there's a big chance someone has already written something about it. This form of learning has an advantage over reading official documentation as it's more human-user-friendly and often written in the non-robotic language. Most of the time it's also covering real-world scenarios and it's easier to use that knowledge in your work.

Method 3: Learn from the official documentation

Image description

Another alternative for learning new technology is going through its official documentation. In contrast to written tutorials, official docs have a particular form, as they are written in the specialized, more robotic language, which often makes them sound uninteresting. This can often be a problem for beginner programmers and can lead to not fully understanding it, but there's another side of the coin - this reference book form makes it great if you're already familiar with the technology and looking for some specific detail.

The great advantage of docs over other types of materials is that it packs the most accurate answers to all potential questions in one place, which saves you time searching them in other places.

Nowadays, good technology docs should contain a "Getting Started" guide, which often gives you a huge boost in getting on board with it and quickly learning the basics. Many other materials (video and written tutorials included) are based on them - or even just paraphrasing them. Despite that, docs may not be the perfect place to start for beginner programmers as they often assume that you already know a lot of programming fundamentals. This makes them great as an additional source of knowledge to tutorials or if you're learning a programming language, textbooks.

The docs are perfect when you want to search for something specific. You often find yourself in a situation where you remember the function name and want to learn the details - that's when you should use the docs search tool and you will be quickly redirected to the right place. It's always easier than trying to find it in a 700-page book or several hours-long video tutorials.

Conclusion

Those are 3 of the methods I've used the most while learning new technologies during my programming journey. It is very important to learn what method fits your preferences and is the most effective for you.

It's worth mentioning that whatever method you use, it's crucial to practice everything on your own. Those methods are just boosters for the learning process, and they should always be considered support for practical training.

Image description

Which methods of learning do you find the most effective and what are your opinions on them? The comment section is yours!

Top comments (8)

Collapse
 
adrianpietka profile image
Adrian Piętka • Edited

Interesting text Dariusz, congratulations 👍💪

Something completely different works for me - it's cooperation (if possible) with another programmer who knows the technology.

Recently I was learning Python and I learned the most experience and the right style of work while programming in tandem with my teammate.

He has known Python for several years. Tricks and solutions would be hard to find by yourself. Usually in articles, films you learn the basics and that's ok, but if you want more - work with someone else :)

Collapse
 
dcichorski profile image
Dariusz Cichorski

Thanks Adrian! 💪

It's always great to cooperate and learn from others. It often quickly boosts your skill in technology as you get the chance of seeing how someone that's familiar with it works using it.

When it comes to my experience, I always prefer to have some time with new technology alone to learn the basics and then start cooperating having already built fundamentals. Skipping the part of learning basics by myself and diving straight into cooperation often makes me feel like I might be missing some crucial things that the other person treats as obvious and not worth mentioning.

TL;DR: learning the basics and then boosting it with cooperation always works! 🙌✌️

Collapse
 
balastrong profile image
Leonardo Montini

Tutorials are useful but it's important at some point to escape the tutorial hell.

For example, this happens a lot in game development. You get to the point where all basic functionalities have ton of tutorials and all you can do is follow them and try to repeat what they did.
Then you realize that you're not able to integrate the functionalities with each other and the final result does not work.

My two cents is that after learning something from a tutorial, you should not stop there but try to play around and expand what you've just built. This way you can consolidate even further the knowledge and more deeply understand what you've you've just written.

Otherwise it's like copying at school, you learn nothing :P

Collapse
 
dcichorski profile image
Dariusz Cichorski

That's one hell of a point! Tutorials are here to give you some knowledge, but you should not stop at copying them. This knowledge should be a booster for your own creations using it - that's when the real learning process happens. 🎓

Building something by yourself and playing with it will expose you to some real life problems and situations that may not take place in a scripted tutorial. 😎

Collapse
 
decker67 profile image
decker • Edited

Add this one: Learn from the tests.
I found that this is one of the best methods to get to know the API, when there are tests. Having tests is also a good criterion, if this project will have a future.

Using videos is the worst method for me. It simply takes to much time and most of the time they show only trivial stuff, I have read myself in minutes.

Collapse
 
dcichorski profile image
Dariusz Cichorski

Tests all the way! It's always great to have them in many forms, not only for specifically testing your APIs. They are a good source of knowledge as they mock examples of real usage.

When it comes to videos taking too much time - I understand you. A lot of the times it's good to increase the video speed if you're catching up. And you can always skip the trivial parts. It's also good to be able to quickly come up with the conclusion if the specific video tutorial is not worth your time. 😎

Collapse
 
brunoleonelolea profile image
Bruno Leonel Olea

For me, it's better to learn from books, I think is the most accurate source of knowledge, from the authors you can learn what to do and what not to do, and more importantly, why you do it in a way and not in the other if I watch a video, always think that I'm missing something important

Collapse
 
dcichorski profile image
Dariusz Cichorski • Edited

Interesting perspective! 🙂

For me it depends on the topic you want to learn - if you're learning some universal topics (e.g. architecture, soft skills, languages) books may great, but when it comes to learning some specific technologies they often are outdated (some say the book is outdated the same day it's printed).

Also I find it hard to find some bug in the code created based on the book that should work but it's not working. It's demotivating (and a waste of time) when you have to go through several pages to search for the issue just to find some small typo. And it even gets worse when the book itself has an error! 🤯