Dear all the programmers and overflow friend,

First, I want to say thank you to stack overflow users for helping me finish 20% of my PhD project since last year (using python to draw some technical graph). Now i am waiting for the Viva section of my university. I am python user since one and a half years ago. I keep search the coding problem and execute trouble shoot on that coding until its work and give a correct answer. I also copy and paste other people code and learn from them by google it and modify their code. However, few days ago, something annoy me, i go you tube watch people video about sharing knowledge how to solve problem on coding fast. He say this kind of act is bad behavior and you will fall in this trap so call tutorial purgatory forever and ever. It quite worrying me. I want to ask is this fact true and what should i do,should i give up to watch other people coding tutorial by directly start coding my own?I really need all advice from the expert programmer since I still new in this language programming skill. Thank you very much.

1 Answer 1


Been there and done that so I'd like to share how I moved past that stage and hopefully it will be helpful.

0) Learn the basics properly. All languages have the ability to store data, perform fundamental operations (loops, functions...etc) and interface with your operating system's shell. Learn these things first, directed study should make learning the fundamentals quite fast. These things should not be just copy and pasted. This is where things like writing silly little functions like Fibonacci series, Fizzbuzz and the easy-medium leetcode problems come in handy. Practicing every day, I'd guess you can learn this stuff in less than a month, with ease, for just about any language.

1) As soon as you have a grasp of the fundamentals, focus on basic tasks at first. Its one thing to watch a video on say, OOP or how to implement a specific algorithm but this won't really be useful in the long run, until you try to implement these things on your own and within the context of your own programs. Don't worry about being creative or if your copying someone else's idea at this point, just focus on trying to actually write the code yourself and only looking stuff up if your 100% stuck. At this stage just write single programs that have a clear goal. Typing in "simple coding projects in [insert coding language]" into google will return many results in the language of your choice and with sample code solutions if you get stuck.

2) This leads to the next point; after steps 0) and 1), focus on simple projects rather than single programs and move to increasingly complex ones. I've found games to be useful (start with something really easy like tic tac toe and get more complicated from there), but if your looking for more data orientated projects, search programming projects on youtube and you'll find suggestions for everything from webscrapping to neural-network ML projects and links to github repos with sample code to help you get started.

3) Once you've coded a few projects, now is a good time to really make sure that you are doing things properly. You have had experience hacking it, but now is the time to carefully read style guides and create a quality project. This will be useful, not only for skill building, but to make sure that your projects are up to the same standard as everyone else who codes professionally.

As an addendum, you mentioned Python. Python is really useful for scripting and creating time-saving modules which increase productivity and workflow. As a project which can tie into your research, write a module which specifically tackles the problems your are working. As you progress try to focus on following good OOP paradigm.

TL;DR: To escape tutorial purgatory, focus on actually creating programs and writing your own code; only look stuff up when you get stuck

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.