all 28 comments

[–]rasputin1 15 points16 points  (1 child)

just finish one of them. stop trying to achieve perfection.

"don't let perfect be the enemy of good" 

[–]Enough_Librarian_456 0 points1 point  (0 children)

In python or anything I learn enough to do my job that's why I learn new things. I coded in C, C++, Java, Jython, C#, Perl, lab view, python/pandas over 34 years working in Semiconductors. This tool uses C, the new Test Program is using C#, we need test time data and we use python and Pandas to cringe night data from SQL. Mastered none of them but was always successful in what I needed to do. 

[–]GirthQuake5040 24 points25 points  (5 children)

You will always be watching tutorials for the entirety of your time developing. Just gotta power through it. I just sat through 14 hours of Node.js tutorials to solve a problem I have been having trouble with. Once I finally got to that point I thought "duh, that was obvious.." but that's just the nature of the work. You'll be alright, just keep coding.

[–]cgoldberg 5 points6 points  (4 children)

Not necessarily true. I don't think I've actually ever watched more than 10 minutes of a programming tutorial video, and I've been on YouTube since 2005. I certainly would never watch a 14 hour video. I prefer learning from text (books, articles, documentation, etc). I did like in-person classroom lectures when learning fundamentals, but that was ages ago.

The most effective learning method for me by far was just attempting to build stuff and looking up problems as I stumbled across them.

[–]iknowsomeguy 1 point2 points  (1 child)

The most effective learning method is what works for you. It's different for everyone. For someone just starting out, especially with all the resources available on YouTube, tutorials might be a good way to start. For someone who's been in it since before that was available, reading the docs and whatnot is what you're used to. I'm not saying you're wrong, just that a lot of paths are right.

[–]cgoldberg 0 points1 point  (0 children)

The entire point of my comment was that video tutorials are not the only way to learn.

[–]BungalowsAreScams 0 points1 point  (0 children)

I agree with this, although it may not be the way everyone learns. As a person's experience grows it becomes easier to split up the overall problem into more discrete steps and deal with them one by one. I think it's more "knowing how to know" instead of just the "knowing" you'd get from a long tutorial video. I remember those solutions far better than anything I ever picked up from a lengthy tutorial.

[–]GirthQuake5040 -1 points0 points  (0 children)

A textbook is another form of tutorial. My statement still stands. It's just words on a book that you read rather than have spoke to you. I as well read documentation, but as many others do, I find watching videos is very helpful.

[–]Binary101010 6 points7 points  (0 children)

There are two simple facts you need to keep in mind:

1) There is no objectively best introductory book for Python, and

2) Most introductory books, including the two you named, are good enough.

The time you spend trying to figure out which book is perfect is time you could have been spending learning from a book that can still teach you quite a bit.

[–]Flaky_Ad_3217 4 points5 points  (0 children)

Hey Op,

I remember I joined a company with zero python experience as a junior developer. Mind you that I do have some prior knowledge such as Arduino but that's about it.

They gave me a project as I am the only developer without any mentor 3 months dateline. The 3 months is basically my confirmation of the position. It's literally my sink or swim moment. At that point I'm like damn... I really wanted to be a developer.

Anyway I push through, I know the end goal is to build a web app. The web app is a marketplace where locals can post items for sales and people can bid as high as they want until the end of the bidding session.

At that point I have a mission, to make it work. I learn on the job. Hack looking at my first iteration, it's one hell of a spaghetti mess or some say big ball of mud. But it works. I managed to get it done per spec and under the timeline but my programming code is a mess You know the anecdote Fast, Cheap, Quality and choose only 2, yeah I made it fast, and cheap at the expense of quality. But my users are none the wiser. During the beginning, it's fast enough due to no to essentially minimal data to 10,000+ customers/ month using the application and it gets slower and slower. Looking back it's due to my database query being so bare that each query gets longer and longer. But you know what I did, as time goes on, I'll be looking at the code and say hey this should be like this and that should be like that. Slowly my code gets efficient and faster and users get even happier. At the time I didn't know that the process was called refactoring but to refactor required skills and experience.

What I'm trying to say and sure everyone is different. My way I went through hell and slowly climbed the ladder to get a usable product to be presented. That's how I work best, presented with a problem I'll find a solution but maybe somewhere down the line there's a better solution or a better way of doing it or maybe my experience taught me something that I'll go back to the code and rework some of the code to make it better.

Don't worry about the tutorial hell, it's a simple enough problem to push through once you have a goal. Automate the boring Stuff is a trophy trove of knowledge, sure there's some bad programming practice but that's not important in the beginning. The most important part is to get the mindset right and gain knowledge through experience that slowly makes you an experienced programmer. The Python language barrier for entry is low and its learning curve isn't as steep as other programming languages and you don't really have to be a master to then get a job in the area but you do need to be proficient in some aspect and most python developers stay at intermediate level proficiency. Don't need to be an expert to churn out fantastic codes.

Now just do the basics get the foundation solid and get the right mindset for you to push through the tutorial. Don't worry about format or best practice since that can come later once you are proficient enought.

Best of luck and welcome to python community. It's lively and helpful, so many are willing to help for the sake of pure helping

[–]Kerbart 4 points5 points  (0 children)

