Some would say, The Magento community is one of the largest and most active e-commerce communities in the world. It unites engineers and business professionals across the globe. We start this series of articles on the Magento community focused on the inner workings of the community: maintainers, contributors and community engineers. Featuring stories from people who help build the community as we know it, we want to highlight the hidden aspects of the daily routine and make the Magento community even more transparent.
The Magento community structure looks pretty simple: it consists of contributors, maintainers and the Magento Community Engineering team.
Contributors provide new features, fixes and improvements for the existing functionality. The efforts provided by contributors result in the whole platform improvements, which lead Magento-based businesses to a new level of quality.
Maintainers assist the community with their expertise during the change process. Their role in the community delivery is to keep an eye on the quality of the provided improvements and how they correlate with the whole ecosystem. It is sophisticated work that requires not only technical analysis but also experience-based business domain knowledge. The Magento platform is not just a tool that provides several features for online sales, it is also business framework.
From my point of view, the Magento Community Engineering’s area of responsibility is to manage contributors and maintainers and to move the project forward in line with the vision of Magento, an Adobe company as well as to collaborate with the community, business and modern technologies. This will be highlighted in the coming articles, so no more spoilers.
The Maintainer’s Path
In this feature, we will talk about one of the first community maintainers – Vlad Veselov. This role plays an essential part in the delivery. Vlad’s expertise and the way he cares about the Magento project’s future is motivating to the entire community. He is energetic and structured. The combination of these qualities multiplied by his diverse projects expertise results in high-quality review and assistance. Let’s talk to Vlad and learn his history of the maintainer’s path.
Vlad, to start with, please describe your first step in the world of Magento-based e-commerce?
Sure! I was a part of the Magento team for four years in Kyiv. But before joining it, I worked as a software engineer on the project which didn’t have any correlation with e-commerce. Such a transfer required extensive technical knowledge, which I acquired by a lot of studying. So, I would say that my first experience in e-commerce was formed on Magento and remains helpful to me 10 years later.
You started a career in Kyiv office? How was it?
I joined the team in early 2011. I was responsible for the development of platform features and their improvements by managing reported issues. It was a superior experience. Before that I had never seen such a complex process where you can collaborate with engineers from all over the world as well as technical engineers in Kyiv. I can describe this period as “a time of changes”. The Magento platform became more complex with a lot of improvements in the delivery process, architecture and communication with the business side, which resulted in several important releases for the Magento 1.x version.
You mentioned, that this was a great time full of developments and releases. What else did you get out of it?
Hmm, that’s an interesting question! I would say that during this period I had a chance to work with top architects of the platform. The key to their greatness was not only in their engineering competence but also in the complex overview of things that make Magento business-friendly. Taking knowledge from them, multiplying it with my daily responsibilities and hunger for the experience, I grew in my skill of comprehensive problem analysis. What does this mean? For example, when you change the way the shipping is being processed in Magento, you are not allowed to manipulate with knowledge about this domain. This is the vital need to make the business process automated properly. Sometimes, I had to interact with some pull requests from other departments to implement this approach (a friendly laugh).
Oh, really? I know that you are the one who can suddenly appear with the community pull request review and ask for changes. Why do you do this?
Yes, it is true! (One more friendly laugh). It is a complicated question, and so is the answer. Since I was young, I was interested in science, and I firmly believe that things should be done properly to achieve the desired results. In the e-commerce world, it is crucial to follow the rule of balance between the technical side and business needs. So, when I see that something can be improved or can damage the system, I will suggest how to fix this in the form of a dialogue.
I see your point. But does that mean that you are familiar with every part of the system and can cover it with your expertise?
I would say no and yes at the same time. My expertise is based on the daily growth process. After 2014, I joined the commercial projects outside Magento company. I got a chance to improve a variety of business processes with the Magento platform and to extend my technical knowledge. This symbiosis allows me to cover more aspects of the platform.
To be honest, I never do a review of things where I don’t feel competent enough. This is the way a professional or scientist act.
Why do I review things? Because Magento is something like your brainchild. I like this project and put a lot of effort into it.
That is a great answer! Explaining this, you answered not only to my question but also described the basic rule of all Magneto Community maintainers’ behavior. Thank you.
What can you recommend to the contributors and maintainers of the Magento project?
It depends on the things you provide, I believe. For the community contributors, I can recommend focusing not only on the things directly described in the feature or bug report but also on the related business domains and how they interact with each other. And, of course, check the best practices described in the Magento technical guides and other technologies from the platform stack.
For the maintainers, I would suggest communicating with the contributors guild and Magento Community Engineering team more open and often. I know that this is hard and time-consuming, as all of us are volunteers, but this sounds like a way to improve the whole system.
Thank you, Vlad, for an opportunity to share your first-hand stories. I believe that this interview explained a bit more about the maintainer’s path, especially on how the decisions are made, the things they work on, and what are the requirements needed for this.
The next story from our cycle will be about the Magento Community Engineering team members and the work they do. Stay tuned!