In early January of any given year I usually make my list of new year’s resolution. This year I decided to update a number of old code repositories I have on GitHub. Besides that I am also working on projects that I hope I will be able to finish this year. Almost all of them are written in Python. To ensure I am writing the best Python code I am able to I decided to read “Beyond the Basic Stuff with Python” by Al Sweigert and published by No Starch. Sweigert has of course written a number of other books as well: “Automate the Boring Stuff with Python” and “Cracking Codes with Python”. His latest book is intended for those readers who are already experienced with Python but who still face daily hurdles that may sap confidence. Sweigert describes this as the desert of despair.
Why you need Beyond the Basic Stuff with Python
Reading through Beyond the Basic Stuff with Python I already feel much more confident to proceed with updating my older code projects. Going over them, I already observed numerous things that can be made better and more understandable. The code is not necessarily wrong, it runs just fine. But no doubt it will contain bugs and it is not easy to read, despite the numerous comments. Sweigert discusses many practical aspects an advanced developer should know. The book covers Python syntax, formatting, naming conventions, organizing classes and functions. It does not explain how Python syntax works, you are expected to know conditional statements, loops and data structures. Instead, the author discusses the numerous pitfalls associated with them. Developers familiar with other languages such as Java may not know the Python Gotchas and oddities. They may have a hard time switching to the language despite Python’s overall simplicity.
I for one had a fun time reading this book. It reminded me of the numerous times I did horrible things with Python. It also reminded me that I have come a long way in the 15 years that I have been exposed to Guido van Rossum’s brilliant creation. Besides all of the practical knowledge to create a good Python application there are two things I took away from reading Beyond the Basic Stuff with Python. First it has given me confidence, I do know all of this stuff. I should take time to get things done correctly. Secondly, it will make me understand when co-developers are just talking nonsense. Speaking with confidence when in actuality they have none. It is not the first time that a seemingly brilliant ‘junior’ software developer ensured his entire team ended up down a rabbit hole.
A warning to new developers
I want to end this review with a warning. If you are still relatively new to programming, either you really just started out or you stopped programming a few times, then stop buying introductory books. You know conditionals, loops etc. Chances are you will even know how to program networking, GUIs, multithreading and judge the performance of your code. It doesn’t matter if you only know the basics of these topics. JUST GO AND PROGRAM. Just create the project you want to work on. Get it on GitHub and don’t look back. Take the overly complex answers to questions you see on StackOverflow with a grain of salt. Feel confident to continue and obtain the experience you need. Just don’t forget to pick up a copy of Beyond the Basic Stuff with Python and use it as a guide on your journey.