Everything You Wanted to Know About “DevDojo,” Mercari’s Two-Month Skills Improvement Tech Training for New Graduate Engineers
Hi, I’m @yuki.t from the Engineering Office Team. We’re in charge of supporting the training and development of new graduate engineers at Mercari.
New graduates join Mercari twice a year, in April and October. Most of the new graduates who join in October are foreign nationals who have graduated from schools overseas.
For each intake, we arrange training according to the new graduate members’ skills, backgrounds, and the needs of the teams they are joining. By using this training to teach new graduates the additional skills they will need at Mercari, we help them contribute to their assigned teams quicker. Part of that includes our tech training “DevDojo,” which aims to improve new graduates’ technical skills according to their current capabilities and experience, as well as lighten the load teams face in welcoming these new members.
In this Mercan, join us for a full tour of the DevDojo program we held for new graduate engineers over two months starting in October 2019!
Designing a Program Based on New Graduates’ Skills & Experience
In designing this training program, the Engineering Office started by listing up the common skills and experiences of the new graduates who would participate.
Ex)– They have base-level computer science knowledge.- They have knowledge, but many do not have actual experience in project development, etc.- For most members, this is their first time working at a Japanese company.
In creating that profile, we also found that in addition to the above, few members had experience developing as part of a team or larger organization. This is why we chose the following structure for our DevDojo program.
For fundamental training, we started by providing a lecture and hands-on training module covering the tools and architecture necessary for development. We then had participants split into teams for the second half of the training, to try their hands at actual development. We also supported the new graduate engineers during the training period by having mentors hold regular one-on-one meetings with participants. Other engineers in the company, starting with members of the Engineering Office Team, were asked to mentor the new grads. In the one-on-one meetings, mentors thought together with members about their future, what kind of skills they would need (both technical and soft skills), and how they could improve those skills, giving members advice going forward. We also conducted a survey after each lecture to gauge how satisfied members were with the training and confirm how much they understood. This helped us not only improve the lectures, but also consider ways to follow up on the training, according to how well the content was understood.
Our Two-Month Program is Finalized!
Together with coding boot camp Code Chrysalis, we thought about what specific content we could offer based on the overall design. Our main reason for partnering with Code Chrysalis was so that the training program could focus on team communication, thereby addressing the lack of team/organization-based development experience. The training schedule looked like this: – Weeks 1&2: Fundamental Training (by Code Chrysalis)- Weeks 3&4: Mercari Tech Training- Weeks 5&6: Project Training (by Code Chrysalis)You can find a description of each module below.
Weeks 1&2: Fundamental Training (by Code Chrysalis)
Focuses on communication and knowledge required for an engineer. We decided to use Go as the programming language for the second half’s hands-on team dev project, so we also used this module to teach members Go fundamentals. The content wasn’t just lectures; members were able to gain hands-on experience as well. We held activities like a Lightning Talk and marshmallow tower building exercise in-between lectures and had them speak up to share opinions and experience the agile improvement cycle firsthand.
– Pair Programming
– TDD (Go)
– How to Give Code Reviews
– Giving Feedback Lecture
– Securing Endpoints
– Product Management for Engineers
Weeks 3&4: Mercari Tech Training
For this training, we had each dev team at Mercari prepare the training contents, in order to get participants to understand Mercari’s tech stack and further expand members’ technical range. This is the same training we held for new graduates in April. Visit this blog for a detailed description of the training module.
Rather than hold the Tech Training all at once with everyone, we came up with a way to allow members to study on their own during the training period instead. We called it “Ramp-Up Training.” In short, we made a list of courses on Udemy and Coursera that teach the skills engineers need to learn, with members free to take those courses at their own pace. Members were also free to take courses that were not on the list.
Weeks 5&6: Project Training (by Code Chrysalis)
This module is for learning about Mercari’s development process and approach so that members can make a smooth transition into working at Mercari. Members start by creating teams, coming up with project ideas, and preparing an MVP (Minimum Viable Product). After each team has created their MVP, we shuffle the projects and the teams and have members continue feature development from there. This allows them to experience a mock version of what actually happens in dev teams at Mercari, where members may be assigned to an already released product mid-development.
But What Do the New Graduate Engineers Think?
On the final day, each team presents their project and explains how they grappled with the challenges and what new ideas they tried to implement. Here are a few thoughts from new graduate engineers following the training:
Many participants wished that there was more tech training, however. We designed and held this training based on new graduate engineers’ skills and experience, and the needs of the teams to which they had been assigned. We think that next time, however, we would like to arrange the program to more accurately reflect actual conditions, such as by increasing the proportion of technical training involved. This is why we plan to hold interviews with the teams to which these new graduate engineers have been assigned, so we can hear from them about what they think needs to be included in future training.
Although the training was a grueling two months, the new graduate engineers rose to the challenge, throwing themselves into learning and staying motivated. It was clear that everyone was doing their best to keep an open mind and absorb the huge swaths of information presented. We hope that each of these new engineers will continue to keep an open mind and grow into a pillar supporting Mercari Group in the future. For new-grads Although it was a long training period of about 2 months, the new-grad members have a strong desire to learn and I think that they attended the training with high motivation. I have the impression that the contents of the training were assimilated very well. I hope that our new-grads will continue to grow and become a pillar supporting Mercari in the future. Our new grad training can only be held thanks to the cooperation of our engineers and countless others. It goes without saying that these members are busy with their own work, and it’s not easy for them to take time to help with this training. However, we believe that if you are going to build a strong dev organization, you need to create an environment where engineers can continue to grow. We fully believe that stronger dev organizations are one of the elements necessary to create a superior product, and we will continue searching for ways to continue strengthening our teams going forward.