Ruby on Rails
Going Global on Rails: Lessons Learned Taking Japan's Biggest Recipe Site International

Summarized using AI

Going Global on Rails: Lessons Learned Taking Japan's Biggest Recipe Site International

Miles Woodroffe • June 09, 2016 • Earth

The video titled "Going Global on Rails: Lessons Learned" presented by Miles Woodroffe at Rails Pacific 2016 delves into the experience of Cookpad, Japan's largest recipe site, as it expands internationally. Cookpad, which boasts around 50 million unique browsers per month, has a core mission to enhance people’s cooking experiences globally, having achieved significant user engagement primarily in Japan. This talk articulates the lessons learned while launching services in 30 new regions across 8 languages within just 12 months, supported by a diverse, globally distributed team across seven countries.

Key Points Discussed:

- Cookpad's Background:

- Established for nearly 18 years and primarily Japanese-centric, with 80% of usage from women aged 20 to 40 in Japan.

- Objective to internationalize and adapt the platform to cater to a global audience.

  • Global Expansion Strategy:

    • Acquisition of other recipe companies in countries like Spain, Indonesia, and Lebanon to create a more unified international service.
    • Gathering insights from local teams ensures a better understanding of regional cooking habits and challenges.
  • Communication & Development Tools:

    • Implementation of hypothesis-driven development to validate new ideas and improve the development process.
    • Use of automation tools like "PT Flow" to streamline development tasks such as branch creation in Git, saving vital time for developers.
    • Feature toggling to test new functionalities regionally before wider deployment, leveraging localized insights from teams.
  • Collaborative Process:

    • Features of a new project called "WIP link" facilitating early-stage feedback on ongoing projects to invite collaborative input before full-scale development.
    • A deployment communication tool helps keep all team members informed of updates and changes in real-time, fostering transparency and collaboration across global teams.
  • Challenges Faced:

    • Addressing language and cultural differences across regions, ensuring content relevance in varying Spanish-speaking countries, and adapting for right-to-left languages in Arabic-speaking regions.
    • Emphasizes the importance of having engineers embedded in different locales for better understanding and quicker iteration on user feedback.

Conclusion and Takeaways:

Woodroffe closed by sharing the successes and ongoing challenges faced during the international rollout of Cookpad. His experiences underline that while technology facilitates communication and development, the cultural nuances of different regions can significantly influence product strategy. Continuous engagement and adaptation are key takeaways that can help tech companies navigate the complexities of going global without losing sight of local consumer needs.

Going Global on Rails: Lessons Learned Taking Japan's Biggest Recipe Site International
Miles Woodroffe • June 09, 2016 • Earth

Going Global on Rails: Lessons Learned Taking Japan's Biggest Recipe Site International by Miles Woodroffe

Cookpad is Japan’s biggest recipe site - and one of the biggest Rails sites in the world - with 50M unique browsers per month. 80% of women in Japan between 20 and 40 use Cookpad!

This talk will cover lessons learned launching our service outside of Japan for the first time, to 30 new regions with 8 languages in 12 months, with a globally distributed team spread across 7 countries.

Help us caption & translate this video!

http://amara.org/v/LidY/

Rails Pacific 2016

