When you start learning to code, you’ll probably start with a tutorial. It’s a quick way to get up-to-speed with a new concept. Learn by following ...
For further actions, you may consider blocking this person and/or reporting abuse
So true. Ive even seen tutorials these days that ask you to pause and think about/try the problem first. Another suggestion Ive seen is to not follow the tutorial 1-to-1 and produce a solution with your own spin on it. For example, instead of building just a TODO list app, making it a shopping list app with extra features. Anyway that can get you thinking about the code in a active rather than a passive way will work wonders in the long term!
Totally agree with you on this! I definitely see major value in taking tutorials that cover tech your wholey unfamiliar with as long as you make sure to make it your own along the way.
This one is very true
This is a chicken and egg problem, tutorials vary and as you are learning something, how does the individual know when they have sufficient knowledge to break out?
Or is this a representation of poor tutorials?
Software engineering can be taught, but not all of it can be taught online. As you stated they are known problems. Problems that supply you with the answer are part of the problem.
The challenge is educating the pupil to identify the problem, this is not impossible, but is generally overlooked by many tutorials.
Sometimes this requires a experienced human observation, i.e. did they achieve the set problem without any predefined solution?
Another input which can be done online is providing examples of known issues, but having the pupil identify them.
The final one is getting them to repair or extend something that already exists, this is how education is done in business, build them up slowly inside out. Rather than typical outside in approach usually taken by tutorials.
This allows the pupil to gain the experience and knowledge without having to conceive an entire system. Which is generally beyond their capabilities and their stage of development.
As a tutorial author I must say that "creating" tutorials helps you, the instructor learn. You have to talk through your process and make the end user understand why you chose the path you've led them down.
I consider tutorials supplemental but extremely beneficial. Saying you should never follow a tutorial is a little overkill. I got my start following them to understand core concepts. It absolutely takes practice outside of following someone's lead to really learn. I find this to be the case for education entirely.
I have this nice chrome extension called momentum that I wrote in big'a$$ letters "PYTHON IT" - which reminds me that every-time I want to look something up I also have to think about how I would do this in python. It's a small thing but it forces me to think about it every-time I open browser or new tab.
This was my Achilles heel and something I struggled to break out of for three years. I wasted three years of my life being afraid of getting my hands dirty and as such have failed at an internship and some interviews.
The end of last year and this year has been completely different. Yeah, I have courses but I rarely finish them; I just need to get the gist of a thing then I dig in. I've also started working with basic sandboxes on Codesandbox.io to sharpen my skills. It's helped me level up more in one year than in the previous three. I can't stress building things enough.
Great article! I totally agree with you.
What I've noticed though is that sometimes watching how other people solved a problem can be very beneficial. I'm not exclusively referring to video tutorials, but also to open-source projects.
Whenever I'm seeking for inspiration or for best practices, I like to explore how other people approached the problem. This inherently implies that I already know the basics of the technology I'm working with. It is up to me then to extract the things that I need and to apply them in my projects.
I think doing this could serve as a complement to building things on your own.
I've been doing this for a while and I'm content of what I've achieved.
100% agreed. Coding by doing tutorials leads nowhere. One has to use his own logic and set up his own goals. I understand the fact that tutors could be handy for beginners but the best way is to really think about architecture and logic of your app, read the documentation, have a slow progress, learn stuff the hard way but it's only way that really matters.
But - to be clear - just watch the tutorial. Just to see how it works. But then deploy your own app using your own logic. I didn't want to say that tutorials are useless, but it's only first step. They can show you how things work, but the rest is up to you.
It may depend on what your goal is: to make something or to make something that is of technical superiour quality.
I personally feel that reading the documentation is inefficient and I only do it if I need to do so. Which is usually when something isn't working as expected. In documentation, I usually skip immediatly to the code examples.
I don’t know, I’ve never had any problems with tutorials. Usually I start with the tutorial, then I will apply the knowledge to some real problem that I want to solve, then I’ll look up the tutorial information again to find out why some decisions have been made in that way.
One very important thing is that tutorials can tell you the intentions of those who made the language, library or framework and how it is supposed to be used. This is very helpful if you can see it with real code examples and examples that are tied together to an application that actually works. Because sometimes the documentation only covers some slices of information.
So basically you’re right, after reading a tutorial you won’t know everything about a language and you won’t even know and understand everything that you’ve read with in the tutorial. But to me it’s still worth it...
Having been both on the “learner” and “instructor” camp, I can confirm that building things and solving problems is the best way to grow. Hovever, as an experienced developer I have also found myself jumping to an unfamiliar tech stack. In this context, good articles and courses are valuable, and can offer a more structured learning track.
Absolutely! One huge benefit of judiciously used tutorials is repetition, which is extremely useful with technologies that have a "learning curve", such as D3.js or Redux.
Believe it or Not, this is the harsh Reality of Every Beginner
" If you try to learn all these things without actually using any of them, by the time you get to the end, you’ll have to circle back and re-learn HTML and CSS before you can start a real project. Once that’s done, you’ll have forgotten everything you knew about Javascript. Welcome to the vicious cycle of learning web development. "
So True.
Thank you so much for posting this. You are absolutely correct that it’s so easy to continuously watch tutorials and get addicted and end up not learning a thing at the end. Trying to break this cycle NOW!
I know only because I've done it so many times. 😜
Good luck breaking the cycle, Tanisha. Get out there and build your own project!
What I do I follow a tutorial to grasp a concept and then apply it to the project in the tutorial and a side project of my own. Is it okay? I'd like to hear your thoughts.
Speaking from experience, I just think that if you walk away from a tutorial, book or StackOverflow answer and can actually use the concept to solve problems, you’re fine.
If you are only able to re-use the code from the lesson and not fit it to your problem, you haven’t learned the concept, you’ve just paid attention to the lesson.
This is exactly the right way to use tutorials, in my opinion.
Hello Devon, Thank you for that best article.
this is exactly what going on with me, I don't practice what I learned and after that, I got confused and forgot everything and got myself in the cycle of looping.
Glad the post helped! Happens to the best of us.
Thanks Devon.
So last week a dev made me feel a type of way. He said I was lazy not to be using docs, and rather learning with video tuts and blogposts.
Truth is i also search a lot of things out, and sometimes even spin up somethings on my own.
But yeah maybe I go to heavy on tuts sometimes.
So this is it, I have a full-stack web dev project (a very important one), on right now, and also have a full-stack tut from Traversy. and I wanted to work through how he structured his backend and apply it. I don't know if you get me?
I wanna do it side by side, and search out other things that will fit me.
On the front end, my styling is quite good. But my state logic in react is not 100% yet,
Is it wrong or counterproductive, working through the project this way.
In as much as I want to learn
From my perspective, it's not wrong. The problem is with doing tutorial after tutorial and following the script to the letter.
There's nothing wrong with jumping into a tutorial to get what you need to apply to a project. There's nothing wrong with going through a single tutorial. (I do it all the time.) The problem happens when you get addicted to that feeling of completing tutorials, so you do nothing but that. It's like building a Lego set with the instructions. It's great that you can follow the instructions, but what if you smash the Hogwarts and the Millennium Falcon sets together? Can you build something cool on your own using what you've learned?
Just don't get caught in the tutorial trap, and you'll be fine.
The difference between tutorials and Stack Overflow answers or code walk-throughs of the kind often seen on YouTube is one of intention. I think it's fine to inform, but as you say, education is far more than just copying. Most tutorials are like painting by numbers; you may get the result but did it actually pass between the ears?
This is one of the best things I've ever read. My intern manager, in the past, was a passionate educator and avoided giving me answers whenever I asked how to do something. He encouraged me to find everything out on my own, after failing a thousand times.
This really needs to be highlighted.
I actually don't do tutorials based on "now copy this chunk of code on line whatever, and run, and now copy this chunk of code on line whatever, and run again". I read the code and I like to understand the solution chosen for that problem, but I don't understand following that point by point.
Very good advice...
Tutorials are just a way to open our way of thinking about how the basis of a program can work.
Curiosity and intelligent play logic are very helpful in creating or modifying programs.
Hold the principle of equality with the term If you can do that, I can do the same, even if we do not achieve equality, at least we have tried towards that, on the road to equality we will find new concepts or ways of designing a program .
What I did in this discussion was holding the principle above, even though I was not fluent in English because I was from Indonesia, I tried to achieve equality even with the help of google translate.
Every language / Framework I've learned so far, excepting 6502 Assembly language, I've learnt by getting hold of an existing code base and playing with it.
Pascal, C, C++, C#, Java, Kotlin, COBOL, Z80, 680x0, 6809, 808x6, all learnt by playing around with existing code, making mistakes, and fixing them.
Rust and Python are about to be learned the same way.
Doing real-world projects is always a great way to learn. But as often in technology, some developers like to learn from tutorials and some developers prefer starting a side project to learn. I don't think there is right or wrong way to go about this.
Tutorials are kinda great for that initial intro into a technology.
Personally I prefer videos, because lately the written tutorials seem to be incomplete, as many are written by beginners because someone said they need to write blog posts to get a job. URGH!!!
Just grasp the concept, then go build something.
Whilst building a project is when you'll figure out how to really use something you've learnt.
Not all tutorials are bad and you can learn a lot even if they serve them in a golden platter. Take for example the
Getting Started with iOS tutorial here which is really great link
Everything is step by step and at the end you have a real project. As a starting point is invaluable.
I need to read this article to start off my day, everyday. Hopefully it'll shake me of the tutorial hell I've found myself in these past 2 years! Thanks for sharing!
I agree. Sometimes I try to follow the tutorials but I feel like a my problem solving skill is not used. Very passive.
Completely agree Devon! This is actually the reason why I created Frontend Mentor.
There are so many great tutorials out there, but it's easy to get stuck in the comfort zone of theory and code alongs.
The bulk of the learning really does come from building actual projects and figuring things out as you go!
Nice piece,if you learn without actually doing you tend to forget what you've learnt happened to me when I first picked up HTML CSS and JavaScript, but when I got my Udacity frontend Nanodegree scholarship I got the chance to do as i was learning.
Always do the tutorial, but never copy the code, change everithing and make it work.
I never use the same variable names, folder structure, component structure, markup, class names... damn, I even pull different dependencies if I can.
It will take you 5 times longer to complete, but you will understand what you are doing.
You will often end up deep withing the docs figureing why stuff doesn't work and learning why.
Do the tutorials, but never follow them!
You'll learn a lot.
I talked a lot of shit about sites like hackerrank and leetcode for a while, but when I started actually using them it was a really enlightening experience. Regardless of their validity or proof of competency, it's a lot more eye-opening forcing myself to sit down and work through an exercise instead of reading the description and being like "meh I can do that, why bother?"
I hate how viciously true it is. We must break away from learning and break into learning.
Totally agree with the "you will forget it, if you don't do It, for real".
Doing lots of tutorial will teach you that tutorials are usefull only if you really need that kind of stuff.
No one can understand this, just by reading a (well written) article, because of fears... fear to be a bad developer in a World where everyone is good (apparently).
Interesting observations and got me thinking about what the more impactful tutorials were for me and why.
What I've realized is, given the technologies evolve so quickly, tutorials written as recent as 6 months ago can become outdated and require attention to figure out solutions for deprecated code.
So this enforces how you figure stuff out rather than simply typing stuff by rote.
Okay, I might complain that the author should keep her/his content up to date, but it helps to challenge me to work through "bugs" that can happen in an everyday work scenario.
I do believe that tutorials can be helpful, especially if it's applicable to something you're currently professionally involved with.
Although it's a bit contradictory, this is what I like about CS50 and his other courses like CS50 Web or Mobile. You're taught the technologies (HTML, Javascript, Python, SQL) and then you have to make a project related to what you learnt. The difference is that you have to search and read docs and make choices on your own (e.g. DB schema or tables), without knowing if they're the best solution.
but how can i go from tutorials to build my own project? for example if i were to create a snake game in python what steps should i take to have a working program? can you help me with this?
I'm not sure what you mean. You've created a snake game in Python, but it doesn't work?
no i just don't know where should i start from when taking a project like this.
thank you
Awesome Advice.
I try to learn fast so I could practice more.
Great read! I think building while learning is a great tip. I’m going to implement this into my learning. I’ve been there, where I’m learning something new and had to double back. Thanks for the read!
This this this! Learn by doing, not by watching! Great article, said everything I've been saying for years haha!
Awesome post. That is the real path.
Couldn't agree more. I noticed that I was so overwhelmed with tutorials that I decided stop and dive in directly in a project, I learned far more from that than any tutorial I took.
I’m totally agree with you. Learn code by tutorial is not the right way to do that. The tutorials put a limit to your knowledge. Good article!!
It seems so easy but applying it to yourself...
As a serial tutorial taker who recently starting doing some small projects... +1
Such a great advice! Thanks for sharing.
But doesn't everyone just do TODO lists for their real work anyway?
😆
You just hit the sore spot!
Thank you Devon!
Also, stop writing coding tutorials please.