Thoughts on "The Pragmatic Programmer" 2nd edition
Published on 15/09/2025
Like a lot of people working in the tech industry, I imagine I have a shelf of programming books (a lot I have yet to finish) But there is one book that I've read cover to cover, and can comfortably say that it was one of the more important things I read back in 2020 as a junior developer.
What is "The Pragmatic Programmer" ?
The Pragmatic Programmer (2nd edition) came out in 2019 to coincide with the 20th anniversary of the first edition. The book was thoroughly updated to match the vast changes in the industry since 1999.
Unlike other programming books, this one isn't focused on a specific language or library. Instead, it presents a collection of tips and tricks on various topics, usually with a story attached to illustrate a point. Also unlike other programming books, it comes in at a brief 320 pages.
The book is written in a way that while some subjects build upon previous ones, it is perfectly fine to just skip to chapters that interest you. I still find myself returning to this book every now and then to re-read certain chapters when the need arises. Each section features exercises that you can do to re-enforce your knowledge on the subjects.
How this book helped me
I imagine for more seasoned developers, a lot of the advice might seem quite obvious. There was certainly some sections that didn't explain anything new to me. For example: there is a section that recommends the use of version control software. which only exists because apparently the authors still encounter people copying and renaming directories as version control!
But, back when I was a junior developer, I learnt a lot of valuable things that really helped me manage myself and my time. Whwile one of the simpler pieces of advice, the concept of "engineering daybooks" and keeping a journal of my thoughts and struggles throughout my working day has saved my life more than once.
The fact that the book was written in Markdown reminded me that I didn't need some complicated over-engineered setup for note taking, blog posts etc. This entire blog section is just Markdown files converted to HTML.
Some more advice that might be obvious to others but spoke to me back in the day: Version control can be used for other things than code. In case my laptop explodes, I could recreate my setup reasonably fast with backed up dotfiles. I can use it for my blog posts. I even used it for my bachelor's thesis.
If you are curious what subjects are covered in this book, you can check that out on the Pragmatic Bookshelf
Conclusion
If there was one book I had to recommend to any junior developer, it would be this one. I am sure there is information in this book that would be useful to any developer at any stage of their career also. there is a reason this book makes it onto various "best programming book" lists, if you give it a read I'm sure you'll agree with them too.