I participated in different meetups and workshops. For example, we organized the Magento Developers Dublin meetup, where we could share our experience on a monthly basis. Also, I attended developers’ conferences related to the platform not only in Ireland. The number of such events proved that the Magento community was growing rapidly.
Yes, I moved to Ireland, and that’s where I had my first experience in migrating Magento 1.x.x based stores to the Magento 2.x.x. It was the earlier stage of the Magento 2 release, and we did not have the variety of extensions we have nowadays. So we had to cover business logic on our own and, I would say, it was challenging and exciting. The experience I obtained while being a part of the Magento core team really helped to deliver the required amount of automation in time with high quality.
From my point of view, both Open Source and its community are significant parts of software development. And, when I got a chance to work on the open-source project on a professional level, I decided that’s an excellent opportunity.
Hope you enjoy the series! In the next story, we will describe how the Community Engineering team was established, what challenges they meet in daily work, and how decisions are made. Stay tuned!
Exciting story: you were a part of the community and delivered a quality even before becoming a Magento Community Engineer. When did you decide to join the team, and what was your first project?
Thank you, Sergii for your time and story. You answered not only the questions about your personal experience but also described the community structure from the side which was known only for a small group of people working with Magento as core engineers. I would personally highlight three of them.
You have experience in both types of activity: the development of a framework and performing commercial projects. What is your experience in the Open Source contribution during both processes?
As a contributor and maintainer, I see the amount of work you have done within several years which significantly improved the final delivery, reduced the response time from your team. I am talking about the severity and priority, GitHub bot, our Slack channels. Great job!
The Community Engineering Team works on a variety of tools for automation. I feel this personally as a contributor and maintainer. The issue board became more structured with priority and severity sorting. The GitHub bot assistance without doubts makes things easier with tests – you can run your code changes on different add-ons of the mainline.
As far as I know, you moved to Ireland several years ago and worked on commercial projects. What kind of experience was that?
I think you were not alone with pull requests being postponed. In my opinion, this is exactly the reason why the Community Engineering team was established: active community required processing from the product side and the right choice is to provide it for enthusiasts.
The initiative of open-source volunteers providing their request changes and improvements to the Magento platform was a trigger for the Magento to allocate resources for the Community Engineering team. This team started their work several years ago, and its main responsibility is to help the community of enthusiasts along with improving the system.
Sergii, to describe the Magento community, we started a series of articles about people involved in it. Based on their stories, we explain its structure and decision-making process as well as to make it more open and transparent for everyone. We know about your intensive workload and really appreciate you dedicating the time to tell your story. When did you join the Magento project?
Yes, you are right. We have many tools for automation: from setting issue labels to running tests and final changes deployment. Without them, the whole delivery would not be possible. We create, maintain them by our team and also listen to the community, which suggests and helps a lot. All those changes cumulatively allow us to focus on the primary responsibility of the Community Engineering team – efficient communication with the community.
In a previous series article, The Maintainer’s Path – Interview with Vladimir Veselov, we shared the story of those who assist the Magento community from all over the world. These contributors provide expertise in reviewing other’s code and delivering their own code. We follow up this month with a story about the Community Engineering team. Our goal is to continually share unique Magento collaborations between eCommerce business and Magento Open Source. This combination of personal interests and professional goals is based, in large part, on individual passions and team-based enthusiasm to work across one another to tackle new horizons. The resulting effort helps to continually provide improvement and fixes, new direction and innovation, and an all-around stronger code base.
Do you benefit from the work you do in the scope of the Community Engineering?
One well-known contributor who helps lead this effort is Sergii Ivashenko, who works as a Magento Community Engineer.
I became a part of the Magento Core team in 2011 in Kyiv. My first year of engineering belongs to quality assurance and its automation. At the same time in the Magento, we had a trend for quality assurance becoming General Specialized Engineers: to be able to cover different aspects of the platform development and delivery. I had enough experience for this, and my transfer to the development team was smooth. During the next three years, I was involved in the Magento 2 development. I would say that I joined this process at an earlier stage.
My work with the community has a great plus: it requires a lot of communication with plenty of people with different views on the same things we are working on. It is exciting. For example, you analyze a code change from various aspects to select the most balanced one. If we talked about your question from the platform’s side, I would say that the feedback which the community provides through contributors and maintainers improves the whole infrastructure.
Did you contribute to the Magento at the time you worked on the commercial projects?
By the way, the delivery of changes is a separate process which is not just a simple merge to the codebase. It requires a list of complex actions to be taken in order to guarantee system stability.
You mentioned that you had focused on non-development contributions?
Based on my practical experience, I would say that working on the framework is completely different from business projects. The engineering of the framework is a complex, complicated activity that requires a lot of time. I did not have enough time to focus on the external contribution – all my focus was on the framework. While business project development also requires everything mentioned before but, as for me, it is easier to find time for the Open Source activity. This allowed me to accumulate time for contribution during my commercial work. I had my Open Source projects and, of course, delivered to other external projects.
From the eCommerce business perspective, a platform like Magento that invites code contribution only moves forward with the help and experience of thousands — in this case from across the Magento ecosystem. Contributors not only improve the tool they operate as part of their daily routines, but they also add to the general knowledge base provided by the platform team that continues to evolve and grow through feedback and assistance.
No, because the processing of the pull requests was completely different in comparison to what we have now. I opened several pull requests, but they had not been processed in a year, so I stopped contributing to the Magento codebase. Instead, I changed my focus to the media scope.
When I started working as a Community Engineer, my first focus was on the review of pull requests to the Magento 2 project and delivering them afterwards.
The team’s focus on the community feedback and assisting it through the technical and social activity keep the interest in the Magento project on a high level.
I think it’s impossible to manage such an amount of data getting from the community without process automation, isn’t it?