Vue.js、Go、Kotlinのエキスパートが集結!シェアフル社が迎え入れた技術顧問3名とCIOの対談

シェアフル株式会社では、翁さん(@kahirokunn)、上田さん(@tenntenn)、長澤さん(@taro.nagasawa)が3月5日(木)に正式に技術顧問として就任されました。今回はその3名とCIOの松尾さんによる対談を実施。Vue.js、Go、Kotlinのエキスパートたちが技術顧問としてジョインするまでの経緯やチームへの関わり方、著名なスペシャリスト3名が社内のメンバーにどのような変化を生んだのかといったことを語り合っていただきました。

シェアフル株式会社のプレスリリースはこちら 短時間のお仕事紹介プラットフォーム「シェアフル」翁 華宏氏、上田 拓也氏、長澤 太郎氏が技術顧問に就任

組織として新たな領域へ踏み出したい!技術顧問が持つ経験・知見を頼りにできる環境を社内に

―― 本日は、シェアフル株式会社のCIOの松尾さんと新たに技術顧問として就任されたVue.js、Kotlin、Goの技術顧問の対談をお届けできればと思います。よろしくお願い申し上げます! まず、最初にシェアフルさんはなぜ技術顧問を迎え入れたのでしょうか?背景を教えていただけますか?

松尾健司さん(以下、松尾):シェアフル株式会社のCIOの松尾です。技術顧問のみなさんは各々顔を合わせるのは今日が初めてになります。(笑)どうぞよろしくお願いします。 まず、みなさんを技術顧問として迎え入れた背景は、弊社のエンジニア組織として、フロントサイドではReact NativeやNuxtを使ったり、サーバーサイドでKotlinやGoを使ったりと、これまでチャレンジしたことがない新しい領域へ踏み出したかったためです。 従来、シェアフルのエンジニアメンバーはフリーランス方が多く、サーバーサイドKotlinやGoでサービスを作った経験があまりありませんでした。そんな中「新しい仕組みを作るぞ!」と言ってもみんな不安ですよね。そこにきちんと経験値・知見を持っている顧問を入れることが解決策になるのではと思いました。 あとはエンジニアメンバー全体のモチベーション向上もあります。「誰と一緒に働けるか」というのはエンジニアにとって結構重要なポイントだと思っているので、各チームの著名な方と働くことができる事は、モチベーションアップもつながるかなと思いました。当初はみなさんに各チームのスペシャリストとして参画いただいていたんですが、この3月に正式に技術顧問として就任いただくことになりました。

シェアフル技術顧問 写真左側:シェアフル株式会社CIOの松尾さん 右側:Vue.jsの技術顧問として参画された翁さん

―― では、技術顧問のみなさんの自己紹介をお願いします。

長澤 太郎さん(以下、長澤):

長澤 太郎さん

長澤です。私はUbie株式会社という医療系サービスの会社に務めていて、サーバーサイドエンジニアとしてKotlinを使っています。シェアフルさんでもサーバーサイドKotlinでお手伝いをさせてもらっています。

 

上田 拓也さん(以下、上田):

上田 拓也さん

上田です。私はメルカリ株式会社/メルペイ株式会社に所属していて、サーバーサイドエンジニアとしてGoをやっています。Twitterは「tenntenn」というアカウント名です。

翁 華宏さん(以下、翁):

翁 華宏さん

翁です。私はシェアフルさんではVue.jsのお手伝いをしています。現在はフリーランスで、他社でもVue.js, ReactやgRPC等の分野でお手伝いをしています。

 

―― みなさんはどのような経緯で技術顧問としてジョインすることになったのでしょうか?

松尾:最初にお声がけしたのは翁さんですね。社内にいたメンバーがJavaScriptのイベントで出会って紹介してもらったのがきっかけです。私自身の今まで、サーバーサイドやインフラやセキュリティ分野に主に携わっておりフロントサイドの知見があまりなかったので、その分野で良い人がいるならぜひ…ということでお誘いしました。

翁:懐かしいですね(しみじみ)。私は割と早い段階からVue.jsを触っていて、TypeScriptなどの各種アーキテクチャとの相性や開発体験がある程度わかっていました。シェアフルさんのプロダクトはNuxtのモノレポで構成されていて技術的に面白い内容だなと感じました。メンバーもすごく優秀で、社会的にインパクトがありそうなサービスだと感じたのでジョインしました。

松尾:次にお誘いしたのは上田さんです。シェアフルのサーバーサイドはGoで書いていたのですが、GoのWebアプリケーションを本番運用した経験があるメンバーがいなかったので、サービスを運用していく上で一度知見のある方にレビューをしていただきたいと思っていました。そこで頭に思い浮かんだのが上田さんだったんです。Twitter経由ですぐに連絡しました。快く承諾いただいてありがたかったです。

