How I ended up touching Magento core

TL;DR: at the end of July 2017 I started contributing to Magento core by committing to the MSI-Project driven by the Magento Community Engineering Team. After one month I couldn’t be more happy to have joined the project; discover why by reading through my story.

The Magento 2 Multi-Source Inventory (MSI) Project is an evolution of Catalog Inventory module and was presented at the end of May during the Magento Contribution Day of Meet Magento Germany 2017.

Briefly speaking, it will be part of Magento Open Source (formerly known as Magento Community Edition) and will allow merchants to define multiple sources for their product stocks and assign them to different sales channels.

When I heard about the project I didn’t think anything of it because the organization of the upcoming Mage Titans Italy was absorbing all my energies. Once the event passed, I finally had a peek at the project; it was something that was screaming in my head because I just had to develop something similar for a customer of mine, but on Magento 1.

I took inspiration from the concepts of the MSI Project and developed my module in June. At the end of July, I felt the need to return the favor because, as I always say, being part of a community means giving back. I contacted the Project architect, Igor Miniailo, to attend one of their weekly meetings; he welcomed me warmly.

At that time, I didn’t think that I could write code for the project but the team gave me trust and asked me to work on Stock Reservations.

After only one month I had my code merged into Magento core.

Here are some of the reasons why I couldn’t be more happy to have joined the project and it was only one month ago:

  • I can finally touch Magento core :)
  • I can work with a distributed agile team.
  • I can discuss Magento 2 internals with some of the people that are developing the platform.
  • I have the chance to do pair programming with the team.
  • We develop automated tests and the team is supporting me on learning how to write better tests.
  • We have space for improvement; some concepts that we discussed and introduced are new to the platform, like for example:
    - read/write separation (CQRS)
    - pure domain models
    - builders
    - Multiple Save resource models
    - API and SPI segregation
  • One of the goals of MSI Project is that of becoming a reference module for other developers.
  • I’m learning a lot.
  • I had the pleasure to meet Valeriy Nayda and Ievgen Shakhsuvarov, members of the team, at the Magento Unconference 2017 in Utrecht; we discussed a lot about the Project and, in general, about Magento 2 evolution.

Do you want to know more details about the project? Start from the Project wiki and take a look at the recordings of our weekly meetings on YouTube.

Do you want to read what other members of the team think of the project? Read the article by Lars Roettig.

Do you want to join? Drop a line to engcom@magento.com, you will have a great opportunity to improve your Magento 2 skills, giving your contribution to an awesome community.

Side note: gone are the days when contributing to Magento core was challenging.

Magento 2 is a real open source project backed by a committed company and an incredibly open community.

There are a lot of opportunities to meet its team both online and offline.

If you are too shy to contact the company, don’t hesitate and get in touch with people from the community like me; as some online retailers claim: we are always open.