Tim Bezhashvyly is a Magento certified developer with over 17 years of PHP and 7 years of Magento development experience. He is a reputable Software Engineer and Senior Magento Developer at 21sportsgroup. Tim possess great information regarding PHP and Magento and is an active member of Magento community. He also loves writing community extensions, publishing articles and speaking in conferences. Today, we got a chance to talk to him.
Arpatech: Tim, you have vast experience of more than 17 years in PHP development, how did you start you career with PHP? Did you face any problems at initial stage of your career? How did you overcome them?
Tim: Depends on definition of career. I started programming way before I was legally allowed to be professionally employed. I guess I was 12 when I started with Basic, then Pascal, Turbo Pascal, Delphi and ActionScript. At university we had a boring course of C++. On the 3rd grade of study, I started working for an agency providing a support of an SAP-like system. So this was my first “professional” experience. This company had quite a crappy website so they have decided that I had to rebuild it. By that time I was already fine with HTML and CSS and to complete the picture I started learning Perl. However this was the time decay of Perl begun and rise of PHP. So the decision was obvious.
Arpatech: Tim, you are certified Magento Developer with over 7 years of experience, you lead Magento team of 21sportsgroup. Please share your experience with Magento as a team lead.
Tim: When I’m asked about Magento, I love to quote my friend and colleague Fabian Blechschmidt: “When you start working with Magento you don’t get a thing and you hate it [Magento]. Then you start understanding something and you feel good. This short period of time you adore and praise Magento. Unfortunately this ends when you realize the problems of Magento design and the limitations it puts on you. Love ends here, and where love ends disgust starts.
It’s easy and fun to lead a team while you are in the second phase. You are excited and seeding your excitement around. It is hard however to promote Magento once you understand it is not just ignoring good practices but even prevents you from applying them. The main pain point here is a test driven development and unit testing in general.
Arpatech: Our audience is eager to know what issues you usually face as a developer. Please tell about some best practices a developer must follow.
Tim: As I already mentioned testing it very hard with Magento. And passing tests is the first principle of Kent Beck’s 4 rules of simple design. It’s also hard with Magento to keep up with (Uncle) Bob Martin’s SOLID principles as just a notion of protected methods is killing an idea of Open Closed Principle. Other principles are still possible to apply but when the framework itself in not following them it feels like fighting windmills.
Magento 2.x was a great opportunity of turning things into a right direction but unfortunately this chance was not used.
Please don’t get me wrong, I still think Magento is a viable piece of software. At least there’s no better alternative on the market yet. I just feel like all the love around it is a bit exaggerated.
Arpatech: Tim, you have contributed in Magento Community by writing community extension. Can you suggest a quick guide to newbie developer of Magento?
Tim: This is very easy if you would like to do it quick and dirty. In the beginning it even feels like Magento itself invites you to hack into the core classes by allowing just to copy them into a local scope and modify them there.
It’s getting tricky when you try to write extensions according to programming principles mentioned above. In my opinion the only possible way here is to write module as a standalone PHP library and then make a thin layer which will connect it to Magento. This will give you an opportunity to start with tests, keep your own structure and so on. This connectivity layer will definitely be ugly but at least you will keep those bad things isolated. When you can not solve the problem, control it.
Regarding tutorials of this approach the first thing that comes to mind is the presentation by Vinai Kopp at Mage Titans back in 2014.
Arpatech: Let’s get back to your company, 21sportsgroup. What is the best project you have worked on so far? Did you face any difficulty in managing it? If yes, how did you overcome it?
Tim: The main project is a company web shop based on Magento Enterprise Edition. The difficulties we faced were balance between server response time and data consistency. With Magento full page cache enabled data immediately became outdated and without cache the performance degradation was overwhelming.
Unfortunately this is the problem most Magento-based shops of enterprise level are facing.
After trying various things and advising with other specialists and consulting companies the decision has been made to replace Magento catalog completely. This is how Lizards & Pumpkins community project has been born.
Arpatech: Tim you are an enthusiastic developer, how do you manage to stay updated with the community? Which platform you generally use for sharing knowledge and getting in touch with the community?
Tim: For getting Magento news online I’m using Twitter. You will get my recommendation of people to follow in the next section.
Besides of Twitter I would definitely recommend to meet community online. Here Thomas Fleck, Thomas Goletz and other members of Meet Magento Association made a great work of organizing series of regular events all around the globe. There are also regular Magento Unconferences in Germany and now also in Netherlands. I love those even more.
Arpatech: You are an active member in Magento Community and have a good circle of friends and colleagues. Can you name some enthusiastic who you personally follow? Please tell our readers about the best way to interact with the community?
Tim: Definitely follow Vinai Kopp and Ben Marks. If you want lots of Magento love and unicorns mind following Phil Jackson and Kalen Jordan. For some healthy portion of criticism I recommend following Cyrill Schumacher.
Among others: Sylvain Raye, Anna Voelkl, David Manners, Bastian Ike, James Cowie, Fabrizio Branca and Fabian Blechschmidt (but you will have to filter out his non-programming tweets).
Sorry to whom I forgot, I love you all.
Arpatech: There are many good sources of learning and getting started with Magento. Can you suggest a newbie developer on how to start learning Magento. Is there any good source you would like to share with them?
Tim: Get Grokking Magento book by Vinai Kopp.
Arpatech: Let’s talk something out of your professional career. How do you spend your free time? Do you love any sports, traveling, reading books or just a peaceful sleep 🙂
Tim: I’m writing poems, playing in a punk band, acting in movies and participating gay orgies. Unfortunately I’m a same boring geek as most of you.