This book’s audience is exactly as described in its title: “absolute beginners.” The content is appropriate for someone who has had some minimal programming experience, for example, classwork or playing around at home, and is ready for their first real project or professional job.
Topics covered include configuring a development environment and tools, planning a project, programming syntax, databases, working in a team, and deployment. The general coverage is anodyne, but generally correct; definitely good enough to guide motivated users to search the web for deeper information as each topic becomes relevant. The book focuses more on describing a particular set of tools. As such, it is perfect for the novice looking to use exactly these tools, but less valuable for anyone needing to explore different toolchains.
At 300 pages, in a relatively large font, this book cannot cover everything; however, it does present a surprising amount:
- Using Docker to configure a portable, reusable development environment--excellent advice that most beginners only discover after exploring the nominally simpler direct approaches;
- Working with Git and GitLab (surprisingly, there is no discussion of GitHub);
- Using VSCode;
- A very detailed introduction to Python, with nearly 100 pages of language syntax and style guide tips;
- Using a database--though the focus is on MySQL, the material is general enough to mostly be applicable to any other SQL database, too;
- Writing a full toy web project with Flask and Gunicorn; and
- A whirlwind glimpse at unit testing, the unified modeling language (UML) design/documentation, security, deployment, and continuous integration (CI)/continuous delivery or continuous deployment (CD).
The reader who complete this book will not magically become a seasoned professional, but will know enough to understand what their new team is doing, to ask the right questions, and to search for deeper details.
I did not spot any typographical errors, but there are a few technical gaffes that should have been caught:
- Lack of clarity regarding working in a Windows environment;
- “in Python, all statements end with a colon”;
- A weird editing mistake in describing “git revert” and “git reset,” where it looks like the order of the paragraphs was swapped without reviewing the text; and
- A commenting example that is almost as bad as the classic “/* Add one to x */ x=x+1.”
Despite these minor issues, I enjoyed reading the book and think it will be a useful aid for new developers learning Python production skills.
More reviews about this item: Amazon