My one piece of advice for getting better at programming, period, is: sink time into it. You can have the best book, teacher, learning strategy, IDE, most easy-to-learn framework, but if you don’t put in the hours those are all not gonna help.
I second reading others' codebase as much as writing code. Trying re-writing some pieces of the codebase is also helpful. I personally found reading Django REST Framework's codebase super helpful.
Reading a high-quality book is important to have structural knowledge. I suggest Python Cookbook in order to learn good tricks in context.
Stick to a long-term project to keep writing code. Also, learn and use asserts and logs inside your code. Keep writing tests.
Last but not least share your code with others, get reviews from others around you or you get into touch with online, ask for help in dev.to, make your code open source in GitHub.
Glad you mention Nim. I see it as a typed version of Python, which is everyone starts thinking of in a while after using Python, even eith type annotations. Nim also compiles to executables.
Top comments (20)
My one piece of advice for getting better at programming, period, is: sink time into it. You can have the best book, teacher, learning strategy, IDE, most easy-to-learn framework, but if you don’t put in the hours those are all not gonna help.
😄 agreed!! Time is everything no matter what you are doing.
Pick a project you find interesting, write a python script for it and keep iterating. As your projects grows, so will the stuff you need to learn.
A good place to start is with new language features. Why not try out fstrings or data classes.
Thanks!! I will have to look into data classes, have not used that before.
Find a customer that pays well and promise something you don't know.
You will learn a tone. Worked for me!
This is interesting, I have done projects like this before as well. It is worth it with the amount you can learn.
Read source code, it helped me a ton. Maybe not from something huge like Django but something like a popular small library, like requests.
Also... give it time ☀️
Neat idea! I will definitely take a look.
I will suggest four things:
I second reading others' codebase as much as writing code. Trying re-writing some pieces of the codebase is also helpful. I personally found reading Django REST Framework's codebase super helpful.
Reading a high-quality book is important to have structural knowledge. I suggest Python Cookbook in order to learn good tricks in context.
Stick to a long-term project to keep writing code. Also, learn and use asserts and logs inside your code. Keep writing tests.
Last but not least share your code with others, get reviews from others around you or you get into touch with online, ask for help in dev.to, make your code open source in GitHub.
Oh, interesting! Thanks for the book reference, I will have to look into it. I like the idea of keeping a long-term project to work on.
Don't be afraid of jumping into library codes.
😄 yes yes!
Learn to build good tests, especially using unittest, and how to use mock.
Especially using pytest, I would say, and avoiding mocks as much as you can to enable learning about dependency injection. )
Oh cool! I have been working on that this week actually.
What helps me is start doing some project and the requirement of what you have to learn will come later.
Embrace PEP in all its glory.
Ohhh I will look! Thanks 😄
KISS Principle.
The most hipster tool is usually not the best.
Learn Nim lang.
Glad you mention Nim. I see it as a typed version of Python, which is everyone starts thinking of in a while after using Python, even eith type annotations. Nim also compiles to executables.