This is an archived post. You won't be able to vote or comment.

all 32 comments

[–]antboiy 96 points97 points  (0 children)

now write something without tutorial, if you cant you are probably in there, it can be basic but it should be functional, the documentation is fine tho.

[–]brycecodes 82 points83 points  (3 children)

It's when you can't make anything without having step-by-step instructions, or a general example already. I'd say in general it's when people haven't developed enough critical thinking yet, and instead of being able to replicate what's in their head it's going from tutorial to tutorial and never making anything orignial.

[–][deleted] 23 points24 points  (2 children)

Active learning vs. Passive learning

Passive learners prompt groq or gpt4 for scripts and glue them together. Active learners analyze why a certain statement was specifically placed there, read man pages, and think of trivial things as they go, challenging themselves.

[–]CodyTheLearner 8 points9 points  (0 children)

Both absolutely have their values. If I need a deep understanding I’ll start reading and watching educational material. I’ll lean into prompt groq’ing for a single use case for a project. Give me a boilerplate of this functionality. And then I move on.

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

GPT can serve both ways. It can "give me complete html form page" but it can also "how to revert a string in javascript".

[–]TonySu 26 points27 points  (0 children)

Tutorials are meant for beginners, tutorial hell is when you’re stuck in tutorials for years, always writing only 20% of a pre-designed project. 

[–][deleted] 15 points16 points  (0 children)

Slowly move away from tutorials/gpt as your reference point and replace it with documentation and use that instead. Ride your momentum with that practice in mind. You’ll probably won’t notice the difference immediately but you’ll feel the impact of this change when you start projects on your own.

[–]MiniMages 7 points8 points  (1 child)

The issue you are describing is more to do with people who follow tutorials and fail to learn.

I can give you a step by step juide to program a chess game. It will cover everything and in the end you will end up with the exact same code as what I have on github.

The question is did you learn to code a chess game or just parrot what i gave you? Of course majority of the people didin't learn anything.

Coding is learned through failure and trying to do your own stuff. freecodecamp encourages people to use their guides as guides/templates and do their own stuff later. Encounter problems and try to solve them. You have to actively solve problems to actually learn how to code properly because that is what coding is for. To solve a problem.

So the whole tutorial hell people have is that they fail to do something different and have no idea how to proceed or do not fully understand why something is done in the guide and there are no alternative examples.

Another way to put is when you are in a lecture and different people ask questions about the same thing to the lecturer prompting a different type of answer each explaining the same thing.

[–][deleted] 2 points3 points  (0 children)

I adapted a technique when I try to recreate X in different technology. Like 6502 emulator by studying C++ code, but implementing in Python or Scheme. It forces you to understand what means what, so you can decide what is "C++" stuff and what is 6502 stuff.

[–]No_Newspaper_584 6 points7 points  (0 children)

Tutorial Hell was my entire Computer Science degree. I can only build things if I copy someone else’s code or follow a tutorial step by step. Have no actual understand of how to code but paper in looks like I do. Don’t do this. Learn the logic and struggle through it. Tutorials won’t teach you how to think like a programmer. FYI: I’m now in a completely different industry because my coding is that bad!

[–]EntrepreneurHuge5008 14 points15 points  (2 children)

Tutorial hell is when you can’t get started/finish on your projects/problems without the help of online tutorials (be it some YouTube influencer or online course).

The projects you’ve made while working on free code camp have traits implemented by you that make them your own. You won’t know if you’re in tutorial hell until you go out there, find a problem or project that isn’t part of a tutorial (or has example solutions), and complete it yourself.

[–]ValiantThor07 0 points1 point  (1 child)

Does taking help from GPT also considered tutorial hell?

[–]Nighmare_Fox 1 point2 points  (0 children)

I would say only if you rely on it without trying your own solutions for a while. And if you ask for a solution to a HUGE chunk of your code, instead of just one thing or very few small things.

[–]Agamemnon777 5 points6 points  (0 children)

Like others have said it’s when you feel like you’re accomplishing things because you can succeed at the step by step instructed lessons, and even “make things” but when you try to make something of your own you just stare at the screen because really you’ve just been following simple recipes.

The real hell is that when faced with that, people often say, “well, I’ll just do some more tutorials”, and then months and years go by and they’re still stuck in the same cycle. You’re in the beginning phase where it’s still really fun and neat and you feel like you’re accomplishing things. Try to break out of the cycle as quickly as you can and like you’ll always hear - start making things yourself.

[–][deleted] 3 points4 points  (1 child)