上田:松尾さんとはもともとgolang.tokyoというコミュニティでお会いしていて、つながりはあったんですよね。まだ副業などはしていない時期だったこともあり、シェアフルさんのサービス内容を聞いて面白そうだなと思って引き受けることにしました。

松尾:長澤さんと付き合いを持たせていただくのが実は一番大変でした(笑)サーバーサイドKotlinを本番運用した事がある方とのコネクションが全くなかったんですよね..サーバーサイドKotlinもGoと同じく本番運用の経験があるメンバーがいなかった状況でとても困っておりあらゆる手段を使って著名な方を探しました。その中でたまたま長澤さんとつながりのある知人がいたんです。長澤さんのお話を聞いてすぐにお声がけしました。

長澤:企業でのサーバーサイドKotlinの目立つような事例はいくつかあるものの、これからも増え続けると思います。私はKotlinのエバンジェリストを名乗っているので、コードレビューなどのちょっとしたことでもお手伝いをして、日本のサーバーサイドKotlinをちゃんと盛り上げていきたいぞという気持ちでジョインしました。ちょっと言い過ぎかもしれませんが(笑)。

写真左側:Kotlinの技術顧問として参画された長澤さん 右側:Goの技術顧問として参画された上田さん

各チームの文化に合わせコードレビューから社内勉強会まで幅広くサポートを

―― みなさんのシェアフルさんでの技術顧問としての働き方についてお伺いしたいと思います。社内のエンジニアメンバーをサポートする上で業務への関わり方や稼働時間はどう工夫されていらっしゃるかを教えてください。

翁:シェアフルさんでは自分で機能実装するというよりは、サポートにまわることが多く、月に3日分のボリュームの仕事をしています。 シェアフルさんにジョインした当初はNuxtのコードを見てレビューしたり、メンテナンスし易いコンポーネントの書き方を教えたりしていました。数ヶ月は継続的にドキュメントを作成したり、リファクタリングをして、ソースコードのクオリティを高める業務をしていました。 アーキテクチャに関しては、最近だとクリーンアーキテクチャやDDD、アトミックデザインなどがよく話題に上がると思うのですが、最新トレンドが全てシェアフルさんに適応するとは限らないので、本当に必要な要素、テクニックだけを開発に反映させることもしました。テスト環境の構築もありますね。メンバーの生産性を高め、機会損失を減らすことが自分の役割かなと思っています。

上田:私も最初の頃は翁さんのようにレビューをしていましたが、最近は社内で勉強会を開いてGoの基礎から教えたり、知見を共有する機会を作ったりして、稼働時間も翁さんと同じくらいですね。直接的に自分で開発をするというよりはサポート側で、コードの品質をどう高めることができるかを考えていますね。全国で開催されているGoコミュニティの勉強会を紹介したりもしています。

長澤:私の場合は最初はコードレビューをやっていました。コードベース全体を読んで気になるところを更新していくというスタイルでしたね。観点としてはKotlinらしさがあるかどうか。単に移植したようなコードがあればもっと便利に書けますよ、といった指摘をしていました。稼働時間で換算するとすごく短いですね。 最近はコードレビュー自体は減ってきていて、定期的に相談会を実施しています。オンライン会議でメンバーが事前に考えてくれた質問に対して答えていく、という内容です。

―― みなさんは技術顧問としてサポートしているチームが異なりますが、それぞれチームの特徴はあるのでしょうか。

松尾:チームによって特徴があります。Kotlinのチームは人数が少ないので、オンラインで対面して質問できる相談会という場を作りました。Goやフロントサイドは人数も多いのでslackでのやりとりが多いです。特にフロントサイドはslack場での会話が盛んな気がします。オンラインであれ、slackであれ各メンバーが質問しやすい環境を作る事が大切だと思いました。

翁:フロントサイドはライブラリのバージョンアップも早いですからね。メジャーバージョンアップもマイナーバージョンアップも半年と言わず四半期に一回くらいのタイミングで行われます。バージョンを2つ上げた場合、その時点でほとんど動きません。

上田:Goに関しては言語に疑問点などある際にはきちんと質問をしてくれていますよ。Slack上でもありますし。

長澤:Kotlinは松尾さんがおっしゃった通りSlackでの質問は来ないのですが、相談会を実施したときにメンバーに用意してもらっていたトピックが良い観点で、もっと学びたいという好奇心を感じました。

松尾:シェアフルのメンバーはわからない点も自分で解決しようと勉強したり調べたりして解消するような努力家が多いとは思いますね。メンバーの性格もあるとは思いますが、エンジニアとしてこれまで経験してきた働き方にも影響する気がします。

上田:フリーランスの人が多いのもありますよね。

―― それぞれのチームにやはり特徴があるんですね。技術顧問のお仕事は、チームのメンバーの状況に合わせて、柔軟に対応することが必要になるということを学ばせていただきました。ありがとうございます。

社内で情報交換が活発化。技術顧問を目指したいと考えるようになったメンバーも

