vConnect Magento department manager Oleksandr Kravchuk has 6+ years of experience with Magento, during this time he has worked with many reputed organizations on multiple projects. In 2020, he was also the Magento Master and is a very active member of Magento community!
We’re thrilled Oleksandr sharing his journey, thoughts, and life as a Magento geek with us here. Strap in!
Cloudways: Tell us a bit about yourself and your career highlights!
Oleksandr: My name is Oleksandr Kravchuk. I’m originally from Ukraine, but due to the war which Russia had started in my country, I’m temporarily living in Bulgaria.
Anyway, I am excited to meet Cloudways’ readers and share my thoughts and experience!
My journey in IT started in 2013. Since 2015, I have been working with Magento. Most of the time I have worked as a Backend Developer and implemented a dozen different projects for merchants from the Middle East, Western Europe, and Scandinavian countries.
During these years, I realized that in addition to building technical solutions and integrations between systems, I also enjoy working with and inspiring people.
Since 2021, I’ve been working at vConnect.dk as Magento Department Manager to improve the development process, the technical quality of projects that we are taking care of for our beloved customers, as well as the professional capability of our people.
Besides that, in the Magento department, we worked on developing integrations of other company products with Magento 2 (e.g. vConnect Pick&Pack, vConnect Warehouse Management System).
I am happy with the work our team has done over the past year and believe that next year will be even more exciting.
Cloudways: How would you differentiate Magento with other ecommerce platforms? What was your basic reason behind choosing Magento?
Oleksandr: Well, here I could highlight a couple of points that make Magento unique.
First of all, Magento provides its clients with a massive set of built-in features to build their eCommerce website, and it incorporates merchants of different business sizes. Magento 2 is a kind of Swiss Army Knife – it most likely already has a tool to solve your problem or something that could be re-used to create a solution.
Secondly, Magento has a very strong community which provides additional benefits like:
- dozens of conferences and meet-ups every year all around the world, and other ways of knowledge exchange and networking;
- hundreds of specialized Adobe partners ready to help thousands of merchants with their business problems;
- thousands of extensions which could not only solve most common business issues, but also provide specialized integration with different services;
The popularity of the platform has another advantage: many international eCommerce infrastructure providers (e.g. payments, shipments, etc) have plug-and-play extensions for integration.
As for me, Magento became the primary eCommerce system which I dealt with in my first working place.
Later, I worked with many different frameworks and platforms, but if the conversation turns to eCommerce, 90% of the time it will be about Magento.
Cloudways: Can you please share some of your Magento achievements?
Oleksandr: First of all, I still enjoy working in eCommerce with Magento 2 after almost 7 years as a backend developer 🙂
Besides that, I contributed to the Magento 2 core codebase and Multi-Source Inventory repository.
In addition to writing code, I have also organised a group of enthusiasts who enjoyed contributing in the same way as I did. So we had a couple of Saturdays together in the office with beer and pizza, writing code to Magento 2 core, competing with each other, and having fun in general.
I am also a member of the Magento Community Maintainers group which used to review pull requests to Magento 2 codebase, and on-site assist and onboard new contributors on Magento Contribution Days (special events that follow most conferences/meet-ups all over the world).
My biggest contribution so far is participating in the development of the In-Store Pickup feature. I had dedicated a couple of publications and around a dozen speeches at different conferences and meetups to this topic.
Because of this, I was recognized as one of 50 contributors to Magento 2 in 2019 and named Magento Master Maker 2020. Of course, I cannot say that it was only my personal achievement as, frankly speaking, it would not be possible without a large number of great people in the Magento Community who inspired me and were always ready to help with any trouble.
Cloudways: Since you are leading the Magento development department, it would be great if you can shed some light on your typical workflows for Magento development?
Oleksandr: Yes, sure. I would cover the question from different sides, as “workflow” is a complex concept to walk through.
- At vConnect most of our projects pass the following chain of phases: Pre-sales, Discovery, Development, Go-Live, Post Live Support, and further Evolution.
- Starting from the Discovery phase, each project is assigned to the team.
- Our team structure is very common in the industry: each team at vConnect has such roles as Project Manager, Team Leader, Backend, Frontend, and Quality Assurance engineers.
- After finishing Discovery and agreeing on the initial development scope with a client, the Development phase begins.
- Usually, each team has only one project in the Development phase at a time.
- Each task during development passes the dev stage and staging environment, and is released to pre-live (or production).
- For local development, we prefer using Docker, based on the Warden solution.
- During the development phase the team uses Gitflow to work with code changes. It allows fast and painless deliverability in the phase where the project codebase is frequently being changed.
- For project management, we are practicing the Scrum methodology – not the orthodox version, which is too strict for us, but a modified one which we call “Common Sense Scrum”.
- Unfortunately, a theory is not always perfectly fitting in practice. In real life, it’s hard to follow Scrum principles while you are providing IT services for clients.
Sometimes, some clients would like to modify the current sprint backlog and change priority, or remove/add some tasks.
We always take into consideration added value for the client. If we see that changing our sprint plan is more efficient – we will do it.
- However, after going live, during the Evolution phase, such an approach causes technical challenges.
- To keep the process simple and allow flexible deliverability, we use a git-flow called “Deploy when done” (DWD). It allows us to build releases on-demand and keep git history clean by avoiding continuous changes.
- How do we define which git approach to use? It is simple – we base it on the project phase. If a project is still in Development – Gitflow, if the project went live – DWD.
For sure, I would not be able to cover all aspects and details of the workflow we are practicing at vConnect. But I guess it could be a nice topic for an article or a conference speech.
Cloudways: What tools do you use for backend development? What is an ideal toolkit for Magento frontend developers?
Oleksandr: For the last 2 years I have been working on a MacBook, so I would mention tools that are available for macOS.
Development environment: Docker. I have tried a few different configurations for Docker available in the community but liked Warden the most.
IDE: PHPStorm with Magento 2 official plugin.
Database Management Application: Sequel Ace.
Work with API: SoapUI for SOAP (yes, some systems are still using it), Postman for everything else.
Modeling: Draw.io for simple models, Visual Paradigm for something serious.
Application Performance Profiling: Blackfire.
This is my personal toolkit. At vConnect every team member is free to decide for their local environment.
Cloudways: How did your Magento developer certifications affect your skills and career?
Oleksandr: For me, certifications mean attaining a specific skill set.
My first Magento 2 certification was a Professional Developer (now it is an Adobe Certified Expert-Adobe Commerce Developer).
It was 2018, and the agency where I worked started to implement Magento 2 projects and I already had two M1 certifications. At that moment it was my personal challenge to prove that I knew the platform and to become the first developer in the agency with this kind of certification.
However, preparation for the exam allowed me to learn many new features and approaches which I hadn’t experienced before.
As a result, I became the second certified developer at the agency (one of my colleagues passed the exam 4 days earlier than me), improved my skills in Backend Development and (what I believe was the most important) amassed knowledge about the system.
Later, I decided to dive into the business part of eCommerce, and Business Practitioner certification was a nice final goal for this.
After a dozen hours spent preparing for the exam and then achieving the certification, I realized that I was more confident in discussions with clients. It became easier to explain technical parts to non-technical people.
At vConnect I passed Architect and Cloud exams with similar purposes – to systematize knowledge and have a proof of skillset.
If someone asked me if it was worth it to invest money and time, I would answer “Yes”.
Every certification benefits developers, their company, and their clients. Developers improve their skills, and the company receives more professional developers and could use their certificates in marketing, to demonstrate a high level of expertise to potential clients.
Clients and merchants both receive better quality of services while using information about agency certified developers to choose the right partner for their project.
Cloudways: Can you list some valuable resources that can be helpful for newbies to learn Magento development?
Oleksandr: To understand the Magento Frontend and how to work with it, I would recommend M.academy. There are also a couple of paid training courses for backend development essentials.
Beginner backend developers could find useful information on the Youtube channel of Max Pronko.
When I started to work with Magento 2, I frequently read Alan Storm’s blog. It seems abandoned now, but I am sure that his thoughts about the backend side of Magento 2 would be useful to many developers.
In case of certification preparation, I would definitely recommend Swift Otter.
A nice source for figuring out solutions for some specific technical problems is the Magento stack exchange.
Magento 2 has well-written documentation called Magento Dev Docs which is in process of migration to Adobe Developer.
The last one could be a little advanced for beginners, but it is a very powerful source of information and Magento 2 best practices.
Also, not really a resource, but the Magento Contribution program is an awesome way to learn Magento 2 with bringing a benefit to the ecosystem.
Magento 2 has open tickets on GitHub and could provide a real development experience with Magento 2, followed by discussions with the community, code review, and feedback from experts and would be much more efficient than creating a couple of training modules. And as a life hack, solutions for some Magento 2 bugs frequently appear in the repository earlier than in general release.
Cloudways: Please share your thoughts about the Magento community. How would you summarize the Magento community in one word?
Oleksandr: I have never thought about it before, but out of all possible words to describe Magento Community, I would choose “enthusiastic”.
It is hard to believe how people are ready to help each other, how some are spending dozens or even thousands of hours of their personal time contributing to Magento 2 Core, and how hundreds of people worldwide join Global Contribution days online and spend whole Saturday making bug fixes, how people all around the world fly to one place to visit a conference, meet each other and drink beer together.
Of course, it would not be possible without the role of the Magento organization in it. That’s where we owe the Magento Community Engineering team for their role in sorting out tickets on GitHub to arranging an incredible acceleration of the growth of the Magento Community.
Unfortunately, any community is about communication, and COVID-19 made us more isolated from interaction with others, which had an impact on the Magento Community as well.
Without offline events, personal meets and passionate discussions of technical topics over a glass of beer, the overall interest in Community became weaker.
However, we could see that the world is returning to the good old traditions of the pre-COVID times. Offline Meet Magento UK took place June 21, Meet Magento Singapore will happen in August, and Meet Magento New York in September offline as well.
I guess it should be considered as a good sign for the Magento Community and should lead to a new spin in its history.
Cloudways: Where do you see Magento in future? Any predictions for upcoming years?
Oleksandr: Not sure about the time frame, but definitely would tell you about a few trends which I currently observe.
Adobe would continue work on Magento 3.
We have recently heard the news about Magento 3 during the last few years. “Magento 3” is rather a working title, so I mean a new platform which is going to replace Adobe Commerce in future. I’m not sure that it will be released in the next year but I guess we could hope that more information will be available.
For now, we know that Magento 3 would be an example of micro-service architecture and would require cloud hosting (most likely it would be only Adobe Cloud) to work on. The way forward from Magento as a monolith architecture (as it is now) to a microservice would require significant work given the size of the Magento system.
We can conclude from last year’s conferences that the initial release would most likely provide an infrastructure for Magento 2 to work in the microservice approach.
It would represent a scheme of domains and endpoints which communicate with each other on Service Contract Layers, rather than on the code level. It would become a keypoint for domains decoupling from Monolith and replacing them with a separate application (aka services).
But as I mentioned before about my experiment with dependencies in Magento 2 Core, I would conclude that full transition could take a couple of years of refactoring.
Magento 2 Open Source would be more independent from Adobe.
Considering how activity decreased on Magento 2 GitHub repository, I would suggest Adobe might have already made a decision to say “goodbye” to Magento 2 Open Source.
I would not say that Magento is going into oblivion. But responsibility for Magento 2 Open Source fate would perhaps be switched from Adobe to Community itself. Moreover, I don’t think that Adobe will let the platform go free-floating and would definitely have a weight on future decisions related to it.
Fortunately, recent initiatives like Open Letter to Magento Community and organizations like Magento Association show that there are people who are ready to get this responsibility on their shoulders.
Over the last few years Magento 2 moved away from small merchants to the direction of B2B and big businesses. I believe it now has a chance to work in different segments: Open Source for small and medium businesses and Adobe Commerce for medium and large enterprises.
However, it would require Community to “lightweight” the platform for small merchants and Adobe to ‘slightly’ fix their price model, but this is a whole other story.
Sunset of Luma Theme
Unfortunately, the upgrade of Magento 2 is a nightmare for almost every merchant, because it will require investments of dozens or even hundreds of hours.
While Adobe is improving the Backward Compatibility of solutions by designing new tools to check it, real practice shows that almost 50% of the upgrade time is spent on fixing and refactoring Magento 2 frontend (especially if a project is using many 3’rd party modules). One of the key reasons for the problem is the complexity of the Magento 2 classic Frontend.
As a result, customizations of 3’rd party modules that customize the Magento 2 Luma theme would explode during even a minor upgrade (Magento 2.4.4 is a good example).
Nowadays Community has a couple of alternative solutions which help merchants save dozens of hours on Magento 2 frontend development.
At vConnect we are working with the Hyva theme as a universal solution for clients of different business sizes. It’s less complex and faster than Luma. And most importantly, our Frontend developers are happy to work with it and spend much less time on features implementation.
We have not tested it with Magento major upgrades yet, but so far, the technology looks very promising in implementation and during minor upgrades.
Another solution for Magento 2 is a Progressive Web Application. It allows us to completely forget about updating the built-in frontend, and focus only on service contracts and communication between the frontend application and Magento 2.
As examples of such solutions, I would highlight Adobe’s PWA studio and the Vue Storefront.
To sum it up, I would expect that in the next year the percentage of clients who use Luma may start decreasing.
Cloudways: And what are your views for Magento events? How important are these events for the growth of Magento?
Oleksandr: These events are very important to build a community spirit. They are places for good talks, personal meets, hot discussions, new acquaintances, and opportunities.
During the COVID-19 pandemic, the community hosted a couple of online conferences. They were really nice, with good content but it felt like watching football on TV instea of a stadium.
On one hand, events unite community members and agencies. On the other hand, it is used by merchants to find a partner or someone who could solve their business problems and provide IT services.
Personally, I like Magento events because of the ambiance of “innovations” which they create and the great people who you could meet there. They helped me to expand my professional network and meet people who helped and inspired me for future career growth.
Fortunately, we could see that more and more events are returning back offline, so I believe it is not the end of this story.
Cloudways: Can you please share a picture of your workplace?
Oleksandr: Yes, sure.
Unfortunately, I do not have photos of my working place in the office in Ukraine which I liked a lot.
So I will share my lovely place in the Bulgarian office. At vConnect we are following the concept of Agile Workplace and I really love this place with panoramic views on busy streets and mountains in Sofia.
Cloudways: How do you balance your work-life balance? Do you like sports, traveling, entertainment, or hanging out with friends and family?
Oleksandr: I try to have at least one day during the week when I do not think about work-related stuff. If I cannot arrange it for a couple of weeks, I try to shuffle my plans to make it possible.
A few years ago I did not see a problem spending weekends learning new technology or tools, contributing something to Magento 2 Core, or just getting through some courses on Coursera. But after living a few months at such a pace, you notice that you start to burn out and only vacation could help you.
Now I remember that period as jumping from one vacation to another. At some point I understood that sometimes taking a break is more productive than trying to overcome yourself.
Sport is a really good way to get rid of stress. I believe that after a stressful day nothing would help better than a couple of hours in the gym.
Books, movies, TV series, or video games could help to switch your attention and give a ‘short break’ from overthinking problems but I am trying to avoid doing it for more than a couple of hours, otherwise, you just become even more tired.
In the past, we had a tradition with my friends to meet and play some board games on weekends. Unfortunately, most of them are right now in Ukraine, but we found a couple of websites that allow you to play online, and we are still trying to keep the tradition alive.
I am confident that communication with other people is an efficient way to exchange ideas and although many jokes exist that most developers are sociopaths, people always need to talk with other people.
Usually, I travel every vacation. A couple of times I tried to live like in an advertisement for IT courses – working with a laptop on the beach, but found such an experience as negative, as it is almost impossible to stay focused on the work.
My passion is mountain climbing, especially 4k+. It helps you to fully focus on things that happen around you. Last year I climbed Ararat, and at the beginning of this year – Kilimanjaro.
Kilimanjaro is the reason why I am not stuck in Ukraine right now, as I was on mountain slopes when the war started. Now I am thinking that at that moment, pushing yourself beyond limits and extreme conditions helped me not go bananas by worrying about relatives and friends.
Cloudways: Every one of us likes to follow some influencers. From whom do you get inspiration?
Oleksandr: I would start with the Magento Community Engineering team who did a really huge job in forming Magento Community.
I was especially inspired by Eugene Shakhsuvarov while we worked together on building the In-Store Pickup feature. Overall, a ComEng member is a good example of people who combine not only high technical skills but also motivation and leadership abilities.
Igor Miniailo, Chief Architect, Commerce at Magento, an Adobe Company has inspired me to get into design concepts and approaches that I did not get a chance to work with. His influence on me during collaboration with In-Store Pickup development had a significant impact on my personal and career growth.
Slava Kravchuk, CEO of Atwix and Board Director at Magento Association is a person who achieved a fantastic work-life balance. While running his own Magento agency, in 2018 he had a journey across the whole of Africa: he completed a ride on the car from Khmelnytskyi, Ukraine to Cape Town, South Africa, and back. He has a Youtube channel about this trip called “Africa on Wheels” (with English subtitles).
I guess he became a Symbol for many community members showing that working at eCommerce does not stop you from having crazy travel experiences.
I have mentioned only my top 3 influencers, but the real list of who inspires me in Magento Community would be much longer.
Cloudways: Would you prefer shared hosting for Magento stores or a cloud hosting environment like Cloudways offers? I would like you to try Cloudways and share your honest feedback on this matter.
Oleksandr:I would say that shared hosting should be never used to run Magento 2 stores on production, as such an approach is unstable and can not guarantee a high availability rate.
At vConnect we are offering our clients dedicated servers for production hosting and using shared hosting for testing environments.
In addition, for clients who are using a multi-node setup, we also offer a failover plan, to keep the website working even if some of the nodes go physically or logically down.
However, dedicated hosting can not be affordable to every merchant. In some cases, it could be even a redundant solution. You would not buy a truck to drive to the office, would you?
In my personal opinion, Magento cloud hosting is a solution to outsource all your infrastructure problems to hosting experts like Cloudways and remain calm and confident. And this is not only related to merchants, but also to digital agencies, as today providing hosting services would be hard to name a profitable business without solid investments into it.
Need a Better Hosting Solution for Your Magento 2 Store?
Cloudways offers fast, superior, and cost-effective Magento 2 hosting so you can have a robust Magento 2 store.
So, better to focus on things that we are doing the best – solving business problems and using cloud solutions for infrastructure.
Thank you, I think we would definitely try Cloudways services and I’ll share our feedback with you.
Abdur Rahman
Abdur Rahman is the Magento whizz at Cloudways. He is growth ambitious, and aims to learn & share information about Ecommerce & Magento Development through practice and experimentation. He loves to travel and explore new ideas whenever he finds time. Get in touch with him at [email protected]