00:00:13.670 I want to talk about going global on Rails and our experience with expanding beyond Japan in the last year.
00:00:16.289 My name is Miles, and that's me on Twitter, although I don't say anything very interesting there. You can also find me on GitHub, but I haven't published anything of note.
00:00:23.070 Originally, I'm from England, and listening to the panel discussion earlier made me realize how old I am. My first experience coding was back around 1980 when I was about eleven.
00:00:36.000 In those days, you'd buy a magazine filled with basic code and spend eight hours typing it out, only to see it print a simple circle at the end. That was my beginning.
00:00:50.220 I gathered my things and moved to San Francisco, where I started working for various startups. From there, I made my way to Japan, searching for interesting experiences and pictures.
00:01:06.720 I've been in Tokyo for about six years now, which is the longest I've worked anywhere. Our mission is very simple: to improve people's lives through cooking.
00:01:20.000 Cookpad is a very large service in Japan and has been running for 18 years, nearly since the pre-Google age. It's hard to believe that 80% of women aged 20 to 40 use it every month, which speaks volumes about its impact.
00:01:42.240 Despite its popularity, the platform is very Japan-centric, and few people outside Japan, myself included, can read any of the content. While it's remarkable for Japan, it doesn't resonate with audiences elsewhere.
00:01:56.070 We set out on a project to take what we've learned in Japan over the last 18 years and expand it internationally. We began by acquiring several recipe companies in Spain, Indonesia, and Lebanon with the aim of making cooking enjoyable for everyone around the world.
00:02:20.740 Gradually, over the past year, we have integrated these services, their content, and teams into a single platform called Cookpad. Now, we boast around 25 million unique users from various countries, all engaging in eight different languages.
00:02:38.590 We’ve created local teams in the regions we've acquired, but we also maintain a global development effort. Today, I want to discuss some of the challenges we've faced and the tools we've developed to overcome them.
00:02:50.980 This is our headquarters in Tokyo. We have accumulated a lot of experience in understanding how people cook in Japan, and we also have an office in Indonesia.
00:03:08.019 Having employees on the ground in different countries is crucial. Each region presents unique challenges, and it's far more effective to have engineers living and working closely with local families and communities to understand their needs.
00:03:31.180 For instance, in Jakarta, cell phone usage can be incredibly frustrating. Until I visited in person, I had no idea how challenging it could be. Experiencing these issues first-hand allows you to focus on solving the real problems.
00:03:52.280 In Spain, we encountered another fascinating challenge. Spanish is widely spoken across 21 countries, but each region has its own nuances. Therefore, the content offered in Spain may not resonate with audiences in Argentina or even Mexico.
00:04:12.650 We aimed to personalize our content to cater to different Spanish-speaking audiences, with team members in Spain and Mexico providing essential local insights. Similarly, in Lebanon, the right-to-left reading of Arabic added another layer of complexity.
00:04:35.390 It proved invaluable to have engineers on the ground to navigate these challenges. Collaboration between teams from different regions became vital in addressing these issues.
00:05:00.260 As we continued our work, we identified several workflows that began to emerge. I’d love to hear about anyone else's experiences. Here are a few things we’ve been working on.
00:05:22.140 First, we focused on validating our ideas. Everyone in the team has tons of ideas and thinks they understand the best approach. However, with a distributed team, clear communication becomes a challenge.
00:05:43.540 We needed to implement a process not only to generate ideas but also to facilitate validation of those ideas. We started using hypothesis-driven development, which assists in clearly defining our thinking.
00:06:06.930 This approach requires having one champion or point person to oversee each idea, as it can become overwhelming when you have multiple projects happening simultaneously.
00:06:20.090 Additionally, we focused on understanding the reasoning behind each idea. Knowing the story or rationale for a feature aids in making it more compelling.
00:06:37.620 Asking ourselves ‘What do we believe will happen?’ is a vital step in every proposal. Establishing measurable results helps us ascertain the success of each idea.
00:06:59.430 Despite how obvious this may seem, articulating and framing our hypotheses proved difficult, yet invaluable for ensuring effective communication and alignment across the teams.
00:07:16.370 Moving forward, we also learned that keeping everyone aligned and focused on common goals is essential, particularly not just for engineers but for all team members.
00:07:36.280 This is perhaps my favorite workflow. We organize our stories in Pivotal Tracker and automate various aspects of our workflow. Countless times I’ve caught myself wasting time deciding on titles for branches or stories.
00:07:57.100 This system automates those decisions from the command line. After we input all our stories into Pivotal Tracker, we simply type our command to start working on a chosen story.
00:08:20.380 The automation creates the branch based on the story title, enabling us to dive straight into development without unnecessary delays.
00:08:40.690 The third tool we implemented led us towards experimenting with simpler solutions. For example, after establishing regional hypotheses, we utilize feature toggles to test new features.
00:09:03.720 Using incrementally tested hypotheses allows us to determine the viability of features. If these features succeed, we move towards deploying them more broadly.
00:09:25.820 In preparing for our deployment processes, we found it essential to communicate effectively among the larger team spread across various time zones.
00:09:49.390 The challenge lies in ensuring that everyone is aware of new releases despite many team members not actively monitoring GitHub.
00:10:14.050 To address this, we set up a release channel where updates are shared immediately when a deployment occurs, highlighting what has changed since the last deployment.
00:10:34.670 This channel effectively reduces the manual effort required and ensures that all team members are informed of necessary updates, keeping us organized.
00:11:00.090 Every time we deploy, a record is created automatically on GitHub, making it easier to track changes over time.
00:11:19.210 These small details, while seemingly minor on their own, add up to significant time savings when you have large teams working in various locations.
00:11:39.630 At our core, we have around 100 engineers in Japan and additionally around 20 engineers across six or seven countries internationally.
00:11:58.800 We prioritize over-communication in a way that remains familiar and engaging, which is critical for our global work environment.
00:12:21.570 To conclude, the five processes we’ve adopted over the past year have greatly improved our productivity and organization.
00:12:40.509 I’m eager to hear about anyone else’s approaches, especially if they can relate to our circumstances.
00:13:00.770 I’d like to express gratitude to my team; despite the new and chaotic environment, their commitment has been remarkable.
00:13:25.280 Managing growth has been demanding, especially while trying to find great people who share our mission. We're aiming to build our Rails team across various platforms, including iOS and Android.
00:13:49.000 Our projects in machine learning have started gaining traction, particularly in image recognition, which can significantly aid us in our quest to improve accessibility for cooking and sharing recipes.
00:14:08.030 I’m excited about the potential developments on the horizon. If anyone has questions—whether about the topics covered or working and living in different environments—please feel free to ask.
00:14:27.350 Thank you for your attention, and I appreciate your support as we navigate our journey of international expansion.
Explore all talks recorded at Rails Pacific 2016
+9