―― それでは次の質問ですが、みなさんがジョインしたことで、チームに良い影響を与えられたエピソードがあれば教えてください。

上田:私が勉強会の情報をシェアしたら、Goのメンバーが初めてコミュニティに登壇してくれたことがありました。おそらく、これまで勉強会は参加する側で自分が登壇するという意識がなかったのだと思うのですが、一度登壇してみると、結構心理的に変わる部分があるので手を挙げてもらえて良かったです。

長澤:Kotlinのチームも段々情報感度は上がってきたなと感じます。どのOSSのコードを読んでいるだとか、どんな本を読んでいるのかといった話もメンバーから聞くようになりました。

松尾:長澤さんが本を出していますし、その影響で「自分も」と思うところがあるんじゃないかなと感じますよ。

長澤:あったらうれしいですね(笑)。

翁:私もメンバーが技術への感度が高くなったなと思うエピソードがありました。私の方でNuxt.jsが2ヶ月後にメジャーバージョンアップするけど大丈夫?と発信していたんですが、正式リリースされた直後にもうシェアフルさんの方でバージョンアップしていましてキャッチアップが早いな、と感じました。

―― ここで、事前にシェアフルさんのエンジニアメンバーに答えていただいた、技術顧問のみなさんに関する社内アンケート結果をみなさんと閲覧したいと思います。

全員:おお~!安心して確認できる結果でよかった(笑)。

松尾:3分の1のメンバーが社外交流会に積極的に参加したいということですが、もともとシェアフルのメンバーには相談会に登壇するような人は少なかったんですよ。そういう意味では技術顧問として、みなさんにジョインいただいたことで、大きな影響があったのかなと思いますね。 あとは技術顧問を目指したいエンジニアがいるのも非常にうれしいです。

技術顧問としての働き方は本業にプラスの影響を与えることも

―― シェアフルさんのメンバーにも注目されている技術顧問という働き方ですが、技術顧問ならではのやりがいや喜びはどんなことですか?

上田:技術顧問として企業にジョインする面白さは、まず本業では携わる機会のないコードや技術、組織の流儀、業界の特性などに触れられることですね。シェアフルさんの場合だとフリーランスの方が多いので、正社員としてエンジニアを抱えているような企業とは全く違っていて、自分の経験や知見のどういった部分を切り出せばよいのかを日々考えているので、勉強になります。

長澤:私も自分の知見を広められることに喜びを感じますね、自分がナチュラルに実行していたKotlinの書き方というものがあるのですが、自分の書き方を適応できないプロジェクトに対してアドバイスができると、すごく役立っているなとも感じます。自分では気づかないような落とし穴を発見することもありますし。

上田:それは私もありますね。

翁:一般的にはエンジニアメンバーは正社員でいる場合が多いので、自分たちが担当しているプロジェクトのアーキテクチャやドメインに対する感度が高いんですよね。一方、シェアフルさんは非常にメンバーの流動性が高いし、メンバー1名1名の月あたりのコミット量もまばらで少ない方も多いので、最新のモデルをじっくり時間をかけて把握することができません。それだけで稼働時間を使い切ってしまいますから。なので、できるだけシンプルに、自分がやるべきポイントに集中してやれるようなシンプルな、必要最低限でわかりやすい構造や仕組みを作るのですが、それが結構楽しいです。シェアフルさんだからこそできる取り組みだと思います。

技術顧問として活躍するためにはアウトプットの場づくりが必須

―― 最後に、読者の中には技術顧問を目指しているエンジニアも多いと思うのですが、技術顧問を務めるにはどんな能力が必要なのでしょうか。

翁:技術顧問を務めるためには、今まで全く携わってこなかった企業内側の課題や、プロジェクトの問題点を素早く発見する能力を高めることが必要なんじゃないかなと思います。付随し、顧問をやっている人は少なからず社外でアウトプットしていますよね。

松尾:アウトプットがある方のほうが安心して頼めるというのはありますね。

上田:そもそもアウトプットが無いと認知されませんしね。

長澤:私も技術顧問になるためにはアウトプットを絶やさないことに尽きると思っています。大げさに言えば目立つ必要がある。スキルは大前提として、ブログでもTwitterでも勉強会に登壇するのでも手段は問わずアウトプットをして、抜きん出た何かがあると相手に知ってもらうことが大切です。

上田:周りの開発者の能力をどのようにスケールさせるのかを考えることも必要です。現在は、技術顧問として働いていない状態でも例えばチームリーダーになるなどの観点を持ってみるといいかなと思います。

シェアフル

シェアフル

―― 技術顧問がチームをどうサポートするのか、どのようなインパクトを与えることができるのか理解が深まりました。以上で対談を終了します。本日はありがとうございました!

シェアフル社技術顧問

FLEXYとはABOUT FLEXY

『FLEXY』はエンジニア・デザイナー・CTO・技術顧問を中心に
週1~5日のさまざまな案件を紹介するサービスです