Several years ago, I had heard that a new E-Commerce platform was growing in popularity. Varien's Magento. At the time it was community edition 1.3. I was not impressed to say the least. Things were awkward, it did not make a lot of sense on why there was SO much abstraction of files and folders. I found it frustrating that even the original developers did not use their own standards! What a train wreck!
Fastforward a few months:
I was asked by a local marketing firm to help them with some PHP and without asking too many questions, I said "Yes". It turns out that they had started to build a new commerce site and was sold on Magento by their original developer. He had quit, and left them high and dry. This was a huge problem because they were literally weeks from completion and they had no-one on staff who could understand what the heck was going on. After some Q and A I found they had built their site on Magento 1.3 and could not find ANYONE in Omaha who has experience with it. I reluctantly said I had poked around with it and found it very complicated (understatement of the year).
I decided that I knew enough to help and this began my quest to fix their issues.
It turns out that they just needed some cleanup on the checkout, and some basic adjustments to the existing functions. I was so releaved they did not need some custom extension, because I was NOT able to do much at that point in my Magento career.
It was during that time that Magento 1.4 was released and it was a HUGE step forward to a stable platform. It was at that point where I literally had that AHA moment. I soon realized how this monster worked. I could manipulate and modify this to suit my every need without touching the core files. This realization was HUGE, because at that point in time, there was literally NO online documentation. Most examples at this time were also providing horrible advice, like just modify this file in app/code/core/...whatever!
I decided at that point that I would blog and document how I fixed things on Magento and make it available for anyone to use. I have deep desire to help, and this was my way of not only helping the developer community, but that sorely lacking Magento developer community. To this day I post some new findings or ways to accomplish certain tasks that stumped me.
After community 1.4, every release from then on has made huge leaps towards a great development platform, and a stable reliable e-commerce platform.
About the same time, I was hired to help a brand new start-up here in Omaha. They were using Magento Enterprise. I was so excited to see what that could be like! I was like a kid on Christmas morning when I walked into the offices for the first time and sat down to look at the code! And oh, was I shocked (bad). The original team had decided to lay Joomla on top of Magento just to utilize ONE feature, a plugin called jomsocial. Thats it, that was their only reason! Another developer was soon hired along side of me to help figgure out what and why their site was so slow and problematic! We realized that at that time, Joomla and Magento worked OK with one another, but we could use our developer skills to replicate what Jomsocial was doing, and also build our own custom content pages! This was so exciting! I just figured out that we could do ANYTHING we wanted with this platform. It was so easy to extend, rewrite core functionality, create new methods to accomplish special tasks, whatever!
Now, many years later, I only recommend Magento for an e-commerce solution. I am sold on its power, diversity, and flexibility. The fact that I can do any request that is thrown at me makes me sleep good at night. I have never been stumped on a task, although I have been forced to think really hard several times!
Magento is finally a world class product. The Magento community is now strong and thriving. There are many good examples out there now! Its companies like Blue Acorn and Classy Llama that are what we strive to be. They set the standard for the rest of us to follow. We hope to live up to their standards and we will always maintain that level of respect for the code and the product.