Learning to develop in Magento? Piece of cake.

Being a new developer in Magento isn’t really too different than being a new developer in anything else – at least for me anyway. As a developer, I have a long history of having to pick up new languages and programs. In college I had to learn Maya (a 3D animation software), Photoshop, Illustrator, After Effects, Flash, Visio, HTML, and CSS. Then once I actually got into my first coding job, I had to learn JQuery on the job. About a couple months after that we switched to Ember.js for our framework, so I was learning Ember and JavaScript on my own, while working as developer. That trend has continued for me ever since. So at this point picking up something new like Magento is the same old-same old. I do, however, like working in Magento. I enjoy having the opportunity to learn new things and get exposure to different types of thinking and methodologies for project development. I am pretty sure all this learning makes me a better developer.

Having the Right Background

Coming into the Magento platform, I’ve heard from other developers that it’s a good idea to have a strong PHP background – which I don’t actually have. But I don’t think that’s hindered me, so maybe take that one with a grain of salt. In general having any programming experience and any kind of development background will help someone pick up Magento development.

Tips for Noobs

It helps if you’re comfortable navigating the admin UI, which will be important for finding where templates live inside Magento themes. I use that feature quite frequently since we often get projects that other shops have worked on, and I have no idea where people have put things. The template paths don’t catch everything unfortunately. So I’ve learned to use ‘grep’ on the command line when I’m searching for JS or CSS files.

While the fall back themes are great in that it helps with version control (when done correctly), it can also make things difficult when you have multiple themes controlling different templates on a page. I had one site recently where in a module for checkout, there were three different templates, each with a different theme. Keeping the files from the multiple themes straight is a challenge when you have a situation like that.

Finding assets that are located in the admin is also a bit of a drawback when you first start on a site. Up until a couple weeks ago, I’d forget that we’d have static blocks in the admin, so I’d try tracking down files through the template hints and get stalled out when I couldn’t find a path for a file. Attributes are the new thing that trips me up at the moment. I haven’t had a lot of exposure to them so I keep forgetting that they’re a thing. That right there is probably the hardest thing about being a new to a framework, is you don’t know what you don’t know. That can make you banana’s trying to figure out how to fill in the gaps. Which is where a great team comes in. Google is great, documentation is great, youtube is great, but nothing replaces people and their experiences, and that most of all has been a huge help and asset to me and picking up Magento.

Final Advice

If there’s any advice I have for new Magento developers, it’s to be patient. This framework is huge, and it takes time. I see experienced developers discover new things in Magento all the time. It’s a constant learning experience, just make sure you have a good team behind you, and you’ll do fine.