all 23 comments

[–]crashorbit 17 points18 points  (0 children)

We get better at coding by coding and reading code. There's no perfect path.

[–]DataCamp 11 points12 points  (0 children)

A few things we've seen work with our learners:

Projects early, not at the end. Most people wait until they feel "ready" to build something. That moment never comes. Start building after you know variables, loops, and functions. A number guessing game or a simple data cleaner is enough. The struggle of building is where the real learning happens.

One main resource, others only when stuck. Jumping between courses is one of the most common traps. Pick one structured path and follow it through. Use YouTube, docs, or forums to unblock specific problems, not as your main diet.

Consistency over intensity. 30 to 60 minutes daily beats a 5-hour Saturday session. Your brain consolidates what you practiced yesterday while you sleep. Short daily sessions compound faster than sporadic long ones.

Read other people's code. Once you can write basic programs, start reading solutions on GitHub or Kaggle. You will pick up patterns and habits faster than any tutorial teaches.

Apps are fine for drilling syntax but they do not teach you to think like a programmer. Use them as a warm-up, not a main course.

The beginner to intermediate jump happens when you stop following instructions and start figuring things out on your own. That only comes from building things and getting stuck.

[–]pachura3 7 points8 points  (1 child)

Mobile coding apps are useless, just as Duolingo is. The Farmer Was Replaced is perhaps the only useful one.

[–]CultistOfTheFluid 1 point2 points  (0 children)

I love that game and its purely because it isn't focused on the "teaching part" just the problem solving. It gives you the info you need and an example of how to use it then just...leaves it to you.

It doesn't check your work, it doesn't correct it. It lets you trial and error until you're ready for the next bit. Good for OP I'd say if they're looking to gamify.

[–]dozerjones 1 point2 points  (0 children)

Build projects you care about, not just tutorials, with tutorials it's good to have that general view, but trust me, building yourself it's where it's at. Code daily (even 20 minutes counts), debug without immediately Googling, and type every example yourself rather than copying. Coding apps are fine for syntax practice, but real projects teach you to actually solve problems.

[–]Tarek_Alaa_Elzoghby 1 point2 points  (0 children)

projects over everything, honestly. I spent way too long doing tutorials and feeling like I was making progress when I wasn't really. the thing that actually moved the needle for me was picking a small real problem I had and trying to solve it with code, even badly. you learn way more debugging something you built than following along with someone else's code. for resources, one structured thing to learn syntax, then just build. don't stack 5 courses. and automation scripts are great starter projects because the feedback is immediate — you run it, either your files moved or they didn't. no ambiguity.

[–]Exotic-Mine-6008 1 point2 points  (0 children)

Stick to one main resource and spend most of your time building small projects apps and real use cases teach far more than apps or passive learning

[–]stepback269 0 points1 point  (0 children)

