Sometimes there is a book worth mentioning to everybody, and this is such a book: Grokking Magento written by Vinai Kopp. I've been meaning to write a blog about it for quite some time. Last week I finally finished the book, so: Here is the blog I've been waiting for.
A book for whom?
If you are not into Magento, this book is not for you. The book is meant for Magento developers, covering in-to-depth code knowledge, for which professional Magento programming skills are needed to fully grasp its impact. That being said, any Magento developer should read this book - beginner or advanced - either to enhance your skills or to simply see what Magento development involves.
Written by one of the official Magento teachers - Vinai Kopp, who is considered by many one of the best Magento developers out there - this book really is authoritive in its area.
Overview of the book
The book is not large. About 170 pages. However, the content makes up for it. Instead of using a lot of words to discuss Magento basics, Vinai takes for granted that you understand how to develop a Magento MVC module and thay you played with Magento coding already a lot. He then follows up on that knowledge by making small code statements, that make you re-think the Magento architecture. Just reading the book will not be sufficient. For every chapter, you will probably need to go forth and back, to grasp its impact. Next, you will want to look at the Magento source code (and perhaps your own source code), to understand its practical usage.
This makes the book not so much a reading book, but more of a study guide, that helps you get the next level of Magento programming.
One example: Routing
One good example of where the book kicks in is the routing process. Many guides on the web will tell you how to build your own MVC extension, where the controller is partially based upon a Zend Framework architecture. Most of these guides don't tell you how Magento ends up calling upon your controller actions - they just state it works like that. Vinai takes time to explain how the Front Controller actually loops through routers and how you can influence that loop using specific code.
Kick ass book
I personally consider this a kick ass book and a must-read for any Magento developer. More details on the book and on how to get it, can be found on Vinais site: https://shop.vinaikopp.com/grokking-magento