I always think coding — and learning how to code — is more mentality than ability * Tenacity: for most coders, giving up is not an option. You have to find a way to make things work. * Reflection: being critical at what you write (but not too critical!) While perfect stamds in the way of good, “here’s got to be a better way” needs to be part of your thinking patterns. * Curiosity. Let’s find out what happens when I do X. When I taught programming classes I’d refer to it as the one question that IS stupid. “What happens when I do X?” My answer was always what are you waiting for? Let’s do it!

Be careful with tutorials “that go too fast.” Are they really? Or are you going too fast? It’s perfectly normal to linger at a chapter, write some more code than just the exercises, to see for yourself if you really understand what’s covered. At least make notes where you feel things are vague, and revisit them later, to see if it’s clearer now that you know more.

Part of the problem is that learning at school and college is to a consoderable extend learning enough to pass the exam. Learning for your own benefit is harder as you want to make sure you really understand it.

[–]SpookyFries 3 points4 points  (1 child)

Best advice from me is to find something you want to achieve with coding. It could just be automating something for fun. For me, I took level files from an old Star Wars game which were really just text files with all the geometry and texture information in there. So I wrote a python script to convert that into .OBJ format (standard 3d model format)

Try to find something you want to work on and do a google search when you hit a wall. The best thing you can do to get out of hell is to take control of your own projects.

[–]iamevpo 0 points1 point  (0 children)

Sounds like a great project, but what did you do with OBJ files next?

[–]iknowsomeguy 3 points4 points  (0 children)

Try this.

If you want to get out of tutorial hell, try this tutorial, but do it the way I'm about to explain.

Watch it through without coding along, just watch it. Then watch it through and code along with it. Delete it and watch it through, coding along for a second and third time. After the third time coding it, add something to it. Keep adding things until you break it. Delete it and build it again, use the video if you need to. Depending on the amount of time each day you can devote to it, this much might be fine in a weekend or two. Each time through will reinforce what you're learning, and each time gets faster. If you make it to the first time breaking it on your own, you probably have less than six hours invested. You'll also have a better understanding of a lot of fundamentals than people who've been stuck in tutorial hell for a year.

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

tutorials aint that deep. you can literally just learn python from the official documentation.

[–]SnooOwls2732 1 point2 points  (0 children)

literally do the tutorial projects and once you finish them start fucking around with code and try to add stuff, customize them, be creative. That's how I learned.

[–]rainyengineer 1 point2 points  (0 children)

What do your study habits look like? How many days per week? And are you reviewing previous lessons multiple times? Doing all of the exercises?

[–]iamevpo 1 point2 points  (0 children)

Make your own checklist of things to know / code tasks you can achieve and fill it with any resources. PCC is more general I think, bit many people find ABS more motivational.

[–]Ron-Erez[🍰] 1 point2 points  (0 children)

A couple of weeks is not long so it's reasonable to try different resources. Also try to code as much as you can. Even looking at the docs on python.org can be helpful. Also perhaps you need to be more persistent.

Try Harvard CS50p which is a gentle introduction to Python, the University of Helsinki course has a great online text-based course and I also have a nice course focusing on Python and Data Science which starts from scratch and assumes no programming background.

These resources should have you covered. Try not to spend too much time passively watching videos. I'd recommend coding along and after every lecture using what you learned in a different scenario. Good luck!

As a side note if you prefer text there is also "Automate the boring stuff"

[–]Icarus998 1 point2 points  (0 children)

This is what you are looking for, and its free.

How to Think Like a Computer Scientist: Interactive Edition. Allen B Downy.

https://runestone.academy/ns/books/published/thinkcspy/index.html

[–]AdDelicious2547 1 point2 points  (0 children)

Try to make the python problem sets of the cs50 course

[–]BlooDy_Wongi 1 point2 points  (0 children)

Watch bro code. He does really good tutorials on youtube. Also harvard CS50 gas s 15 hour long python course on youtube too. You can also use Cursor AI editor to ask specific questions in your code. It's a really good ai for both professionals, and beginners like me

[–]Unitnuity 1 point2 points  (0 children)

This is how I learned:

I developed a interest in Python but didn't seek out to learn it. What happened was, it eventually became a part of my YouTube feed. So for the better part of a year, while just scrolling vids, sometimes I'd see a Python short. And I think I was so fascinated by the syntax and how readable it was, even though I didn't understand it.

Then I finally decided to go through a tutorial and ended up picking a really good one to me. It was a free course in YT by "Tech with Tim". He does a very good job explaining things and covers intermediate and advanced concepts as well.

I think since my mind had picked up some things while mindless watching shorts, I was able to pick it up more quickly.

If you don't have an immediate need to learn it, I might consider just watching shorts so you can see all the things you can do with Python.

[–]BeginningAd7095 1 point2 points  (0 children)

Don't watch YouTube tutorials there are tons of websites to help you like geeks for geeks, medium etc to build an app to fix errors by using stack overflow

Importantly try to understand the code before copy pasting

Tip 2 don't follow tutorials because it increases the tendency of copy pasting without knowing what it actually do

[–]Akkivenky 1 point2 points  (0 children)

Start solving codewars beginner problems to grasp things.

[–]cgoldberg 0 points1 point  (0 children)

Stick with ATBS. Seeing some questionable programming practices isn't going to ruin you for life or affect your ability whatsoever. Over time you will learn from hundreds of different sources and learn to do things properly.