技術とともにエンジニアをフィーチャーするエンジニアブログ
戸倉 セッション登壇を含め、いろいろな技術コンテンツが日々、生み出されていると思いますが、戦略的にDevRelに必要なコンテンツをどうマネージしていくか、についてはどうお考えですか? たとえば、海外もケアしないといけないということを踏まえて、動画コンテンツを増やしていこうとしている、とか。
砂金 やっていることはオーソドックスだと思います。外部のエンジニアみなさまに対する情報発信として力を入れているのは、オウンドメディア的なエンジニアブログです。これは、それぞれの国でやっていますね。
オウンドメディアで展開するコンテンツではいくつかのパターンがあって、LINEの中のインフラやデータベースがこういう構成になっているということを技術的に解説する情報開示型の記事と、どういう人たちが作っているのか、どんな人たちが僕らのエンジニアの仲間としているのか、社内で取材を行ってコンテンツ化したもの。取材して彼らが持っているメッセージを伝えるということは、ブログという体でやっていくときに大事だと思っています。
ブログという仕掛けがあっても、各開発チームのみなさんに「記事を書いて所定の手順に則ってレビューを受けて公開できる」としていたら結局は集まらないわけです。みんな、本業が忙しいわけですし。そこで、おもしろいネタを持っていそうな人たちには僕らから突撃取材に行って、あつかましいくらい踏み込んだことをいろいろ聞き出してコンテンツとして仕上げていく。これは、最近がんばってやっていることです。LINEマンガとかLINE LIVEとか、形式はサービス次第ですが、どういうふうにサービスを出してきたのか、機能のリリースをどうやってきたのかと関わったエンジニアにインタビューするというのを始めています。
戸倉 それはいいですね! 外部への情報発信ということでは、LINEのエンジニアさんは外部登壇は自由なのですか?
砂金 自由になりつつありますけど、好き勝手やっていいわけではなくて、一応共有はしてくださいという形にしています。技術的に正しいかどうかは各チームの専門なので、そのメンバーの中で技術レビューが終わったものとして、それを世の中にどういうメッセージで出していくかという部分を僕らの側でチェックをして、登壇資料だったり、それこそSpeaker Deckにどういうふうに載せたらいいか、というのも含めて助言はする感じですね。
戸倉 SNSに関してはどうですか? コントロールが難しい場合があると思いますが。
砂金 公開していないサービスについてつぶやかないとか、一般的な常識の範囲で気を付けてほしいというガイドライン的なものはあります。でも、それをいちいち会社が全部モニタリングするというのはないですね。
GitHubに置くLINEのリポジトリは52
戸倉 サンプルコードなども外に公開していたりすると思いますが、そのあたりのコードの管理はどうされていますか? バージョンアップであったり、LINE API Expertを持っている人たちを対象にレビューした上で、動くものを出していたりするとか……。
砂金 いくつかのやり方があるのですが、基本的には、LINEで管理しているGitHubのリポジトリ群として公開し、メンテナンスしています。これらはLINEの人たちだけが作っているわけではなくて、たとえばコアになるAPIは仕様があまりブレたりしてもいけないので、内部のメンバーがメンテナンスしますが、各言語のSDKは外部のエンジニアも一緒にみんなで作っていこうよ、と。そういうものもGitHubの中には存在しています。これは、一応技術レビューをします。いわゆるサンプルコードは、あまり厳密なレビューはせずに載せていることが多いですね。その動作をLINEが保証するわけではないので。
このように、純然たるサンプルコードと、みんなで作っているけれど定常的に使うかもしれないSDK的なもの、それと、あとはもう少しコアなライブラリというように何段階かあります。日本の会社の中では、GitHubのLINEのリポジトリ群はそれなりにがんばってやっているほうなのではないかなとは思います。OSS担当が日本と韓国に一人ずつ、メインの問い合わせ先として存在していて、OSSとして外部にコントリビュートするときに何か問題がなさそうかというのは全部チェックしています。
戸倉 現在、52リポジトリですね(収録時)。
砂金 アクティブなものとそうではないものが混ざってはいます。たとえば「Armeria」というRPCサーバーは、割と人気のあるライブラリの1つです。
戸倉 ちなみに、トップランゲージがJava、JavaScript、Python、Go、Kotlinとなっていますが、そんな感じですか?
砂金 だいたいそうですね。LINEの中の多くの仕組みはJavaで作っています。外部向けに公開するAPIはJavaScriptだけでほぼ動くようにしているものもあります。もちろん、好みによってPythonから使いやすくするSDKを提供しているものも存在しています。
会社としてオフィシャルにKotlinに重きを置いているというわけではありませんが、僕たちはどちらかというとスマホ向けのネイティブアプリ開発者に近い属性の人たちとの接点が多いので、結果的にKotlin関連のものも多くなっていますね。Kotlinのミートアップとか、DevRelチームのメンバーがボランティアで運営を手伝ったりしています。あと、Perl使いが多いので、ご本人たちはLINEの人としてはやっていないかもしれないけど、PerlコミュニティにおけるLINEのメンバーの貢献は大きいと思います。