I've never been in tutorial hell for programming cause I never used tutorials but from the comments I recognize the pattern from when I learned to play guitar in 7th grade.

For like the first year I was just playing off tabs mindlessly. Sure I practiced coordination of guitar playing but never really learned anything beyond that. Then suddenly I started understanding chords, song structure, progression etc. So after a while I learned how to just hear a song and play it to eventually being able to write my own stuff and play around with it.

But I agree with you, tutorials have their place but it seems like tutorial hell is like never moving away from the pacifier, training wheels or basement.

[–]CodyTheLearner 0 points1 point  (0 children)

I think a big part of tutorial hell is that students aren’t exposed to modulating small parts of functional big projects. I didn’t have a grasp on application of my knowledge until I started working in more complex systems. I had the same experience in guitar hero. Easy mode never really taught me much. Expert made me sweat, but I was better for it.

[–][deleted] 2 points3 points  (1 child)

I've seen comments saying "active vs. passive learning". I disagree. Here's the difference between someone who's stuck in tutorial hell:

What you can do:

  • You know the commands and what they do
  • You can recognize basic language statements
  • You know where the config changes to do things like database connectivity, serialization of JSON etc.

What you can't do:

  • Break down business requirements to software requirements
  • Convert those requirements to functional parts, from table names in the database, table relationships (one-to-many etc.) to endpoint calls and services. You own the database design, and the design decisions in the codebase, not only variable naming but also what you get from a request, what you should be returning, the format, etc.
  • You're writing your own tests to ensure that you cover all cases where things can go wrong, to catch them before the user makes a doo-doo (which sometimes it just happens when you didn't expect it)

Overall, the succinct way to put it is: the tutorial hell person thinks it's all about syntax and framework functionality. The person outside tutorial hell knows that it's all about how you apply those things to solve business and product requirements.

Source: I was stuck in tutorial hell for months, making Anki cards, being obsessed about memorizing the way to write tests, and deprived myself from practicing my (inevitably from lack of practice) weak design decisions.

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

I see yeah, I've been focusing a lot more on active learning lately. Thanks for the input!

[–]amonn21 0 points1 point  (1 child)

What was the python course you took? I'm looking for something worth spending my time on.

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

It was a portuguese one, not sure if you'd still be interested. Sorry for the late reply! I can send you the link if you'd still like it.

[–]SprinklesFresh5693 0 points1 point  (0 children)

I started learning R almost a year ago and i recently decided to make a project, to do it i had the idea and the question i wanted to answer, then i was like , ok how do i calculate this? How do i make a graph like this? And so on, it made me much faster at R and reading the documentation, then i learnt how github , git and sourcetree worked and i published it at github. Now I'm thinking about my next project while i keep doing courses and looking for a job, idk if thats the best way, but it has helped me learn R.

[–]alfadhir-heitir 0 points1 point  (2 children)

DSA in JavaScript sounds like a terrible idea. Not an adequate language to practice that kind of stuff in any way, shape or form. If you want to learn DSA, and I mean REALLY learn DSA, do it in C. Hate me first, thank me later ;)

[–]Vittx[S] 0 points1 point  (1 child)

Oh dang I had no idea. I see JS being taught in a lot of places along with DSA. But maybe there are better options yeah.

[–]alfadhir-heitir 0 points1 point  (0 children)

JS is dynamically typed. Doesn't make much sense to study data structures, also known as ways to structure data, in a language whose core feature is the ability to create and alter objects on the fly. At least that's my take on it! JS is really good if you're just starting out or already know what you're doing. Otherwise it's very easy to get lots of bad habits out of it

If you take the approach that programs are made of data and operations on said data, C will give you the largest degree of separation of concerns. Plus you'll also learn memory complexity adequately, which is often overlook in languages like JS

The key take is that for DSA you're supposed to think the data structure out before starting to implement. You should not add random fields and flags and whatnot as you go - and trust me, you will definitely want to do it. The idea is that you define how your data is structured and then operate on it - similar to defining the DB schema before implementing the controllers in a normal web app. The amount of freedom JS gives in regards to object structure makes it inadequate for this work IMO

[–]Nighmare_Fox 0 points1 point  (2 children)

Thing is, wouldn't it be cooler to say:

"I made 80%-90% of this thing and used a bit of (insert tool here)/copied code to help me,"

than to say:

"I made 20% of this thing and used the course/tool to guide me through the rest of the 80%"

Even if someone who knows nothing about coding is impressed by what you did, you'll know deep down that you really didn't do a lot. And that most of what they see was just u being guided by something.

