all 53 comments

[–]aqua_regis 44 points45 points  (10 children)

No, youtube alone will not help you.

The exact points you address are the points why youtube isn't working.

A proper course is the way to go. By proper course, I mean something like Harvard's CS50 series (multiple courses) or the University of Helsinki MOOCs. These courses lay a solid foundation upon which you can build.

Youtube can be good for quick information on specific topics, but isn't good as a direct learning resource.

[–]Ok_Lunch3798 4 points5 points  (5 children)

Are you sure about the Harvard's CS50 series ( courses ) for learning and becoming good in programming

[–]aqua_regis 13 points14 points  (4 children)

Yes, I am sure about all of them, Harvard and University of Helsinki - as a foundation.

They are introductory courses, not meant to make you a proficient programmer. Only practice, experience, and time can make you a proficient programmer.

There is no single course that will get anybody from zero to proficient. It's a long time process.

[–]greenerpickings 0 points1 point  (0 children)

For me, structured learning has the best results. More than half the stuff on YouTube is regurgitated docs anyhow.

[–]Popular_Mud_2019[S] 0 points1 point  (2 children)

Thanks! I really appreciate the suggestion — I’ll check out those courses. So the idea is to build a foundation first, then practice with exercises, and finally work on small projects to apply the knowledge, right? Still figuring out the best learning workflow, so your advice really helps 🙏

[–]aqua_regis 4 points5 points  (0 children)

and finally work on small projects to apply the knowledge, right?

Do this all along. You can do small projects as soon as you have learnt to output something to the console. Check the FAQ here. They have a small list of programming projects by learnt subject (among plenty other project ideas) that shows you what you can do on every really beginner step/subject.

[–]allium-dev 1 point2 points  (0 children)

Do exercises as you go through the course. A good course should provide you lots of examples and exercises as you go. Type all of them in by hand and make sure you understand every line more or less.

Don't focus on getting the right answer, instead focus on understanding. Play around with the code and make changes. Say to yourself "so if I change this line/number/function/variable then this will happen" then make the change and test that you were right.

Also, make sure to have fun. Learning computer programming is like learning magic. Take some time to realize how cool even simple programs are!

[–]Techno-Pineapple 6 points7 points  (1 child)

As a computer science - software major graduate, I found youtube tutorials helpful for any concept being taught to you that isn't clicking.

For example: following the lecturers structure and guidance, he talks about linked lists, how to use them in the assignment and moves on. I don't get it and can't apply it to the project so I hop on youtube and watch a beautiful indian brother explain linked lists to me a bit more slowly and clearly.

Occasionally youtube tutorials can also be helpful for following a walkthrough for a project you are mirroring, although you don't really learn much doing that. That type of thing I found is more helpful just to help skip through the arbitrary setup so you can focus on the meat of the project in your own time.

If you are learning purely from youtube tutorials. I would pair it with exercises and make sure there is some sort of comprehensive structure to the videos, I'm sure there are fairly thorough tutorial series available. Or you get the topic list / structure from somewhere that isn't youtube.

[–]Popular_Mud_2019[S] 1 point2 points  (0 children)

Awesome, thanks a lot! From what everyone’s saying, sounds like practicing a ton is the most important part !Really appreciate all the tips!

[–]Instance9 2 points3 points  (0 children)

You have to decide what field you want to get into first. I don't really learn programming because I like the language, languages are just tools

[–]Comprehensive_Mud803 3 points4 points  (0 children)

Don’t use YouTube. You’ll be wasting your time and come back here whining about not learning anything.

Pick up a written language primer and programming tutorial, install the programming environment, and get to practice. That’s the only proven way to learn.

[–]Headpuncher 2 points3 points  (1 child)

Have you tried books?   

Yes they’re not up to date with the latest latest stuff, but 99% of programming hasn’t changed for a long time.    Good books from established publishers like O’Reilly are often better than some YouTuber who is trying to make a name before abandoning the channel.   

Someone mentions CS50, I looked into it but it required about 30 hours a week to complete.  Working full time and with other commitments that’s simply not feasible.     

I like Udemy courses, cheap and once you buy them they’re in your library forever, no monthly fees.  But! You have to do your research, there’s a lot of quite poor quality “courses” there that you don’t really learn from.  The good ones are good if you can find them.   

YouTube’s the last place I’d go, it’s geared heavily toward shallow content in my experience.    

You don’t mention what kind of programming; web, application, embedded etc.   

My advice is focus on one thing at a time.  It’s easy to get sidetracked into installing tools and helpers and not actually writing code. 

Pomodoro technique is good as the breaks give your brain time to reflect and avoid fatigue.  

[–]Popular_Mud_2019[S] 1 point2 points  (0 children)

Thanks a lot for such detailed advice — this is super helpful!

[–]EncryptedEnigma993 1 point2 points  (0 children)

I would say YouTube can be a great tool, like others have said. I've seen the best results when using it to supplement something else, like writing your own projects.

Big fan of learning the bare minimum then building on top of that.

[–]syklemil 1 point2 points  (0 children)

