DEV Community

Cover image for How do you prefer to learn? Videos, Books, both?
l222p
l222p

Posted on

How do you prefer to learn? Videos, Books, both?

Imagine there is a framework/language you want to learn and you have heard about a good book that explains very well the concepts/details. Also, there is a good YouTube/Udemy course that your colleges have recommended and you can take it in a couple of hours. Which is your first choice?

I believe everyone learns in different ways. I consider myself as a hands-on leaner, I prefer watching videos than reading a book because quite often go straight to the point and you can follow easily.

However, through the years, I have found out that (in my opinion) YouTube videos is a good start, because nowadays everybody can upload a video about programming concepts or frameworks. Also, I have noticed bad coding practices or design patterns on videos that I wouldn't definitely do in my projects, maybe it's because they want to teach an specific concept and forget about best practices or write clean code. I think this is harmful for new programmers.

On the other hand, books are to formal; Preface, Introduction, concept definitions and so on. However books explain with details about concepts and techniques, you can have a big picture about what you are learning and frequently they follow good programming practices, because they are written by professionals (PhDs, professors, researchers, experienced programmers).

So, my opinion is that YouTube videos is a good start, you can learn while doing and even ask if you got questions, but you shouldn't consider this as a I'm done, you know only the basics about something. If you really want to learn in depth about something I'd recommend reading a book, there are a lot great books about everything.

What do you think about this? What about Hackathons? College? In person courses? Let's talk about in the comments.

Top comments (34)

Collapse
 
saisandeepvaddi profile image
Sai Sandeep Vaddi

For learning frameworks, new tools, I prefer official docs first. Videos come next. This was reverse in the beginning. I used to watch too many Udemy courses. It turned out continuing to finish Udemy courses did not make me create and finish actual projects.

Now if I have to take a video course, I prefer the ones with short times. Just introduce me to the concepts and then I will go and check the docs when I use that in actual project.

Books are ok. But I never get to finish reading them. But generally if the the book is good, the authors know what they are talking about.

Collapse
 
merri profile image
Vesa Piittinen • Edited

I started before the Internet had evolved to what it is today. Information wasn't easily available so books were the only source, but I didn't read almost any. I was also a lone guy with no contacts to other programmers.

This resulted into a different kind of learning style. One way to call it is "stealing", but adapting is probably a nicer definition. You take code somebody has written that does something that you might like to do and then you modify it to fit whatever needs you have. Find the things that work and what are the limitations. Maybe attempt to combine with some other code. One example: one code does what you want but is slow, other one does similar stuff in a fast way but doesn't do what you want. It is all about getting this kind of ideas. You make the code your own.

The good thing in this approach is the creativity, as well as the aspect of getting your hands dirty with a variety of different coding styles and thoughts over time. It also improves code reading ability a great deal and opens eyes for being critical.

What this lacks is the view on greater picture, but I don't think it is really necessary for a junior level or a hobbyist developer, unless they are really interested into getting to understand how larger software systems work. However reading later on and then connecting things you already know to concepts and words is a powerful way to learn deeply. Why? Because you don't get explanations first and you find the way on your own.

A challenge in this learning method is that it does require self-driven attention to detail and everybody doesn't have that.

Collapse
 
l222p profile image
l222p

Wow that's interesting.

I just have a comment/concern, don't you this approach can lead you in the wrong direction? I mean, I love to learn from others who have worked deeply in a
language/framework/technology. Maybe I'm don't trust myself 🀣

Thanks for your comment, it's a good one.

Collapse
 
merri profile image
Vesa Piittinen

Thanks!

I wouldn't call any experience a wrong direction. We are humans and we need our mistakes. In the end a lot of learning is the willingness to spend the time on a topic and staying humble. The more you are ready to do things and admit mistakes later on the better.

Collapse
 
scroung720 profile image
scroung720

Very interesting topic. We have multiple variables to consider. I would say that the most important is the reason why you want to learn this new technology. Sometimes we as developers need to help temporarily in other projects with a framework that we don't know. In those cases I think anything is valid as long as you get the job done soon.

