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.
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.