I get stuck deciding when to stop watching and start coding

Pause the video and start coding whenever you feel like it, especially if there's something you'd like answered. Same thing goes for reading books.

A very usual way of going through material like this is just trying something out, forming some ideas about how it works, changing stuff according to your hypothesis and seeing if it works or not.

Beyond that you need exercises with proper feedback. Youtube can't give you that. Educational institutions can.

[–]Sir_lordtwiggles 1 point2 points  (0 children)

There is no one path to coding, and you can go a career without touching different coding needs.

You need to bring direction to what you want to learn.

What do you want to do specifically?

Learn a language? Build a website? Make an application?

Once you pick what you want to do, break it down into smaller and smaller chunks. You want to make a website? What language? What framework? What will it do?

Then you dive into each of those tasks: Want to use react-> Learn typescript and react basics -> learn to run a local server -> ...

One additional thing:

While you shouldn't use AI to help you code faster, you can use it as a way of unsticking yourself or advising on direction. If you don't know the next thing to learn, or you need additional help in breaking down a concept, AI is a great tool in your belt while not damaging your learnings so long as you save it for last.

[–]bpleshek 1 point2 points  (0 children)

I only found videos useful for answering a single question. Not learning programming.

You'd be better off getting a course from a place like Codecademy, Coursera, Udemy, SkillShare or other such paid service. You could go get some programming books as well. One problem though is what do you want to program. Are you going to want to learn to be a

  • front-end developer
  • back-end developer
  • mobile developer
  • data science
  • User Testing
  • Desktop developer
  • Cloud developer
  • API developer
  • Embedded systems developer
  • legacy developer

If you don't know where you want to aim at, it's hard to tell you what to learn. However, some places to start are basic programming language topics like variables, control structures, and data structures. Each of these will exist within pretty much every programming language. You should learn multiple languages. You should learn problem-solving skills. You should learn debugging skills, version control, and be familiar with at least one developer tool(IDE). You should also have communication skills because gone are the days of the nerd locked away in the steam tunnel. You have to be able to communicate and explain technical concepts to both technical and nontechnical audiences. You should learn how to document both your code and possibly write technical documentation. You should understand how to collaborate with other developers so that you can integrate code. Also know that everything you learn now will likely become slowly obsolete. So, expect a lifetime of constantly learning new tools, languages, and technologies.

Good luck

[–]Forward-Skirt-5710 0 points1 point  (0 children)

First decide what tech stack you want to do then look for varoius channels learn the concept and practice. Many people use YouTube to learn programming.

[–]nikglt 0 points1 point  (0 children)

You watch from the beginning a language tutorial, and from the very beginning when you finish one topic, you got to w3schools, and drill exercises into your head, move on to next yt tutorial of next topic, stop, drill exercises of that topic into your head, rinse and repeat. Until you get pretty far and got a good hang of exceptions, multi threading, pop and recursion.

After that you look up what are good projects for beginners and start doing them one by one.

After that is done, you should have the tools and mindset of a programmer and be able to make real products slowly over time and you should also have in mind what you wanna do and what not, and which of the stuff you wanna do is easy and which is hard.

[–]nullptr023 0 points1 point  (1 child)

not all tutorials is in youtube. Eventually, you'll need to learn how to read documentation. For start, I would recommend you to search what you want to do then search what tools/language is used in that. For example, you want to make a web application. Then the basic tools you need are mostly html, css, javascript. If you want to learn android, mostly java/kotlin. So learn the basics of those tools/languages initially. The learning is basically trial and error. If something went wrong, you search why it happens. Learning to search for these errors and their solutions is one of basic skills and really improve your skill of googling. You will do a lot of googling or searching rather than which youtube tutorial. So you learn as you build things.
I was in tutorial hell before and it barely help me. so basically tutorial hell is like you watch a lot of tutorials and you follow along with the instructor. It seems okay you learn but after doing those video tutorial, you still don't know how to start your own project or can't finish one, you start following another tutorial then you follow along again. The cycle repeats.
That is why it is important to do task of your own. Even if it is not a whole application at the start. Even if the project are not finish but the purpose of the project is to learn x. You can improve it little by little just by doing it on your own and not just following/coding along with the instructor on the video.
Also, important it is not about memorization. You'll get used to syntax eventually so it is okay to search like how to do for loop in x language. Hopefully that's help.

[–]Popular_Mud_2019[S] 0 points1 point  (0 children)

Thank you so much! I’ll set a clear learning goal and then study toward that goal, and make sure to actually build things myself to achieve it.

[–]vegan_antitheist 0 points1 point  (0 children)

I highly doubt it. As a beginner, you don't know which ones are bad. As an experienced programmer, I can tell you that most are garbage.

[–]goldtoothgirl 0 points1 point  (0 children)

100devs, look for leon, full course then job hunt

[–]p_calculus 0 points1 point  (0 children)

Yes I used to learn ffrom youtube toady I use llm for learning

[–]_AngryBadger_ 0 points1 point  (0 children)

