0 Shares 1434 Views 1 Comments

“It’s almost like you have to tame Magento” – Interview With Magento Front-End Developer, Ben Crook

Mubashir Ahmed Dec 09, 2016
bencrook

Ben Crook is a Magento evangelist with years of  front-end development experience.  He enjoys creating responsive, easy to use, smoothly-coded websites. Ben loves learning new skills and techniques. He is passionate about creating responsive websites and a proud programmer who loves coding by heart. So, let’s start the interview and get to know more about Ben:

Arpatech: Ben, you are a Front-End Developer and specialize in Magento. How did you start your career? How long have you been involved with Magento? What was the reason for choosing this platform?

Ben: My first attempt at web development was around 12 years ago at the age of 14, I exported a design from Photoshop then hacked it to pieces. As you can image this was the worst code known to man (even in the days of using tables for the layout!) and pretty difficult to work with, so after a few months I lost interest.

Fast forward around 7 years and I wanted a career change so thought about what I would enjoy doing for 8 hours a day, and web development/design was my choice. I spent a few months learning the basics again and was lucky enough to get offered a front-end developer and designer role at a small agency, this gave me experience on a wide variety of websites from one page sites up to custom eCommerce solutions.

2 years later I got speaking with somebody who worked at Space 48, after visiting the office and meeting some other members of the team I was sure it’s the place for me. So with the help of Tony Brown I spent a few difficult months learning Magento and eventually got offered a job with Space 48. After spending some time with Magento I grew to be a big fan, and still am to this day!

TL:DR; I’ve been working with Magento for around 2.5 years, and I learned it so I could work at Space 48!

Arpatech: Ben, you are associated with Space 48. Please share your work experience as a front-end developer. Please shed some light on Best development practices as a Front-end developer.

Ben: I now enjoy working with the front-end of Magento, at first it was a huge pain and even simple tasks seemed overly complex but after gaining some experience across different projects it got much easier. It’s almost like you have to tame Magento, you have to show it some love, spend some time with it and after a while it starts to listen to you.

If I could go back to when I first started working with Magento I would tell myself to break it down into smaller chunks, so instead of diving in head first and being overwhelmed I could have concentrated on one area at a time such as layout XML, templates, the fallback mechanism etc.

My main tips:

  • Think before you code! For example – Plan out what layout blocks you need to edit/create, do you have all the assets/info you need, plan your file structure, could your changes affect other sections of the site?
  • Maintenance – One thing I have noticed with many Magento stores is they are not maintained, and I don’t just mean patches. The code you wrote 4 years ago is probably not so great now. Maybe you’ve dropped IE support, so remove the related code! (See Rebecca Troth’s talk about this)
  • Consistency – Be consistent across all your projects, if every project uses a different library or naming convention it makes life very difficult when you regularly jump between them.
  • CSS Specificity – My most hated thing as a front-end dev is overly specific CSS (nesting SCSS is a big cause of this), it can be very difficult to work with Magento’s themes because of this. But there’s no excuse when you’re building a new piece of functionality or building a theme from scratch! I’m a huge fan of the BEM naming syntax as it helps combat CSS specificity.
  • Don’t blindly follow Stack Overflow! I have seem some answers that overwrite core code get accepted, always think before you copy and paste.
  • Search for a class/ID instead of forever turning the template hints on.
  • Test, test, test, then test again. Never presume every browser and OS will handle your code the same.
  • Try PHP Storm + the Magicento plugin, this increased my productivity a large amount.

Arpatech: What is the best project you are engaged with or have done in your entire career? What are the challenges you faced and how did you tackle them?

Ben: The project I’m proudest to work on is CharlotteTilbury.com, mainly due to the rapid international expansion and the many awards the website has won. But on the flip side it’s also one of the most difficult projects I’ve worked on due to the extra stores and customizations, if you don’t plan new stores correctly it can get messy fast.

To tackle this it’s all about planning in advance, make sure your file structure and fallback mechanisms is working for you and not against you – duplicate code is the enemy of maintenance.

Arpatech: You are engaged with Magento conferences and meet-ups. What do you gain from these conferences?

Ben: I enjoy conferences because I usually leave them feeling extra motivated and ambitious, and as Jon Woodall would say the Magento community thrives on sharing knowledge.

I actually haven’t attended any Magento meetups yet, but I will likely start attending the Manchester one next year.

Arpatech: Do you recommend to attend such conferences? Will you be willing to attend more conferences in future?

Ben: I recommend everyone attends at least one conference, whether that be one related to work or a hobby. It’s great to speak to people with similar interests, the knowledge you can take from certain conferences can be so useful.

I will definitely be attending more, my favourite conference at the moment is Mage Titans, I’ve never seen a conference with such a great community feel.

Arpatech: What do clients have in mind when they hear you suggesting Magento to them? Being a Magento specialist/Developer what do you suggest to them? What myths do the clients usually come up with?

Ben: I don’t usually get involved with clients up until the website is being planned/built so luckily I can avoid having to convince people. If I was in that situation I would start by mentioning the large brands that use Magento, such as SEAT, Kurt Geiger, or Burger King.

Arpatech: Ben, being a Magento front-end developer, who are your inspirations in the Magento community? Please share some names to the readers who they can follow to learn more about Magento front and back end development.

Ben: I don’t  have many inspirations when it comes to the front-end of Magento as it’s pretty hard to find front-end developers who openly focus and share knowledge on Magento (if you know of any please do share!), I get the impression most are front-end developers who just happen to work with Magento.

In general, the Magento developers I follow the most are:

Outside of development (but still within Magento) I suggest:

Arpatech: Apart from work, I follow you on twitter and I found that you are an avid gamer. What games do you play? Do you like first person shooting games? What else do you do in your free time?

Ben: I go through stages with gaming, I usually alternate between competitive games such as Counter Strike/Dota/Battlefield and more casual games like Skyrim/Fallout/Overwatch/Civ 6. I’m really enjoying virtual reality at the moment, every time I go on the HTC Vive I’m left amazed. For the social gamers out there I recommend Insomnia Gaming Festival.

If I’m not tinkering with Magento or gaming I’m likely to be either relaxing or out with my girlfriend. I also follow British Touring Car Championship on and off and watch a few TV series (Breaking Bad, Power, Game of Thrones).

Mubashir Ahmed

Mubashir Ahmed

Magento Community Manager at Arpatech
Mubashir has served many clients in the domain of Web Development. He loves to work in Business Intelligence and Data-warehousing. He is engaged in latest eCommerce trends and also loves to Travel. You can follow him on Twitter @m_ahmdd or e.mail mubashir.ahmad[at]arpatech.com
Mubashir Ahmed