I am Kenneth Reitz. Ask me anything.

View other answers to this thread

Learn Something New Everyday,
Connect With The Best Developers!

Sign Up Now!

& 500k+ others use Hashnode actively.

Waqas Shabir's photo

Hi Kenneth, I want you to think retrospectively and share a couple advices for learning/polishing the knowledge and skills to us all the aspiring Python Overlords.

Kenneth Reitz's photo

Software for Humans

For me, I think polishing the "craftsmanship" side of programming Python was all about forming strong opinions — normally influenced by others I respected. I would find people who's code really resonated with me (for example, for me, Armin Ronacher, now a good friend), and I would scan through their codestyle, setup, repo structure, documentation style on GitHub. I'd note what I liked, what I didn't like. Rinse and repeat. Over and over.

Then, of course, while writing code, developing strong informed preferences is equally valuable. There are a lot of Python programmers out there that want everyone to code the exact same way. For example, there's a blog post going around about how isattr() in Python 2 "misbehaves" and should be avoided. Some people read that blog post and start sending pull requests to their favorite projects, well intentioned, to remove the use of this perfectly non-misbehaving function (this happened with Requests actually). These are the type of people that are either following someone they respect too closely without question, or have no opinion of their own at all, and just hop on board where whoever "above" them says to.

Now, there's nothing wrong with that blog post — I just disagree with its tone of what I consider to be effectively soft fear-mongering. And, there's nothing wrong with following such a blog post.

But you should be the one writing those blog posts. But, only if you're ready. Be ready :)

Want to read more?

Browse featured discussions

© 2020 · Hashnode