In the other hand if you want to have deep knowledge on something, I believe video courses and books are valid but they failed very often. I have found that a lot of the resources out there were make by people that is not really prepare to teach and worst they don't have the knowledge require to do so.

I have caught people teaching on the internet things that are complete lies like saying that 'JavaScript has variable hoisting' and worst they hurt the industry I have seen recruiters asking question of 'hoisting on JavaScript' on interviews and I have told them that it is a lie there is no such a topic in the ECMAScript specification. Obviously they don't like me after that, but this an example of how misconceptions can damage our industry. There are a lot of people doing whatever it takes to be a youtuber or get money from creating low quality courses on platforms like Udemy.

My suggestion about this is that: if you really want to learn something deeply, you need to go to the main source of truth. It could be official documentation or the specification. We are lying ourselves pretending to be experts on something and not willing to do what experts do. Which is to study enough to be able to understand and modify the given technology. It is difficult to start in those cases I would say that you should look for resources created by true masters of the technology. I have done something around 50 courses related to javascript in my life, until I found the courses of Kyle Simpson in FrontEndMasters I realized that I wasted most of my time. Always try to get information from well known experts maybe the creators of the technology. Sometimes they create courses, books, podcasts, follow them trust in them more than trusting a random guy on youtube.

Collapse
 
jcsh profile image
Justin Ho

Hi scruong,

Thanks for your tip about variable hoisting in Javascript!

I also assumed that to be true and finally looked into how that is processed under the hood in the MDN Web Docs and this more concise medium article and finally understand that it's not true 'hoisting'.

That being said, unless I was working in academia or with the V8 engine directly, I probably wouldn't call it a 'lie' since the end result seems to be the same and many Javascript developers already came to a conclusion that it is what they mean when they call it 'hoisting'.

Collapse
 
l222p profile image
l222p • Edited

True! You're right.
I have seen videos teaching a lot of lies about frameworks/language/technology. This is complicated specially on new developers, they believe everything they read or watch. I am example about that. I didn't learn to code until 3 years after graduating! I mean, I thought I knew, but didn't. I wrote bad code following bad practices until I really investigate how to code.

Even today, I need to learn a lot about new concepts.

Have you seen examples about this in books? That's interesting, because I haven't

Very appreciated for your comment!

Collapse
 
scroung720 profile image
scroung720

Sorry I didn't understand your question. Examples of what kind or about what?

Thread Thread
 
l222p profile image
l222p • Edited

Ok, I'll change my question. You mentioned: " I believe video courses and books are valid but they failed very often".

I believe in books, everything they say hehe. Because is written by professional. Why do you say they failed? Any example?

Thread Thread
 
scroung720 profile image
scroung720

I was thinking in how books get outdated easily. I believe books related to fundamental concepts are useful longer than let's say almost any book on any new technology. For example, pick any book for learning Ionic. Each major release of Ionic was a complete change all the old books are worthless, unless you are maintaining a legacy project which is highly improbable because some modules have become unsupported.

My recommendation is that you should not read books just because. Our time is limited, it is better to read books of theory or books that are widely recommended by the developer community.

I also like reading books about principles or engineering but I would never pick a book for learning a new technology.

Thread Thread
 
l222p profile image
l222p

That's a great point of view. Thank you for sharing

Collapse
 
shadowphoenix profile image
Rose

For me, it doesn't matter a whole lot whether the source is textual or visual. If it's textual, I'm making it visual and vice versa. ^^

However, I do believe that the source of the information should be trusted. So, I often find myself taking a long time to find a trustworthy source to learn from, which sometimes takes longer than learning the actual concept. ^,^"

Collapse
 
l222p profile image
l222p

Correct! the source of the information should be trusted, sometimes is hard to find. I think errors/issues are your best teachers

Thanks for sharing!

Collapse
 
andrewbaisden profile image
Andrew Baisden

Video is my preference because the teacher can show and tell as they code which is better for learning concepts. Books go out of date and can’t be updated unless they release a new book. The better alternative would be the official documentation on a website.

Collapse
 
l222p profile image
l222p

