Warning: this post contains spoilers for Cory Althoff’s The Self-Taught Programmer: the definitive guide to programming professionally
I feel a little bad knocking this book down to three stars, because it’s not entirely this book’s fault. I set out a few weeks ago to teach myself to program in Python. I have some loose programming experience, but it often comes up as something I feel would make my job significantly easier, and simply as a valuable tool to add to my toolkit. Since I have long taught myself different subjects by finding books about them (see: theoretical astrophysics in seventh grade), my first stop was to see what relatively inexpensive Kindle books were out there that I could download and read to learn how to code in Python.
However, after downloading the book, I went over to Python’s website to download the program, and discovered that there were significant support resources there, including entire books delivered freely online. One of them, Automate the Boring Stuff with Python, fit exactly what I hoped to do with my effort to learn Python. My goal is not to become an expert programmer, but merely to become sufficiently familiar that I can a) understand other people’s code more easily, b) automate simple, repetitive tasks on my computer to save myself time, c) more easily learn additional programming languages, like C, and d) have enough of a foundation to create programs relevant to my “real” job.
So it’s not entirely this book’s fault that it ended up being somewhat superfluous. It wasn’t bad, but in the beginning it covered mostly the same material as the Automate the Boring Stuff book, so I glossed over that, and in the end it mostly focused on how to get a job as a professional programmer, which is not my goal. Mostly, I simply wish that I had gone to the Python site first, instead of trying to find a traditional book on the subject. I should have known that the coding culture would leave plenty of freely available, rigorous resources out there for my use: in my experience it is one of the most ferociously open-source fields out there.
If you are looking to program professionally, then this might be a good book with which to start (you’ll need others, and a lot more practice, before you’re ready to go get a real, heavy programming job), but the moral of the story here is: for some topics, check the source material first, before you go finding a book about it. Lesson learned. So while I cannot truly recommend this book from my own experience with it, I’ll end with this: I cannot recommend enough finding the time to always learn something new and develop yourself. Whether that’s coding, creative writing, leadership, marketing, or quantum physics, there are books out there to help you do it.