What can I do to leave the “tutorial hell”?

Hello everyone!
I usually dedicate 100% of my spare time to learn to code. In an average, I watch almost 4 hours of tutorials videos on YouTube and I read many articles about some advanced topics which I have some difficulty. But I think that I have to review what I have already learned. I guess I’m making slow progress in my learning despite studying hard. What should I do to improve it? I’m a kind of person who likes to do my own research and writing down on piece of paper important info.

Pick a project to make and do it. Do you have any ideas of what you would like to create? Maybe don’t get too ambitious if this is your first one. You can always add more complexity later on down the road. But ya, stop watching YouTube videos about programming and start doing some programming on your own :slightly_smiling_face:

So what do you think you want to build?

4 Likes

Hi @Mikael3211 !

A lot of beginners will find themselves in tutorial hell and I went through it when I was first learning how to code.

Bruce is right and that you have to build projects in order to break out of tutorial hell.

Start with something small.
Here are a list of project ideas to get you started:

  • create a countdown clock
  • create a rock paper scissors game
  • create a shopping cart page
  • create a tic tac toe game

There are hundreds of things that you can build. Don’t worry about creating some original idea just yet. Right now, you want to focus on building something on your own without a walkthrough video. Then you can build more complex projects later on.

Think about the project and think about the type of functionality you want to add.
Then slowly start to build out that functionality one step at a time.

Even though you are not watching a walkthrough video, you can still google and read documentation and ask questions on how to do certain parts of the application. That is what all developers do.

The muscle you want to practice is learning how to break down a problem into smaller ones and persevere through failing code.

When you are on the job as a developer, you will be running up against problems you have never seen before and learning how to break through those barriers and come to a solution. Failure is not a bad thing because each failed attempt will lead you one step closer to the correct answer.

I can’t tell you how many times I have tried something at work and after the nth attempt I finally got it working and was able to build out that feature. And I ended up learning so much in the process.

Building projects on your own is tough at first because you will run up against a lot of problems and it can be discouraging. But if you stick with it, research what you don’t know, and ask questions in the forum, you will come out on the other side a much stronger programmer :slight_smile:

6 Likes

@bbsmooth thank you my friend. I will follow your advice. I’m thinking about creat a health care webpage or something related about health issues. Yes, I guess I’m absorbing a lot of info by watching a lot of video tutorials on YouTube. You’re completely right, I really have to creat my projects and consequently improving my weak points. Thanks a lot for your answer.

1 Like

@jwilkins.oboe thank you very much for your wise advice my friend. I will start small and then in the future create some a little bit complex. I think when started to get involved in programming is like an airplane pilot, firstly I have to study hard and then practice in small aircraft simulators and get hours of experience piloting small planes until getting into a huge Boeing. I think programming is like this. Start slowly and small until get into something more complex. Right? I hope I hope I’m right. Thank your advice :pray:t4: :pray:t4:

1 Like

It may seem counter-intuitive, and perhaps it won’t work for everyone, but I suggest that you think about starting with a BIG project, not a small one.

And do something that is interesting to you personally, and is NOT a ‘standard’ off-the-shelf beginner project.

btw, I consider myself a beginner, because I don’t have a good command of any programming language. I have never created a project that would make it in the ‘real’ world - and, since I’m in my mid-70s, I probably never will. I’ve learned a bit of python, and am currently learning the elements of javascript.

I’m working on a python project right now that I don’t know how to do - there’s lots of parts that will need to be integrated in the end, and I’m not sure how I’ll do that, but every couple of days I have accomplished something - a baby step - that shows progress towards my goal. Usually it’s a little bit of the puzzle that works as a standalone program, and perhaps not too interesting on its own.

My outline:

I have a TON of photographs, including scans, from Europe, Britain, Canada, US, Mexico; dated 1890s to this year; animals, birds, insects, plants, people, places; poor, OK, good, and excellent (!) quality.

None of the information is reliably captured in the image metadata. Well, apart from scans, date is.

I want to pass my pictures on to my children and grandchildren, with information that will allow them to sort and select.

