1
/
5

【Zehitomo】開発チーム解体新書 - #Marketplaceスタートアップ #MERNスタック #多国籍チーム

こんにちは!Zehitomoエンジニア採用担当のMoeです。

Zehitomoは 47都道府県の各地域に根差す大小様々なサービスと、地元の人々との出会いを叶える依頼マッチングプラットフォームを運営する、現在約90名規模のスタートアップです。

今回は、Zehitomoプロダクト開発チームについて、どのような技術スタックを使っているのか、どんなカルチャーの中でどんなメンバーが活躍しているのかなど、ざっくばらんにご紹介できればと思います!

エンジニア向けの少し専門的なお話も含まれていますが、開発チームについてもご紹介しているので、ぜひ非エンジニアの方も読んでみていただけたら嬉しいです。

どんなプロダクトを作っているのか

Zehitomoは、地域のありとあらゆるサービスの分野で、何かしらのニーズを持つ依頼主と、そのニーズに応じたサービスを提供する事業主、双方との出会いを叶えるマッチングプラットフォームサイトです。

https://www.zehitomo.com/

2017年にリリースされ、2年後の2019年には依頼総額100億円に届くサービスへと急拡大を実現しました。
今では、「水道工事」「パーソナルトレーニング」「便利屋」「司法書士」「出張シェフ」など、500種以上にのぼる多様なサービスに対応するプラットフォームへと育っています。

*** サービスについての詳細ストーリーはこちら >>

使用している技術スタック

Zehitomoでは 2021年11月現在、MERNスタック(*)をメインに、2週間スプリントのスクラム形式で開発を進めています。

(*) MERNスタック ...
MongoDB、Express、React、Nodeを用いたウェブ開発のこと。(語源は頭文字から)

使用しているメイン言語のほか、フレームワークやインフラ、CI/CD環境など、詳しい技術スタックを以下図にまとめてみました。
プロダクトリリースから早4年、レガシーになってきた箇所に少しずつ手をいれつつ、モダンなスタック・ツールを導入しながら、日々プロダクト改善と向き合っています。


現在のスタックにいたるまで

CEOジョーダンとCOOジェームズ、共同創立者の2人が若干名のエンジニア達と共に、当時”ザ・ガレージ”と呼んでいたジェームズのマンションの一角で開発をスタートした、2015年。

最初のMVP(Minimum Viable Product)*バージョンでは、バックエンドを構築せず、Firebaseを用いていました。

その後まもなくしてバックエンド実装が検討され、当時、Firebaseと似通ったインターフェースを持っていたデータベースであるMongoDBが最適な候補として選ばれ、実装されることに。

加えて、その前年あたりから注目を浴び始めていた JavascriptとMongoDBでウェブ開発を行うMEAN/MERNスタックが、弊社でも保守性・拡張性の点において当時のプロダクトに適しているとしてメインの技術スタックに選定され、今日のプロダクトの基盤となりました。

その後、モダンなフレームワーク/ツールの導入やCI/CD環境の整備など、様々な改善を重ねながらも、大部分がMERNで動いています。

*MVP(Minimum Viable Product)... サービスを提供するための必要最低限の機能をそなえたプロダクトのこと。一般的には「顧客価値があり、利益を生み出せる最小限のもの」と定義されている。


◎ MERN開発の特徴

Web開発というと既にRuby on railsが普及している日本では、どちらかと言えばマイナーなイメージのあるMERNスタック。

しかし、バックエンドを構築するNode.jsは、Javascript言語ながらサーバー上での実装が可能な利便性、また同時接続台数に影響されづらい高速な処理性能から、Walmart、NetFlix、LinkedIn、NASAといった著名な大規模サービスでも愛用されているまだまだ現役の言語です。

海外では開発コミュニティ・パッケージ公開が盛んな優良スタックである一方、国内ではネット上の参考事例が比較的少ないため、時には海外サイトで参考ソースや技術情報を調べるなど、自助努力が求められるスタックでもあります。

その他、MongoDBの性質上、集計処理にSQLという標準言語を用いれないなどといった制約もあるものの、Javascriptという開発人口が圧倒的に多い言語でバックエンドとフロントエンド両方の実装を完結させられるため、少ない開発者での素早い開発・実装が可能という点が息長く使われ続けている一因と言われています。

今後の技術的チャレンジ

スタートアップは、常に様々な面でリソースが不足している環境です。
そのため、より効率よく効果的な開発を行うべく、プライオリティを重視して、うまくプロダクトと付き合いながら改修していくことが求められます。

作っても直しても常に新しい開発・改善があり、またそのための大事な工具であるスタック・インフラ環境も、プロダクトの進化に応じてキャッチアップし続けていくことが重要です。

例えば、目下のところで言うと、上述したMongoDB上で課題となっている集計機能をBigQueryで集計できるように改修しているところです。

