The gap between knowing Python and actually being able to build something
I have done a course on python on Udemy . Now how do i learn to write code that are actually useful somewhere or i can do something valuable with it?
One thing I've noticed is that when I look at a more complex programming problem, I sometimes just go blank. I know the individual concepts I've learned, but I struggle to see which concept should be used where or how all the pieces fit together. The bigger the problem looks, the more overwhelmed I can get.
if someone gives an experienced Python developer a problem, how do they approach it before writing the code?
I'm particularly interested in understanding the thought process and the building blocks involved:
- How do you break a real-world problem into smaller programming problems?
- How do you decide what the program should look like before you start coding?
- How do you go from a vague requirement to something you can actually start implementing?
- How do you decide which Python concepts are appropriate for a particular problem?
- How do you decide which libraries/modules to use?
- How do you figure out which libraries even exist for a particular problem?
- How do you decide how to structure the code?
- How do you decide what functions/classes/modules you need?
- How do you decide what should be a function versus just a few lines of code?
- Is there a typical order in which things are written or organized?
- How do you handle errors and unexpected inputs?
- How do you go from a rough idea to breaking it down to pseudocode/design to working Python program?
Basically, I'm looking for the mental model and workflow that experienced programmers use, rather than another Python syntax tutorial.
While learning i was able to write codes that add subtract numbers etc which were simple enough for learning but want to make my skills better. Also, I'm not a programmer won't be using python much, how do i learn in such a way that i remember the syntax or concepts for longer time, python coding is just a skill i want to develop.
I'd especially appreciate examples of the kinds of projects/exercises that helped you make that transition.