Magento Developer – What To Look For When Hiring Someone

When searching for a Magento Developer, it is important to make sure they can perform certain tasks comfortably before committing to them. The most important things that you need to know first hand are their portfolio and references of past clients. If past clients say positive comments, you’ll be happy too in the future. Besides […]

By Joel Holtzman

When searching for a Magento Developer, it is important to make sure they can perform certain tasks comfortably before committing to them. The most important things that you need to know first hand are their portfolio and references of past clients. If past clients say positive comments, you’ll be happy too in the future. Besides that, there are some technical aspects as well. You may be wondering how you can determine if somebody has the technical skills to work on an important Magento project? To make your life easier, outside of looking at their portfolio and references, please make note of the basic skill sets any Magento Developer must possess before you consider working with them:

Experience With The MVC Approach

The Magento Developer of your choice should have a thourough knowledge of MVC, which is an acronym for Model, View and Controller. The Model is the database/data delivery, view is the appearance/visual/data you see displayed on your screen and the controller is what brings the two together.

Magento, like a lot of other PHP Frameworks (A PHP software solution with many files built to help a developer get a website up and running quickly so as to avoid building something from scratch) such as Code Igniter, uses this concept to separate different layers of logic and functionality.

If a project has a designer, that person should not be interacting with the database or the code that connects the front end to the database. So with an MVC approach, Magento is built in such a way that allows a developer to know, just by looking at the file system, what goes where.

One other thing to note regarding the MVC approach – it forces a developer to think differently in terms of how they serve a page url. For example, if you have a website such as: https://www.mybookstore.com and want to have a page that shows a unique combination of products, belonging to different categories, and you wanted a fancy url to display it, for SEO purposes, you have to know how to create ‘routes’, which is a programmers way of turning php code into instructions to serve a specific page with a specific url format such as: https://www.mybookstore.com/special-deals/new–exciting-books.

You cannot just create a folder in your server such as ‘collection’ and point people to that folder and show off your new product collection. You have to either configure the url in the category admin section of Magento or build your own routes (url paths) with the php code.

One Important Note: You can create a category (Special Deals) and sub category (New Books) in the Magento admin section that will follow this url path, but in this example I am referring to the act of creating ‘routes’ for demonstration purposes only because that skill set will allow them to create custom modules properly. If a developer cannot work with routes, the odds are he is not well versed in MVC development and has likely never created a custom Magento module before.

If you need help with your Magento store, call 845-656-3000 or Contact us here »

Understands Object Oriented Programming

The Magento Developer of your choice should als be able to understand Object Oriented Programming. That is basically the act of using Classes, which are collections of instructions that contain ‘functions’ (tasks) that give Magento the ability to perform a wide range of tasks such as display products from one specific category or displaying a wish list.

Object Oriented Programming and MVC go hand in hand because you need to be able to understand the act of building classes or ‘extending’ them, which is a method of saying “Use the power of this class (such as a shopping cart class) and give me those powers so I can add more power to it without having to edit the core Magento files”.

The act of extending a class would be like saying “Give me that person’s car, make a copy of it, so I have a car with those exact features. Now that I have that car, I will paint it blue”. The act of painting it blue would be a function. The act of copying the car, so you have a copy car with identical features to the original care, is the act of ‘extending’ an original class.

Extending a class is paramount for a Magento developer if you want to build your own modules because you simply cannot hack the original Magento files if you want to produce a long term successful Magento website. The future upgrades would destroy all of your hard work and you would have to track which code you lost. Needless to say, that would be a nightmare.

This OOP method requires an understanding of How Magento is built and goes back to the MVC approach I talked about earlier. Magento’s files, which control the sales functionality, come in two sections:

1.) Core PHP Files – The ‘Out of A Box’ Magento Files

These are the files that control the default product display, shopping cart etc. They reside in a folder /app/core

While Magento is powerful, the odds are a developer has to add some sort of intelligence to it or extra features. This request leads to developers asking themselves “How can I customize this site to my own liking? Should I update the core files? ” Well, the answer is no. You never edit a core file for the reasons stated above. Since editing the core files is not an option, Magento has a helpful solution available to developers:

2.) Local (Developer Customized) Files

The /app/local folder is where you can perform an action known as ‘extending’ the functionality of Magento. Let’s say you want to create a more sophisticated version of the shopping cart. You  place your files in app/local, using the same folder and file name structure that comes with Magento in the /app/core folder, and, just like that, you can add to the Magento core functionality without having to worry about updates to Magento overwriting your hard work.

Speaking of hard work – sometimes a developer works TOO hard…

Understands The Importance of Not Re-Inventing The Wheel

While a lot of developers may want to build custom modules that meet some of the needs you may have, it is important that the developer take advantage of the endless array of third party modules built for Magento. Not only does it save you, the client, money but it saves a ton of time in the development process.

While it is ideal that your developer know how to install Magento Modules, it may be worth investing in the install fee from the developer. This way they are responsible for everything and can get it up smoothly without any hassle.  With that said, take this approach case by case. If somebody charges $300 to install their script, don’t even think of paying it unless it is a major piece of software such as an advanced full page caching solution or super advanced shipping module that has a proven itself in the real world. Otherwise, never should you pay more than $100 or $150 for installations.

Magento Development Lead