Magento Customization

By Greg Reedy, PHP/MySQL Developer at InteractOne

Magento offers a very powerful, enterprise-level platform on which to base an e-commerce store. There aren’t many that rival what Magento offers in overall functionality, versatility, and price. However, along with that enterprise-level experience comes the price of maintaining a robust software package that usually takes a developer (or team of developers) several years to master.

To appreciate the level of knowledge necessary to be a certified Magento developer, consider the dozens of hours of direct training and hands-on experience necessary to successfully complete the Magento certification exams. Notably, there are different certifications for different areas of code development: Frontend Developer; [Backend] Developer; [Backend] Developer Plus; and Solution Specialist. Mage CertsYet, as with most knowledge in this world, everything is up for interpretation and humans are simply innovative and self-sustaining creatures. Plus, with the ever-evolving and improving internet, knowledge is ever more at our fingertips than at any point in history.

Why should we bother hiring certified plumbers, electricians, or Magento certified developers? We can easily find a DIY or how-to video on YouTube or better yet, that friend who tinkers in plumbing, electric, or web development.

We hire the trained professionals because there’s always that one thing (or several) the DIY videos or your buddy didn’t tell you. Before you realize your mistake, it is money and time wasted that could have been saved if only the pros had been called in the first place.

Yep, we’ve all been there. So now it’s time to call upon a certified professional.

Before you decide to have someone open the hood of your Magento customization project, decide if it’s really necessary. Maybe somebody else had your same functionality issue and a trained developer created a nicely packaged extension ready to easily run on top of your Magento package. In many cases, this is the most likely scenario.

Yet, sadly, some merchants go straight for the operating table to a “budget-priced” developer willingly ready to take on your unique needs without considering the scenario above.

This is usually where things begin to go very wrong for so many.

Yes, your budget developer(s) delivered on your Magento customization project as promised relatively on-time, relatively on-budget, and relatively without too many bugs. Your new functionality feels like a brand new pair of shoes that were custom made for you. …ahhh, feels nice.

Until… [cue scary music]

It’s several weeks down the road, orders are flying through your store, and accounting notices that something isn’t adding up quite right. Your shipping rates aren’t always calculated correctly, the tax tables are wrong, your discounts aren’t applying to all orders the same way, etc.

You’ve got a nightmare on your hands, and your budget-friendly developer that originally authored your custom functionality has fired you over “too many complaints.” You’re up a creek and need some expert triage on your hemorrhaging web store. You call up an agency with certified Magento developers, and they tell you the news isn’t good, it’s going to take some risky surgery, but they think they can save your store. There’s just one catch: It’s going to take dozens of hours to effectively “learn” what the other crafty developers did and to effectively undo and redo what they were trying to do correctly. In addition, they’ll (likely) need to install several updates and security patches – if not upgrade the version altogether! This also requires many hours to, again, undo direct edits to core files that should never have been edited in the first place.

Why? Because any Magento developer worth their salt will tell you, as a golden rule, that Magento core files should never be altered for custom functionality. Repeat, Magento core files should never be altered for custom functionality. Yes, of course, the core files are touched all the time by updates and patches, but those are from Magento’s core development team and are guaranteed to work assuming everything is intact as the current working version of your site dictates. Everything else should be an add-on that doesn’t directly alter the core, and should theoretically be removable without “breaking” the website. If everything was done correctly, this is exactly how it should go every time.

This developer has seen this sad story one too many times. A Magento customization job so hacked that much of the default functionality had been either hidden or removed from the dashboard altogether and a client asking for features that should have already been there out-of-the-box.  

Good developers want to be proud of their work. They enjoy working in environments where other good developers show the same pride and care. We enjoy knowing that others who share our passion also take pride in our work. There’s always a good chance somebody else is going to eventually get a peek under the hood to see our handiwork, so why not do a good job before signing your name on something?

Many merchants find themselves in the Magento customization trap. They begin to brainstorm every site function possible while simultaneously hiring a consultant or developer to try and recreate the wheel. The truth is that 99.9% of the problems have been solved already, whether it is in a published form or not. If only merchants had taken the time to find the right Magento development team that could have handled the majority of their issues quickly and effectively right out of the gate.

In most cases, it pays to hire that certified plumber after all.