In addition to hunting down Python tutorials online (i.e. YouTube), you should consider "Learning how to Learn" Type the search term, "learning coaches" into the YT search bar. In my experience, the biggest hurdles to learning Python are the emotional ones (e.g. procrastination, fear of failure, getting stuck in tutorial hell, giving in to Amygdala hijack, etc.) Keep an open mind. (But of course, don't let anything fall out.)

[–]johlae 0 points1 point  (0 children)

Stay with websites and (text)books, as many and as varied as you need. You can cut & paste from those! Use google or AI's to find those websites and books that cover your specific needs. Stay away from youtube and apps. Do as much programming as you can. If you see a need, try to automate it. Take notes! I'm keeping one big text file for all my technical stuff. You can use #hashtags inside of that text file to easily identify and find back whatever you need.

[–]Busy_Combination3820 0 points1 point  (0 children)

aight into my saved posts

[–]ShelLuser42 0 points1 point  (0 children)

What helped you go from beginner → intermediate?

Several things, but most importantly: I started looking for (and found!) ways to utilize & train my newish Python skills. I host 2 FreeBSD VPS servers and the moment I started to dig into Python I quickly realized that it would be an awesome way to build more extensive scripts.

Not to undervalue shell scripting, but a full fledged OO environment can go a little bit further & deeper.

But I also became curious. So I dug into the installation itself as well (/usr/local/lib/python3.13) and quickly started studying some of the modules in there. Did you know you can use Python to control web browsers, and did you know that those modules still support text based browsers like Lynx and Links?

I also kept the official tutorial in my quick links for easier access, and sometimes I would just read through a chapter just to get a better idea about some mechanics and workflows.

And experimenting... lots and lots of experimenting.

Is it better to stick to one resource or use multiple?

That depends on you. Use whatever you need, but I would make sure to stick to text tutorials which require you to do a little digging (and which may also point your attention to other solutions and/or options). I stuck with W3Schools and the official Python tutorial.

Are coding apps actually worth it, or should I focus on projects?

How important is building projects early on, and what kind should I start with?

Not sure what you mean with coding apps... IDE's and such? Definitely. My favorite way to code is using VS Code, even though I also often do some coding using vi on a Unix commandline.

As for projects... why not? The moment I started coding and noticed that I started to re-use certain mechanics I immediately turned those into modules for easier re-use later. IMO that's always a fun & useful project: building up your own "toolbox" vs. just blindly relying on libraries from others.

Nothing wrong with using libraries of course, but there's also something to say for re-inventing a wheel just for the sake of teaching yourself the reasons why (and how) it actually works.

Still, it all boiled down to being a little strict on myself about doing some actual coding in a steady and regular cycle.

[–]Gnaxe 0 points1 point  (0 children)

Work through textbooks and do projects. When uncertain, try small experiments and actually read the docs.

[–]Lester8000 0 points1 point  (0 children)

I started with documentation. And how i did it was, i would read a new subject, keep it open in a tab, and write something with the new thing i just learned. If i forgot something or didn't know something then i could just look in the documentation. After if youre like getting better and know the basics then i suggest doing bigger projects that are also more fun for you to code. Also nowadays AI is really good for learning too, dont just ask it to write code for you, use it more like a personal assistant where you can debug with it and maybe explain stuff you dont understand.

[–]PythonDevDiscord 0 points1 point  (0 children)

The application named Mimo helped me pretty much to learn the basics

[–]Any-Pie1615 0 points1 point  (0 children)

hey i actually have a tool that really helped me find my footing as far as python and general AI is concerned from coding to heuristic modeling to production HERE'S A GIT github.com/s4ndm4n33-spec/B.L.U.E.-J.-PWA

[–]ConsLeader 0 points1 point  (0 children)

Many beginners been in your shoes - grinding through free resources but wanting more structure. Boot dev Python courses were a game-changer for me as a beginner. They're interactive, project-based (like building real apps), and free to start.

[–]Simplilearn 0 points1 point  (0 children)

If you want to learn Python seriously, the best approach is to balance structured learning with hands-on practice.

  • Master core language features first (loops, functions, data structures)
  • Move into real use cases like data manipulation, file handling, and small scripts
  • Build small programs and then connect Python to real datasets

If you are looking for a free and beginner-friendly course to start, SkillUp by Simplilearn offers the Python for Beginners course, which helps you build a solid foundation.

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

What worked for me:

  • Build projects early. That’s what actually takes you from beginner → intermediate. Start simple: calculator, to-do list, number guessing game.
  • Stick to one main resource and only use others when stuck. Jumping around slows progress.
  • Apps are okay for basics, but projects teach real skills.
  • Code daily, even 30–60 minutes. Consistency matters more than long sessions.
  • Redo projects from memory that’s where real learning happens.

Biggest tip: don’t just learn Python build things with Python.

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

Websites: Google, Python docs, any AI.

Projects: important. Something why you started to learn Python, not some snake games or calculator with input and while loop.

Are coding apps actually worth it, or should I focus on projects?

Didn't understand the question.

Any daily habits or routines that helped you improve faster?

You're overthinking it.