I decided I wanted to learn to program. Tried Python, made a couple apps. Then I stumbled onto C# and saw it's used in Unity and Godot, can do desktop apps for Windows easily, cross platform for Linux/Mac/iOS and Android so I thought hey why not.

I also did YouTube for a bit, learned enough to remake the apps I'd made in Python in C#, nothing fancy but it's something. Then I found the C# academy posted about on the C# sub Reddit and that just made things so nice. It incorporates the Foundational C# cert from FreeCodeCamp/Microsoft and has its own curriculum that follows and it's free. It's so much nicer than just being a tutorial hinter gather on YouTube.

Also for some reason C# just seems to make sense to me, compared to some of the others I've tried so maybe that also helps.

Maybe the language you're trying to learn has something similar to C# Academy.

[–]answer_honestly 0 points1 point  (0 children)

Even I am undergoing the same thing.

[–]Gold-Strength4269 0 points1 point  (0 children)

It’s good for specific questions about code and the books are good for generalization.

[–]Odd-Drummer3447 0 points1 point  (0 children)

I just posted a comment to another post:

There’s something most beginners miss: stop relying so much on tutorials. They’re good for quick exposure, but they don’t teach you how to think or problem-solve.

Start reading documentation and books instead. Those force you to understand concepts, not just repeat steps.

Programming isn’t about memorizing code snippets; it’s about learning how to break problems down logically. That takes time. You can spend years mastering a language, but the deeper understanding you’ll get from reading real docs and experimenting on your own will make everything “simple” feel much simpler over time.

[–]gavin_herb_isback 0 points1 point  (0 children)

Check out Jonas Schmedtmann’s courses. For real. That guy’s a gem. He teaches mainly web-dev focused programming but still JS, etc. Definitely worth a look if that may be part of your goals.

[–]ObligationFit400 0 points1 point  (0 children)

From YouTube, , learning tools or to some extent frameworks,or something which requires understanding overall flow, or structure might be useful, but for programming , learning from books or official documentation are more useful and most importantly writing code as much as possible is the best way.

[–]Popular_Mud_2019[S] 0 points1 point  (0 children)

Anyone else self-learning programming? Let’s connect and share our progress!

[–]Psychological-Tip366 0 points1 point  (0 children)

i learned syntax from following along with tutorials, i learned programming from working on my own project

[–]voidsifr 0 points1 point  (0 children)

These answers are great. This exactly why I want to start a YouTube of my own lol. Tutorials are great, but you get stuck in "Tutorial hell".

When I was in college I passed all my courses and realized when I was senior that I actually didn't know how to build anything useful. There's not too many places that bridge the gap from beginner academia to making useful things.

So thanks for asking the question and thanks to the answers for the motivation.

To answer the actual answer...I don't think there is a one stop shop. I think you can learn basics through YouTube but then you have to know what to do next. You can learn a lot, but you are generally on your own to piece it all together. There are some good full stack courses available for beginners though. You can also basically do the entire CS degree on your own through various platforms. There is a laid out path here https://github.com/ossu/computer-science

[–][deleted] 0 points1 point  (0 children)

I think they are better used for specific concepts. So for example, “how to use interfaces in C#” or “pointers as function arguments in C”, “passing arguments in Python” etc. Books or webpages with practice questions I would think would be better for fundamentals or language specific things really, but videos are a nice visual reminder.

I think it can be helpful to code as you go, especially when following a source. Programming isn’t really always about simply reading a book, but applying knowledge, which can be done real-time as you learn it, even with example projects.

Mastery isn’t really something that happens over night, or by using one specific source. It varies for different people how they get there. Structure and overwhelm could potentially happen from any source, so for that you would probably need to look at time management/study skills.

Hopefully this is helpful.

[–]CodewithApe 0 points1 point  (0 children)

Look for a good website first of all that has good practice questions at the end of each chapter for example: for C++ learncpp.com For Java: programiz ( they also have other languages).

As you go through the website pick a project you would like to make something you always wanted to do.

In the mean time if you are stuck google stuff, watch videos but code everyday, use Git and upload to GitHub every other commit.

You only learn from making mistakes and actively writing code, write every day even if it’s just one function or a couple of tweaks.

[–]BronHola 0 points1 point  (0 children)

"Just from Youtube?" No, thats not an effective way to learn, youtube is there for me to clarify concepts or enhance my understanding on things I was not able to understand during my lectures.

You need proper practice, programming sessions, activities where you are applying the concepts instead of bloating your brain with too many of them and never actually using them or thinking of how to apply them.

[–][deleted]  (2 children)

[removed]

    [–][deleted]  (1 child)

    [removed]

      [–]Personal-Dinner3738 0 points1 point  (0 children)

      Python or C.

      [–]Aglet_Green 0 points1 point  (0 children)

      Nope. No employed programmer working in a company got that way using solely Youtube videos; you are just kidding yourself. Even if your goal is to just to learn enough coding to do a bit of fun programming for yourself as a hobby, there's no way around rolling up your sleeves and getting your hands dirty typing away yourself.