You have to choose your teacher carefully, often they are junior coders who follow bad practices. But, I'm sure there are excellent youtubers out there.

Books, official articles are a good example of trusted info.

Thanks for sharing!

Collapse
 
andrewbaisden profile image
Andrew Baisden

Brad Traversy, Maximilian SchwarzmΓΌller and Andrei Neagoie are all good they even have Udemy courses. Those are the type of teachers I can respect. Brad Traversy for example has over 1 million YouTube subscribers that speaks for itself.

Collapse
 
fennecdjay profile image
JΓ©rΓ©mie Astor

I honestly prefer textual input, be it a book, a blog post or source code, because

  • time is not linear, it easy to go back and forth, jump or stay some time on the same concept.
  • I feel it is easier to get a grasp at the ensemble ( sorry, in french we have vue d'ensemble).
Collapse
 
l222p profile image
l222p

Thanks for sharing.
I agree, sometimes books describe better new concepts.

Collapse
 
phantas0s profile image
Matthieu Cneude

I learn with book. Many are formals, that's true, but some aren't. I'm thinking about Learning the Hard Way kind of book: something which pushes you to practice.

I like book because, contrary to a video:

  • I can go to my own pace.
  • I can jump easily from one chapter / page / idea to the other.
  • It's way more detailed than most videos.
  • You can take the book the most considered by the community.

I wrote about that here if somebody is interested. I learned C, PHP, Golang and Clojure with books, plus many, many other stuff.

Collapse
 
l222p profile image
l222p

Thanks for sharing!

Collapse
 
chidioguejiofor profile image
Chidiebere Ogujeiofor

I started with books (Excel VBA for Dummies, Java How to Program and _Javascript.info online book) but I currently I prefer online courses(eg mastered SQL from Datacamp, learnt Python from Pluralsight etc).

I think that YouTube videos are not a good place to newbies to start as most courses there are not well structured. A Udemy course is what I would recommend for folks like this as they are mostly structured and contain more info.

One thing I wish I had while learning was a mentor that I could reach out to easily to sort of guide me and help me know what next I should be learning. That's something I try to do for folks at the moment and I have saved them a lot of time.

Collapse
 
myline1991 profile image
Myline1991

Really interesting topic.
I am a newbie in web development, most of the time I am learning by following Youtube videos and reading books for basics knowledge. I try to follow people who have good reviews, and most of the times they always advise to have a look by ourselves in the documentation given by the new technology we want to learn, but sometimes simple things are really difficult to understand because they are explained with complexity - which make videos convenient for beginners I will say.
Once we are used to search through the documentation and understand it, it becomes easy and then we can find more valuable resources for learning.
So I will say, start with good videos and then go to the documentation.

Collapse
 
l222p profile image
l222p

I agree, I think videos is a good start. However, is not enough.

Chose your sources carefully!
Thanks for sharing

Collapse
 
karamfd profile image
Karam

The official documentation of a particular project and forums, if available. It's what I'm currently using to learn how to create a personal website with the Hugo static site generator.

Videos and blog posts are often helpful, but they only cover the basics.

Collapse
 
luscala profile image
Luca Scala

You forgot to mention other sources, like dev.to! I use videos only for the first steps, then books seem to be better: they give you a better understanding.

Collapse
 
srezas profile image
SeyedReza SeyedMohseni

videos always recommended as a starter pack in order to save your time; but for deep learning, books are the best option πŸ‘

Collapse
 
mahmoudessam profile image
Mahmoud EL-kariouny

It's a good discussion for because, I'm new web developer and I did learn about how choose my source's very carefully. Thanks guys :)

Collapse
 
l222p profile image
l222p

I'm glad it helped!

Collapse
 
ender_minyard profile image
ender minyard

I actually learn through quizzes. Courses and videos feel too sluggish for me. Books are nice if I want to dive deep into a subject, so that's a second option.

Collapse
 
l222p profile image
l222p

Interesting. Didn't think about quizzes.

Thanks!

Collapse
 
thefern profile image
Fernando B πŸš€

A bit of everything. Books, documentation and videos when I'm focusing on one topic in particular.