Mercari’s First Engineering Training for New Graduate PMs

日本語記事を読む

My name is yui_tang, and I used to be in charge of onboarding for engineers as part of Mercari’s Engineering Gateway Team.

Today I’ll be writing about a training presentation. This past June, we held a month-long Engineering Training course for 14 new-grad product managers (PMs) joining Mercari and Merpay. On this day, our PMs presented the results of what they learned through the training!

How and why did this training start?

The story goes back one month from the presentation: the beginning of June. The new-grad PM members started this training with a mix of confidence, uncertainty, and worry.

At Mercari and Merpay, the increase in new employees was causing an increased burden on the teams they joined, and it was becoming necessary for PMs to have a certain amount of web application development experience before being assigned to teams. Seeing this, we decided to hold a web application engineering training course for new-grad PMs, with the objective of helping PMs gain real engineering experience in order to work on the front lines.

Before this training, we held a Scrum Training in May. Thanks to experiencing real team-based development, there were some new-grad PMs who realized the need for improving their engineering knowledge. We could tell how positive and eager they were to take on this training course.

Determining the content of the training

This was the very first time the Mercari Group offered engineering training for new-grad PMs. This meant that we needed to create the entire training course from scratch. I was in charge of the training, so I first thought about the details and decided what to cover.

One thing to keep in mind is that all of the new-grad PMs had different experiences and backgrounds. Of course, there was a huge range of engineering knowledge and experience too. If we ran the training using mainly lectures, like a school, the new-grad PMs who had engineering experience would find it boring and a waste of time.

There are a lot of things that are better taught systematically. But in this engineering training course, we wanted new-grad PMs to actively learn engineering on their own as much as possible.

So what did the training actually cover? In this course, we set a goal for each participant to create a marketplace app, and did the following:

– The organizers prepared a skeleton app as a template
– Participants then used that as a base and worked on implementing the application
– In the process, the organizers did code reviews, and carried out hands-on sessions and workshops as necessary

The skeleton app we prepared was composed of the following tech stack:

– Docker, Docker Compose
– Node.js, Express, MySQL
– Vue.js

We also used some of the actual development processes that Mercari and Merpay development teams use, like the scrum development process using JIRA and the code review process using GitHub pull requests.

As preparation for the training course, we asked the new-grad PM members to start studying HTML, CSS, JavaScript, and SQL on the programming education site Progate before taking the course.

Watching the participants grow and learn by the day

That said, you need a wide range of knowledge to create a web application. You need to understand topics like Linux, HTTP communication, databases, security, UX, and more. As the participants worked through the challenges in the training course, the organizers gave advice as necessary. In order to actively learn the knowledge necessary to solve the problems they faced, the new-grad PMs used the advice from the organizers as hints and researched information on their own.

We also had enthusiastic support from the new-grad engineers entering the company at the same time as the new-grad PMs. The engineers gave advice in code reviews to help the PMs improve their code, and gave hands-on training to teach them how to use the libraries in JavaScript.

As the training went on, the participants actively shared knowledge among themselves, like documentation they found that was helpful in solving issues they faced and summaries of what they learned. The knowledge base that formed among the new-grad PMs really helped each member rapidly improve the quality of their work.

In particular, the biggest change that we noticed was how everyone improved their own individual development process.

In order to work in a development team, you need engineering knowledge, and you need to think about the overall progression of the project. In this training course, we also held retrospectives to deal with common mistakes that occur in the development and work process, like starting implementation before finalizing the specs, setting estimates before figuring out how to actually implement features, and realizing partway through development that your estimates were way off. By setting aside time for the participants to think about what they could do to make their work progress more smoothly if they were an engineer, we saw notable improvements in the development process every week.

Building the foundation for participants to become self-starting PMs

And now, we get back to the presentations I mentioned at the beginning.

Not all of the new-grad PMs were able to reach the level of completion we set as the goal, but all of them gained a lot of experience and knowledge—and the uncertain expressions we saw before the training started were completely gone.

On the day of the presentations, all of the new-grad PMs presented the applications they carefully designed, planned, and coded, as well as what they learned along the way. Some of them had entered the training one month prior with zero programming experience, but they were all full of confidence talking and giving demos of the applications they implemented by themselves.

When we held this training, we believed that as long as we set goals, provided opportunities for them to achieve those goals, and gave feedback on their actions, these members would be self-starters and proactively take those opportunities to grow. At the end, we felt that they achieved even more than we expected.

I learned many things over the course of the training myself, and had a lot of fun as one of the organizers.

To the new-grad members who finished their three months of training and were assigned to teams starting in July: It’s a little late, but once again, welcome to Mercari!!

Yui Sakamoto

Sakamoto is a software engineer in the Web Platform Team at Mercari. After joining Mercari in 2014, she was involved in development for both the Japan and US versions of Mercari. In 2018, she joined the Engineering Operations Team, which works to tackle challenges faced by the engineering organization, where she was in charge of recruiting and training software engineers and event management. She moved to the product development team in July 2019.

Related Links Check out these articles too!✨

Looking for something but don’t know what it’s called? Mercari’s image search feature is here to help

Mercari’s future as envisioned by CTO Namura: An organic and leadership-based organization

Don’t hold back, and say it out loud: Things an EM realized while parenting

Taking proper action: An iOS engineer promoting diversity

Creating a prototype of the Mercari app in English: Meet Daniel from our Mobile Team #WeMakeMercari

“Merpay Development Was Full of Firsts” – Engineering Managers Talk Behind-the-Scenes

Helping Mercari’s globalization as an engineering manager: Meet Matthew from the Mobile Team #WeMakeMercari

Migrating a live system to a microservice architecture: Meet backend tech lead Vijayender #WeMakeMercari

Follow us for updates!