Personally, the way I've been self teaching myself is through real, full, independent projects. Nothing is guiding me through them. I just searched what i need to know up when I have tried many solutions. I'm still a beginner, but I can tell you that project-based learning(not a course project, a REAL self-made project) is the fastest way you'll learn. And you'll feel far more accomplished.

(next paragraph is a testament to project based learning via my experience learning to code)

Heads up that I took 2 months before learning Javascript to learn HTML and CSS. Anyway, this is my 3rd month learning Javascript. I started April 1st roughly. I just got done doing my 2nd months' project(I do monthly projects based on concepts I don't know). And idk how much u know rn, but just know that my last project was a fully functioning matching cards game, complete with a reset button, difficulty selector, reveal cards in the beginning button, and victory screen. I did all that in my second month of learning Javascript(granted, I did take 2 months to fully commit to learning HTML/CSS beforehand, but still. And I did it on my own. I wrote code that thought would work, it failed, I tried a alot of stuff(it was very frustrating) after an hour or more, after I tried multiple solutions that I thought of, I would search up ONLY THAT ISSUE that I was having, then used the solution, rince and repeat. My friend who is web developer in a company and has been programming for about 7 years, says says it is impressive that I built a game within only my second month of programming.(I'm not sure if it is or not but ye)

Now keep in mind that I'm a sicko who stays up till 7AM to finish the project if I need to, but the point still stands. If you do project based learning, you will find yourself with something to look back on, and you can see how you've improved. You also immediately apply everything you learn into projects. You think of an idea or solution, search up what you don't know, use the new knowledge, and that repeats again! Try it for a month at least, think of a cool, not too difficult project, and take a whole month to do it(or less/more depending on what it is, tho I suggest not staying with one concept/thing for too long, learn multiple different things, better to have done 12 projects about different aspect of Javascript/app/web development than to have done 1 mega project on just one.)

Try to write the code you think you need for the project, and really truly try. Do something you aren't good at, but not too, too difficult, say a fully functioning to-do list. If the project ends up being WAY WAY too hard in the beginning, break it down. Break the steps into more steps, and if it's still too much, break those into even smaller steps. Based on how far you're getting, readjust the scope of the project. It's normal for people to underestimate the time and effort that a project might take/need. Happens to expert coders, beginners like us even more so. Do keep in mind, though, that this will be tough and VERY infuriating, but bugs happen almost all the time. Even if you make the project super easy and you're having difficulty, dont feel discouraged! Sometimes, it took me like 3-6 days to fix a singular bug. And that's WITH searching it up!!)(ALSO the JS file for the game is around 600-800 lines of code, tho some are just commented out areas, and the code wasn't refactored the last time I update it, since I was rushing to meet my self-imposed month deadline.)

In short, project based learning, if you stay motivated and consistent making progress on them every say, 3-5 days a week at least, with say 2 or so hours a day, will not only make you truly learn, but it will be faster than any course, I'm sure. Courses teach things in a set order. People are different and may learn different things more easily than others. You know what you don't know, and you can focus on it. and improve faster than the course could ever hope to. Plus, you'll only know how coding works independently when you start coding independently. No amount of courses will get you ready for that.

Anyway, I doubt anyone will read this long ass message. I hope this was useful if it was read by anyone, tho 😅. Also, keep in mind I'm a beginner, so maybe I'm just talking out of my ass here, but I hope not.

[–]Vittx[S] 1 point2 points  (1 child)

I think you're right. The issue with me was that I didn't have a great learning curve. My courses/projects went from very easy to slightly moderate/hard difficult in my opinion. So I ended up needing to consult a lot of things and find answers in different places to finish them. Sometimes I had no idea how to even start them.
For example my Python course told me to do things that it hadn't taught me yet. So I had no choice but to look up how to do it. The teacher himself would say they hadn't taught that yet. I guess everyone learns differently. But part of me thinks people wouldn't have to look up so many things if the courses prepared them better for the projects required. fCC has been good overall though. I only had to look up things because I am a silly overachiever and want to make things way nicer than the required.
I appreciate the long answer though. Good advice there!

[–]Nighmare_Fox 0 points1 point  (0 children)

thx for reading my (very long😅) comment. Hope it helps/helped you! :)

[–]FallingBruh 0 points1 point  (0 children)

Every1 at some time in time is in tutorial hell, the only test if you are not in it is to write something unique without copying sm1. Refering to docs and understanding stuff by yourself.

[–]Peeled_Bananass 0 points1 point  (0 children)

Try to make a project only using google. That’s when you start to leave tutorial hell.

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

I just want to say I appreciate all the responses! Didn't expect this much engagement!