またフレームワークやインフラも、段々とレガシーな部分が生じてきているので、TechDebt(技術的負債)となってしまわないよう少しずつですが手を入れています。

今後のチャレンジとしては、DevOpsを導入してプロセスやインフラの見直しを積極的に行い、さらにリリースサイクルを加速させていきたいと思っています。

どんなチームで開発しているのか


6ヵ国17名程から成るグローバルなチームで、多様なスペシャリティとバックグラウンドを持つ精鋭メンバーが言語・文化・国境の壁を超えて日々活躍中です。

現在はエンジニアリングマネージャー1名が統括するフラットなチームで、新規事業(BizDev)、マーケティング、カスタマーサクセス、セールスなど他チームとの距離もとても近く、裁量権・スピード感をもって開発に取り組める環境です。

ミックスカルチャーの中での相互肯定・リスペクト、気兼ねしないコミュニケーションが浸透しており、それぞれが率先して教えあい、学びあいながら開発を進めています。



最近は漸くコロナが落ち着いてきて、新しいメンバーの歓迎ランチや小規模の社内イベントなども再開し始めたので、直接交流できる機会も増えてきました。

半面、コロナ禍での入国規制の関係で、未だ渡航できず、ハンガリー、ベトナム、オーストラリアから参画してくれているメンバーもいます。
国内にてリモートで働いているエンジニアもいますが、SlackやZoomでのオンラインコミュニケーションがオンタイム&活発で、何かに困っている人がいると必ず誰かが素早く助けてくれるため、自然と良いチームワークが維持されているようです。


◎ コミュニケーション言語

グローバル環境と言うと、「日本語/英語ってどれくらい必要ですか」と聞かれることがあります。

現在は、7割以上が外国籍、かつ半数以上が英語のみを話すメンバーという構成です。

ただ、決してネイティブ並のぺらぺらバイリンガルでなければいけないということはありません。
日本語でも英語でもベースとなるものは人間関係なので、「なんとかコミュニケーションを取ろう!という積極性とメンバーへのリスペクト、学ぶ努力」さえあれば成り立つものだと考えています。

開発言語どころかコミュニケーション言語のスキルアップも求められるZehitomoの開発チームがうまく回っているのは、日頃からメンバー全員がこういったことを大切に働いているからこそだと思っています。



実際の声として、まだチームが10人程度だった頃、(英語があまり得意でない状態で)外国人環境に飛び込んできてくださったパパさんエンジニア、Takanoriさんにお話を聞いてみました。
英語を使う開発環境が気になっている方の参考になれば幸いです。

***

ー「英語はコミュニケーションツールの一つ。覚悟と日々の挑戦さえあればなんとかなります。」

絶対に必要なものは、挨拶やお礼、日々良質なコミュニケーションを取ろうと挑戦する姿勢くらいかもしれません。
基本的には9割ほど英語を使って働いていますが、チャットメインなのでDeepL(*翻訳ツール)などを活用しています。
みんな優しいですし、日本語を学びたい・勉強中の外国人も多いので、日本語・英語が混ざったカタコトだって通じることもあります。
ミーティングでの発言や資料の説明など英語で話す場面もありますが、時折バイリンガルのメンバーに通訳してもらいながら進めています。
ただ、英語は居るだけで自然に身に付くものではないと分かったので、さすがに勉強を始めました。笑
英語もコミュニケーションツールの一つでしかないです。やる気と覚悟があれば何とでもなります。
語学に自信がなく迷っている方、ぜひ一歩踏み出して挑戦してみてほしいです。一緒に頑張りましょう!

まとめ - Zehitomoエンジニアとは

ポジティブ集団、スーパー職人部隊、自然な助け合い・相手への愛があるチーム。

表し方は様々ありますが、いい意味で完璧を求めない人や変化を楽しめる人が活躍しているように思います。

私たちの開発環境は、スタートアップらしく、まだまだ整備できていないところも沢山あり、これからも進化し続けていく必要があります。

ジェットコースターのような荒波の中で、多様な仲間と共に日々目まぐるしく(時に目を回しながらも)変化しつつ、より社会的インパクトのある、多くの人に喜んで使ってもらえるプロダクトを作り上げていく、そんな面白さがZehitomoエンジニアチームの魅力だと思っています。

今回は、Zehitomoのプロダクト開発チーム話、第一弾ということで、技術スタックやチームの様子などについてざっくりご紹介しました。

上記を通して、Zehitomoエンジニアチームに興味を持っていただけたら幸いです。

まだまだ書ききれなかった魅力についてはまた別途、開発/リリース話やエンジニアインタビューなどでご紹介できたらと思っています。

リクエストなどあればぜひ教えてください。またいいね♡やシェアも大歓迎です!

最後まで読んでくださりありがとうございました。

また第二弾、第三弾もお楽しみに!

Zehitomo's job postings
12 Likes
12 Likes

Weekly ranking

Show other rankings
If this story triggered your interest, go ahead and visit them to learn more