To me it’s essential as a developer to read books, and not just looking things up on the internet. The depth of a book can not be compared to almost anything you find on the web. Keeping your knowledge fresh is important and I tend to try to read my books as often as I feel like it and have the time. What you learn by reading a book once is nothing compared to reading it perhaps two or more times.
I’ll share with you a selection of books I have, mostly in my Kindle or Leanpub library, which I’ve found to help me a lot. Some of the books are not PHP specific, but are for developers in general or about software development as a concept. Some of the books are a lot about code while others are more about getting you to think about what you’re doing and how you can improve it.
This post was last updated 2015-08-15
- The Pragmatic Programmer: From Journeyman to Master (A. Hunt & D. Thomas)
This should be the bible for all developers. It doesn’t just teach you how to write code, but also how to be a good developer. Touching subjects such as developing your knowledge portfolio, fighting technical debt, etc. A definite must read.
- Code Complete (S. McConnell)
This book can be a bit tough to get through, but it’s worth it. The aim is for you to write high quality code, covering a wide range of topics.
- The Art of Readable Code (D. Boswell & T. Foucher)
An excellent book filled with tips and thoughts on how to write code as readable as possible. Readability is one of the most important aspects of a large code base with many developers involved.
- Deal With It (G. Davies)
A short book about different actual real world situations that developers encounter and how they should be dealt with. Enjoy!
- Implementing Domain-Driven Design (V. Vernon)
An introduction to DDD with practical examples. Can be quite difficult to grok everything and you might need to read it more than once, I sure know I did at least.
- Effective Programming: More Than Writing Code (J. Atwood)
The first part of the series in collections of blog posts from the legendary Jeff Atwood writing on his blog Coding Horror.
- How to Stop Sucking and Be Awesome Instead (J. Atwood)
The second part of the series in collections of blog posts from Coding Horror.
- The Grumpy Programmer’s Guide To Building Testable PHP Applications (C. Hartjes)
I think that untested code is not great code. Chris Hartjes has been an advocate for writing testable code for a long time and has developed his online prescense as the “grumpy programmer”. His book is an excellent book on writing tests and how to write testable code, and it’s definitely worth more than the $20 as the suggested price is.
- PHP Objects, Patterns and Practice (M. Zandstra)
Some excellent stuff on PHP development in general. The part I find most essential to a developer here is the design patterns. It gives you a number of best practice examples of how to design your code using patterns.
- PHPUnit Pocket Guide (S. Bergmann)
Should be quiet obvious from the title what it’s about. Learn the PHPUnit framework from the author of the framework itself.
- Build APIs You Won’t Hate (P. Sturgeon)
If you’re interested in building RESTful APIs in PHP, read this.
- Domain-Driven Design in PHP (C. Buenosvinos, C. Soronellas, K. Akbary)
If you don’t have a clue what DDD is, you should probably read Implementing Domain-Driven Design first. But this is the only good adaption of DDD to PHP I’ve found and it’s a great resource.
- Laravel: From Apprentice To Artisan (T. Otwell)
If you’re interested in best practices and architecture when writing Laravel applications, this book is amazing. Written by the creator or Laravel itself. Note that the book is written for Laravel 4.
- Implementing Laravel (C. Fidao)
Real world examples for writing great code with Laravel, with a focus on testable and maintainable code. This one too is written for Laravel 4 but because of this the book is now available for free!
- Laravel Testing Decoded (J. Way)
Anything related to testable code in Laravel you could dream of, written by Laravels most prominent teacher and creator of Laracasts. Also written for Laravel 4 but many concepts will apply to the latest version.
- The Docker Book: Containerization is the new virtualization (J. Turnbull)
Docker is a revolutionary way of managing servers with containers. This book is a great introduction.
- Ansible for DevOps (J. Geerling)
If you’re interested in automated server environments using Ansible, this is for you. A great thorough explanation of Ansible with great examples.
- Remote: Office Not Required (J. Fried)
Interested in why and how to work remote? Then this is a definite read.