Speee DEVELOPER BLOG

Speee開発陣による技術情報発信ブログです。 メディア開発・運用、スマートフォンアプリ開発、Webマーケティング、アドテクなどで培った技術ノウハウを発信していきます!

Bit Journey社に留学してきました

こんにちは
UZOU事業部でエンジニアをしてます@hatappiです。

今回は僕が2016年の9月頃から約半年間株式会社ビットジャーニーさんに留学した時の話をしたいと思います。

留学の経緯

弊社は社内の技術力向上への取り組みとして、Rubyの開発に長けた協力会社の方や業務委託の方に現場の開発に入っていただいていたり、matzさんに技術顧問、そして今回の留学先であるビットジャーニー社代表の井原さんに開発部顧問、gfxさんに技術顧問として入っていただいています。
今回の留学はその技術力向上の施策の1つです。

留学といっても実際にビットジャーニー社で仕事をするのではなくgfxさんが弊社に常駐される日にあわせてリモートで一緒に開発を行いました。

留学内容

留学ではKibelaと呼ばれる情報共有ツールの開発を行いました。
主に開発したものは下のようなものです。

  • Reactを使用したviewの作成
  • Herokuによるレビュー環境の作成
  • インポーターの作成

これらを中の方にレビューしていただいたりgfxさんとペアプロをさせていただきながら開発を行いました。
もちろん開発を通して技術的なことを多く学んだのですが、今回はこんな技術を使ったよ!ではなく留学を通して今までやってきた開発の進め方などを見直す部分があったので、そちらにフォーカスしていきたいと思います。

やってみて思ったこと

Pull Request(PR)が丁寧

これは僕が留学した初日くらいに感じたことですが、PRの中身が分かりやすかったことです。
PRのディスクリプションには目的やったことが記載されており、ディスクリプションを見るだけでこのPRが何を解決するために出されたのか、それを実現するためにどんな変更をしたのかを知ることが出来きます。
さらにコード内で補足がいる部分についてはコメントもされてました。

この新しく入った人が分かりやすいPRになっているというのは重要なことだと思います。

今までの自分のPRを振り返ると、何を変更したかだけが記載されており目的が記載されていませんでした。
これは同じチームであれば変更を記載すれば背景は知っているだろうという認識でやっていたからです。
これだとレビュワー側はまずこのPRはなぜ出されたのかを考えないといけないのでレビューコストがあがってしまいます。
それからは第三者が見ても分かるようなPRを意識して出すようにしました。

この件に関しては下記のブログが参考になりました。
http://techlife.cookpad.com/entry/2015/03/30/174713 http://techlife.cookpad.com/entry/2016/08/17/111500

ユーザーとのコミュニケーションについて

私は今までは社内系のシステムを作成していたので、システムを使用するユーザーは全員顔の知っている人でしたがKibelaを通じて初めてtoCサービスに携わりました。
ユーザーからはKibelaの使い方から機能要望など様々な問い合わせがくるのですが、その時の要望についてユーザーが何を解決したいのかを聞いていたのが印象的でした。

これはtoCに限らずですが、要望はすべて受け入れることも出来ますが、プロダクトの思想から外れてしまうものが出来てしまう可能性もあります。
一方で仕様だから出来ませんと答えてしまうとユーザーからはそれ以上何も得られず終わってしまうのです。
これをユーザーから何を解決したいのかを聞くことで、別の解決方法などが見えてきます。

これはJob to be done(JTBD)と呼ばれ、よくマーケティング界隈で話として出てくるようです。
https://01booster.com/columns/blog/3918

アウトプット

情報を蓄積していくサービスだからというのもありますが、何かの意思決定や気付きなどが社内のKibelaに集約されており、開発を始める時に読むものやなぜこの技術選定をしたのかなどをKibela上からたどることが出来ました。
この1つのサービスに集約されているのは大切で何か困った時に探す時に役立つだけでなく、仮にそこになかった場合はすぐに直接聞くなどのアクションにエスカレーション出来ます。
これが色んな場所に分散しておいてあるとこの仕様はここに、図は別の場所になどに面倒なことになります。

週2の配分は大事

留学をはじめた頃は水、金で行っていたのですが、自社とのタスクを整理する難しさがありました。
やること自体はメモをしておくなどで整理が出来るのですが、自社と留学とで頭をスイッチしなければならないため、どうしてもスイッチングコストがかかってしまいました。
この解決はシンプルで木、金と連続した日にすることで解決しました。

最後に

一言で今回の留学を表すなら「楽しかった」です。
もちろん技術的な学びや今回書いたことのような気付きがあるのですが、大前提としてやって楽しいかどうかの感覚は大切だと思います。

留学を受け入れていただいたビットジャーニー社の方々には感謝しています。また今回留学することを承諾してくださった事業部の方にも感謝しています。
ありがとうございました。

留学は転職をせずとも自社と留学先と同時に2社比較し経験が出来る貴重な場なので広めていきたいです。