So the program I’m writing will take information from a spreadsheet I’m creating, and do two things:

  1. write the information to EXIF and IPTC (metadata) fields in the image file
  2. create a caption band below the image, and write the data there, so that it is visible when you look at or print the picture.

Here are some of the baby steps I’ve accomplished:
a. read data from a text file exported from the spreadsheet (csv - playing also with JSON)
b. read and write data from/to EXIF and IPTC fields
c. calculate the size of the caption band, and the font size, to accommodate the data to be written
d. at the front end, create a simply menu to allow the user to select which pieces of information will appear in the caption band
e. add a caption band with data - and store the size of the band in an IPTC field
f. remove/overwrite the caption band
g. give the program an ‘audit’ mode that writes the information to a text file so I can check if I mistyped something in the spreadsheet.

The first iteration of any baby step may have hard-coded data, and no user functions. But before it’s considered ‘complete’, it uses only external or passed data, and has as much functionality as possible written in functions, so that it can be integrated with its parents & siblings.

I liberally incorporate code snippets from people who know what they are doing :slight_smile: - for example, all of ‘my’ image-related code has been copied and customized from various websites where real developers have posted tutorials.

It’s harder work than a ‘standard’ project: I needed to write an end-user spec first, rather than using one written by someone else; and in spite of borrowing code from other people, there’s nowhere I can go to find the overall ‘logic’ of the program - I need to figure out all of the high-level implementation stuff myself.

I hope that some of the experts may jump in here and critique this idea. I’m always willing to learn, and have no illusions that I’m doing things the best way.

3 Likes

Start coding in real life. Now that you learned perfectly the basics it’s the moment to enter the real world and face real problems during the software development process.Do you know what you would like to create yet?

1 Like

No, I don’t. My learning is limited because I’m using a mobile device to code. I’m learning a lot concepts but I’m stuck at the tutorial hell, because I’m not able to create my projects because I don’t have a computer, but I’m going to buy one in the close future .

I have never tried it but you can connect your phone to a TV and use a USB keyboard. There might be some latency but it is still better than coding directly on your phone and cheaper than buying a PC.

1 Like

@lasjorg appreciate it!

It’s not good to learn coding on mobile device, buy a 2nd hand computer for coding if you can’t afford new one.

checkout Frontend Mentor, building projects ( HTML and CSS only ) and later ( JS only ) is the best way to get out of tutorial hell.

1 Like

Hey @Mikael3211. To get out of the “Tutorial Hell” I recommend creating projects on what you learned. If you completed Html and CSS create some websites. Websites in the sense means designing them. Like you can create a Youtube Home Page Clone or a 404 Not found page and others. If you completed JavaScript too, create a Color picker website.


And ya as you said you don’t have a computer, you can connect you phone to your TV as @lasjorg mentoined. You can use codepen.io. It works on mobile.


And don’t watch the same kind of tutorials from different Youtube Channels. Stick to 2 or 3 channels not more than 3. Because it can cause confusion as different people teach in a different style. It is kinda hard to focus on that. And don’t spend too much time on watching tutorials

And this is really bad :point_up_2: It is pointless to do this. All you have to do is get the concept in to your mind. It doesn’t matter how much time you watch tutorials. I observed some people think watching more tutorials and watching lengthy courses helps us to master the programming language. It is a misconception. So, just watch 1 hour of tutorial per day and focus on practicing. Practicing Matters.

Happy Coding!

1 Like

@vikramvi Thank you so much my friend! I appreciate your suggestion, I will definitely do that!

@NikhilReddyManda I loved your suggestion. I will definitely follow your tips my friend. Thank you!

1 Like

Glad it helped @Mikael3211.

1 Like

Hello everyone!
I have finished my JavaScript certification. Now, I am reviewing all the last two certifications that I have completed (JavaScript and data structure certification and Front end development libraries), and I am feeling kind of lost. I really don’t know what to do. I don’t understand the logic of building something. I’m feeling really bad and frustrated.

