Go初心者たちが3カ月で主戦力に─Go未経験で「メルカリ アッテ」新機能を開発するまでの舞台裏

Goによる開発に力を入れるメルカリとソウゾウ。とりわけソウゾウはGoによる開発実績を積み上げ、その先進性を対外的にもアピールしている。
とはいえ、最初からエキスパートばかりがいたわけではない。Goは初心者だったエンジニアもスキルを磨き、短期間に戦力化している。そんな一人、八木達也氏の挑戦をたどる。

一度は本格的なeコマースを手がけてみたい

2015年秋にメルカリの戦略子会社としてスタートしたソウゾウ。設立当初、Goのエキスパートはほとんどいなかった。そこに同じくGo未経験で入社したサーバーサイドエンジニアの一人が八木達也氏だ。

「学生時代は学業のかたわら、個人事業主としてWeb開発を受託で受けていました。その頃はHTML、CSSのコーディングが主でしたね。Webプログラミングをがっちりやるようになったのは、前職からです。PHP、Rubyなどを使って、ガラケー向けのWebサービス開発を手がけ、最後の1年間はUnityを使ったゲームクライアントの開発にも携わりました」

株式会社ソウゾウ 八木達也氏
2016年4月入社。サーバーサイドエンジニアとして「メルカリ アッテ」の主要機能のAPI開発を担当。メルカリとアッテの連携をすすめる開発チームのプロジェクトオーナーを兼任。

もう少しゲームを作り続けたかった。だが、一度は本格的なeコマースを手がけてみたいという思いもあった。

そこで転職先の候補として挙がったのがメルカリだった。なかでもできたばかりのソウゾウという会社に惹かれた。

「メルカリが広く使われ始めた後に作られたグループ会社なので、ゼロからのスタートアップとは違う。とはいえ、新事業・新サービスを新しい技術でやろうとしている。きっとそこにはワクワクする環境があるんじゃないかと思ったんです」

メルカリ入社の当初からソウゾウへの出向を希望した。面接では「ソウゾウではGoなど新しい言語を覚えてもらうことになる」と言われたが、即座に「それがやりたいです」と答えた。

8,568通り、あなたはどのタイプ?

あえてGoを使うところに、会社としての技術先進性を感じた

前職でもGoで書かれた社内ツールがあって、八木氏も触れることはあった。

「比較的新しい言語で、シンプルだけど型があり、堅牢なコードが書ける。また、結果的にコード量も少なくなっている感覚もあります。このあたりが、流行りつつある理由なのかなという印象を受けました」

人気上昇中の言語に、業務で触れられるのならばこんないい環境はない。ただ、言語を勉強したり、ロジックを追いかけるのは好きだが、必ずしも自分は言語オタクというわけではない。

あくまで言語はツールにすぎないという考え方だ。PHPでなければ、Perlでなければ、という言語的なこだわりがもともと少なかったのだという。

だからこそ逆に、ソウゾウの新しい技術に挑戦する姿勢には好感を持った。

「ソウゾウは『メルカリ アッテ』という新しいサービスを展開しているのですが、もし安定と効率だけを求めるのなら、メルカリで使っていたPHPで書けばよい。それなのにあえてGoを使うというところに、会社としての面白さを感じたんです」

8,568通り、あなたはどのタイプ?

新機能実装を担当するまでに3カ月もかからなかった

ソウゾウ入社後は既存のコードのバグフィクスに着手。どんな言語でも本番のコードを見て覚えるのが一番早い。それを通して、言語仕様、文法、そして言語が生まれた背景やその思想を学ぶようになった。

「以前はなんでこういう書き方になっているのか戸惑うこともありましたが、次第に慣れていった。とりわけ、Goはインターフェイスがよくできている。そのおかげでシンプルに書ける。そういうシンプルな言語だけに学習コストは低いと思います。C#であれ、軽量プログラミング言語であれ、何か一つ二つ言語に慣れた人ならすぐに入っていける」

八木氏がGoで新機能の実装を担当するまでには、3カ月もかからなかった。周囲もみな、それぞれのバックグラウンドを活かしながら、新しい言語に挑戦する仲間たちだったことも幸いだった。

「Goのエバンジェリストして知られる上田(拓也)はまだ入社してなかった。(当時)マネージャーの鶴岡(達也)には教えてもらうことも多かったけど、ほとんどはみな独自に勉強して、わからないところをカバーしあうという感じ」

社内で毎週金曜日に開かれる「Go Friday」という勉強会は役に立った。

「Goを使っているサーバーサイドエンジニア7~8名でやっているものです。参加は強制じゃなくて、スライドも準備しない。Goの話が多いけど、それ以外の話題もOKというカジュアルなノリ。かえってそれが参加しやすい」

八木氏もトークしたことはあるが、その時の話題はGoではなく、ソウゾウが使っている”Google App Engine(GAE)でハマったこと”という話だった。

メルカリ アッテをメルカリ以上のサービスにしたい

入社まる1年を迎えて、最近はひたすらGoプログラミング漬けの日々。メルカリ アッテのサーバーサイドの機能をアップデートし、新機能を追加し続ける。

「最近はほんとGoしか触っていない感じですね。Goは書いていて気持ちがいいんです。それに、ソウゾウの社内の雰囲気が、時間の使い方が各自の裁量に任されるところが多くて、それが自分には合っているんですかね」と、Goだけでなく、ソウゾウのワークスタイル自体を気に入っている様子だ。

「ともかく、メルカリ アッテのサービスを、メルカリ並み、いやそれ以上に大きくすることに今は集中しています。頂上があるとすれば、まだ3合目ぐらいですからね。それができないと僕としては満足できない。そこまで行って初めてソウゾウの一員になった意味が出てくると思うんです」と、これからの抱負を語る。

先進技術への挑戦を会社全体がバックアップするソウゾウ。そんな環境で働きたいと考えるエンジニアが、読者の中にいるかもしれない。

「Go好きな人はもちろん大歓迎ですが、Goの経験度は実は問いません。それは、できる人ならすぐ覚えられるから。その一方で、Goは知らないけれども、新しいWebサービスを拡大したいという意欲がある人も是非来てほしい。技術とサービスが一体になって初めて事業の成功といえるわけですから」

執筆:広重隆樹 撮影:設楽政浩

※本記事は「CodeIQ MAGAZINE」掲載の記事を転載しております。

PC_goodpoint_banner2

Pagetop