Book Review: The Pragmatic Programmer
I just finished reading The Pragmatic Programmer by David Thomas and Andrew Hunt... and I need to share my thoughts with you!
You know how sometimes you pick up a programming book and it is pure code and theory? And sometimes you read a self-development book that has nothing to do with our developer world? Well, this book is something special... it combines both. It teaches you how to write better code, but also how to think better as a developer.
My rating: 4.2/5
Why did I pick this book?
If you have been in the software development world for some time, you have probably heard of this book. It is everywhere... on "must-read" lists, recommended by senior developers, and mentioned at conferences. So I decided to finally read it and see what all the hype is about.
And I was not disappointed!
What is this book about?
Let me be honest with you... This is not a deep technical book. If you are looking for complex algorithms or advanced code examples, this is not the place for that.
This book is about the craft of programming. It is about the mindset, habits, and principles that make you a better developer. And the best part? It is useful for everyone... from junior developers who are just starting their journey to senior engineers with years of experience.
The writing style is easy to follow, almost like somebody is talking to you. I finished it pretty fast because it was genuinely interesting to read.
Some highlights that stayed with me
While reading, I was highlighting a lot of stuff... let me share some of the ideas that I found the most valuable:
"Build the code, not your ego." We all have our moments, good and bad. This one hit me hard. In our industry, ego battles are common, and this is a nice reminder to stay humble.
"The only way to build software is incrementally." We don't know what we're doing when we start... and that's okay! Build small pieces, learn as you go, and adapt. This is something I strongly believe in.
"Once a human tester finds a bug, it should be the last time a human tester finds that bug." Automate your tests! Test early, test often, test automatically.
"When you are stuck... step away." Go walk the dog. Sleep on it. Work on something different. The book mentions that people who were distracted actually performed better on complex problem-solving tasks than those who pushed through with conscious effort. I found this very interesting!
"Don't try to refactor and add functionality at the same time." Simple advice, but so easy to forget when you are deep in the code.
"Artisans of an earlier age were proud to sign their work. You should be, too." This one is about taking pride in your craft and the code you produce. Be proud of what you build and what you commit to the source control repository!
Who should read this book?
If you are a developer who wants to get better at how you work, not just what technologies you use... this book is for you.
It will not teach you a new programming language or framework, but it might change how you think about your entire career. And sometimes that is more valuable, right?
Final words
I am happy that I finally read this book. It gave me a lot to think about and some practical tips that I can apply immediately in my daily work and projects I work on.
If you haven't read it yet... give it a try. I believe you will find something valuable in it, no matter where you are in your developer journey.
Best regards!
Almir Vuk