Tutorials are fine to give yourself an idea of how certain things are done, and it’s not necessarily a case of “I want to build X therefore I read tutorial to build Y” but it should be more of a “I want to build X which requires A, B and C technologies and knowledge of D, E and F concepts, therefore I read tutorials that have all of those, and use them towards completing X”.

You can start identifying patterns and obviously you also need to take notes (I recommend Obsidian or Notion) so you can build your own knowledge base.

The best way for me was to set myself an goal that wasn’t so out of my reach, like for example for a beginner a good example would be:

  • I need a web app to track my medication and alert me whenever I need to take my next dose.

As a beginner (not complete beginner though) you would not know where to start if you just look for tutorials that build exactly that. But you can identify the components and requirements and research them one by one. In this particular case I know I need the following:

  • A database to store my medication chart; for example each name (Paracetamol, Ambroxol, etc), how many I have in stock, start date, interval in hours, dose in grams or ml.
  • A way to fetch, store, delete, and update this information and send it to a client (mobile, web or desktop app) using an API. So you kinda need to choose a backend framework or a serverless function environment that you like; some options are: Netlify Edge Functions with NodeJs, Django, Flask, Spring Boot, DotNet Core MVC, Phoenix, ExpressJS, Ruby on Rails, or any other. Where to deploy it? Well, there used to be a great site called Heroku but there is no free tier anymore so I am currently using Netlify Edge Functions or Railway, but sometimes Firebase comes in handy.
  • A client that will consume the data sent by the API, and upon research you’ll determine which one suits you better or you could also pick the one you’re more comfortable with already, for me it’d be React with Redux Toolkit for state management. Also, a place to deploy it, Netlify and Vercel are good choices.

In terms of concepts I know I need to learn about restful apis with json, displaying arrays of data with react, connecting to an API from react using Axios and redux toolkit’s createAsyncThunk utility, I also know I need to maybe show a form to the user to send new medicine and all the data I mentioned above in order to send it to the API and save in the database. The database schema for the SQL tables or Documents (in case of Mongodb) is something to research, practise, and ponder for hours because making changes to it will require some breaking changes later.

Any minor task you can ask ChatGPT how to do tasks like fixing minor bugs, install packages or frameworks, display data a certain way or make calls or perform crud operations in the backend. It’s what I’ve been doing lately and it prevents me from asking on stack overflow or even googling stuff 90% of the time.

TLDR

Just think of something you want to build, divide it into small tasks, and use chatgpt to ask for info if you don’t know how to do certain things. Doesn’t hurt to get familiar with certain backend and frontend frameworks before attempting to code a project from 0.

Learning the basics of JS by doing algorithm-based challenges is a far cry from learning how to write practical applications using JS.

Yes, you can use all you have learned and it will be used as part of an application. But it doesn’t teach you how to build apps at all. Learning about ingredients and cooking a full meal are two different things. I would suggest you do some practical JS projects.

JavaScript30


Edit: As unproductive as it might sound, I would suggest you stop watching tutorials until you have a proper set up that lets you code. I get the feeling you are watching tutorials as a way to compensate for your lack of a PC and proper coding tools. It won’t work, you have to code.

As I already suggested there are other options until you get a PC. Watching tutorials are not one of them.

1 Like

Set clear goals: Define specific learning goals and create a plan to achieve them. This will give you a sense of direction and help you focus on what you want to achieve in your coding journey.

Practice actively: Learning to code is not just about watching tutorials and reading articles. Make sure to actively engage with the material by practicing what you’ve learned. Code along with tutorials, work on coding exercises and challenges, and build small projects to reinforce your knowledge.

Review regularly: Set aside dedicated time to review previously learned concepts. This can involve going through your notes, revisiting tutorials or articles, and working on exercises related to those topics. Regular review helps reinforce your understanding and improves retention.

Teach others: One of the best ways to solidify your knowledge is by teaching others. Share what you’ve learned with fellow learners or even write tutorials or blog posts explaining concepts. Teaching forces you to have a deeper understanding of the subject matter and helps you identify any gaps in your knowledge.

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.