Skip to main content

Books

Technical books I have read and found useful.

Pro Git
#

Scott Chacon
Ben Straub
Pro Git cover
Pro Git, by Scott Chacon and Ben Straub

Version control is an essential part of software development, and Git is the de facto tool. Pro Git provides all the information needed to get started as a beginner, but it also covers advanced topics for experienced users.
I believe that even though 90% of the work can be done using fewer than 10 git commands, having a more in-depth understanding of Git provides the confidence to use it effectively and troubleshoot unexpected situations. (reflog, bisect, ...)

Ansible for DevOps
#

Jeff Geerling
Ansible for DevOps cover
Ansible for DevOps, by Jeff Geerling

Ansible is a wonderful tool for automating almost everything server-related. Ansible for DevOps guides the reader from running ad-hoc Ansible commands to writing playbooks and organizing solutions into roles. The author, Jeff Geerling, is well known in the Ansible community, and he maintains several widely used Ansible roles on GitHub.
I believe that knowing the basics of Ansible can be very useful for anyone who enjoys automation.

Mastering Ubuntu Server
#

Jay LaCroix
Mastering Ubuntu Server cover
Mastering Ubuntu Server, by Jay LaCroix

Ubuntu is one of the most popular Linux distributions. It is well documented and has decades of guides and tutorials available online.
Nonetheless, it is beneficial to have a modern, structured, and comprehensive collection of information about how to get started with more advanced topics down the road. Mastering Ubuntu Server is that book.