How to write larger, more complex applications
You know the #1 desire - and frustration - of Python developers?
It's being able to write larger, more complex software.
I feel the same way. I mean, that's where the fun is! Writing software that can do really interesting and useful things.
But Python developers are a diverse bunch. We come from many different backgrounds, and focus on different engineering domains...
From web development, to devops, to data science, and many other categories.
And the fact is, there are a few critical skills that help you write larger, richer applications, better than ever before...
But few Python developers ever deeply learn:
- Object-oriented programming. Focused on understanding the principles. Things like SOLID, the Liskov substitution principle, polymorphism, etc... and how they're expressed in Python, differently from other OO languages.
- Writing unit tests, and test-driven development. This a SUPERPOWER.
- Logging. There's an art to this. And the larger and more complex your application, the more invaluable this becomes.
- Writing decorators. Actually, it's not so much decorators themselves that are so valuable - though they are. What's even more valuable is the advanced mastery of Python you gain in the process of learning to write them... like you're "seeing into the Matrix" of Python.
These are actually the main things to master.
Because if you learn them deeply and well, the rest tends to fall into place...
And you can successfully write more complex Python applications than ever before.
(These are some of the topics we focus on in the Powerful Python newsletter.)