Python: Becoming A Better Python Developer

I've been subscribed to Aaron Maxwell's "Powerful Python" newsletter for over a year and I really like it. His emails are opinionated and candid, and singularly focussed. He seems passionate about what he does and I like that.

Ultimately, the emails are designed to drive sign-ups for his courses which I suspect would be very good, but there is a lot of value in the free emails. Thanks Aaron. I realised that the emails are sequential and each subscriber gets the same sequence of messages regardless of when they signed up. There is the 'first' message, and then the 'second', and they kind of progress and flow.

This means that there are more benefits to paying attention than for usual email subscriptions. Even though the emails arrive when I'm at a supermarket, or making dinner for my kids, it's good to try and read it properly later.

After being subscribed for several months, I unsubscribed and resubscribed. Now that I know how reliable and high quality this advice is I'm going to prioritise working through the examples and doing some of what I missed the first time. I've gone back to the beginning to reinforce the parts I know and to try again with what eluded me the first time.

Three kinds of practice projects to become a better developer:

  1. A web app - use Django if you don't know which framework to user. Done this.
  2. A command line tool - use the argparse module, because it's in the standard library. Haven't done this yet, I guess now is a good time to start. It seems like the simplest and quickest of the three kinds of project, and I can see how useful it could be - it lets you use the app in many different contexts, outside the python eco-system and anywhere command line tools can be used (everywhere).
  3. A machine learning model - I've already studied this, from theory (numpy) to frameworks (tensorflow). I'm happy to see it's included.