Several years have passed since the time when I tried to understand Magento development. At that time, Magento was something unreal and very difficult for me. I tried over and over again; I did a lot of mistakes. One day I woke up and bingo!!! It was really amazing to understand how it works. Well, in this article I would like to talk about the caveats that were, most likely, encountered in development by a lot of my fellow PHP developers. So, first of all, I would like to tell a few words about the Magento system itself. Magento is "imbued" by Zend to the last line of its source code. In fact, Magento is extending Zend Framework. It uses Zend as a main source of its library components (Zend_Db, Zend_Cache, Zend_Locale, etc.). Moreover, file naming (classes) and code conventions are borrowed verbatim from Zend (coding style). Magento is a well documented system. There is a lot of helpful information on the official website. For example, you may find the following articles very useful: Knowledge base and Screencasts. Apart from that, Magento has a community of developers that always share their troubles and resolved issues (the official forum). What are the common mistakes for Magento newbies? I have picked out three most common mistakes.