エンジニアと立ち話。Vol.8 @deeeet(SRE) ちょっとお話いいですか?

ソフトウェアエンジニアの@kajikenがメルカリで働くエンジニアたちを捕まえて、ちょこっとお話を聞いていく本シリーズ。第8回はメルカリ SRE(Site Reliability Engineering)チームメンバーの中島大一さん(@deeeet)です。

f:id:mercarihr:20171002115312j:plain

@kajiken:@deeeetさん、ちょっといいですか。

@deeeet:ちょっと待ってください今goroutineをcancelします。はい。どうぞ。

@kajiken:入社日と職種を教えてください。

@deeeet:2017年の1月に入社しました。SRE(Site Reliability Engineering)チームメンバーとして働いています。

@kajiken:これまでの経歴を教えてください。

@deeeet:大学の研究室ではNLPを、大学院に入ってからはロボットや音声対話の研究をしていました。新卒で楽天に入社して、最初はkoboプロジェクトのServerSideエンジニアをしていました。

入って最初に驚いたのは手順書を使ってコピペでDeployしていたことです。それではいかんとなり、自動化でDeployできる仕組みを作りました。それがきっかけで、Deployだけではなく、インフラそのものや開発環境の整備の自動化にも興味を持ち始めDocker、kubernetes、そしてGo言語などにハマっていきました。

社内のPaaSプロジェクトに入った時、日本人メンバーは自分一人の中、マネジャーから自由にさせてもらえて幅を広げていけたんです。

@kajiken:『みんなのGo言語』なんかも共著されてましたもんね。メルカリに興味を持ったきっかけは?

みんなのGo言語【現場で使える実践テクニック】

みんなのGo言語【現場で使える実践テクニック】

@deeeet:ガチで世界を獲ろうとしているところ。あとは魅力的なソフトウェアエンジニア、特にSREメンバーといっしょに働きたいなと。

もっとサービスに近い所でのインフラ業務に携わりたかった、というのもあります。なんというか、メルカリはリテラシの高い人だけが使ってるんじゃなくて、両親や友人が普通に使ってるサービスというのも大きな魅力でしたね。

@kajiken:SREとしてどんなことに携わってますか?

@deeeet:メルカリのSREメンバーはみな同じことをしているわけではなく、自分のスキルや得意分野を活かして自ら動いていくスタイルです。自分の場合はまず既存システムの自動化をしていました。Botを作くりまくったり、Deployを3倍高速化させたりしてましたね。

@kajiken:@deeeetのeの数を間違えるとBotが指摘してくれるやつもですね!

@deeeet:それは僕じゃありません。

f:id:mercarihr:20171002115813p:plain

@kajiken:失礼しました。そういえば、2ヶ月程USにも行ってましたね。

@deeeet:メルカリはリージョン毎に同じアーキテクチャ構成で今までやってきたんですが、先行してUSでmicroservices化が始まりました。それを推進するために出張ベースで行ってきました。その時のアウトプットは一部をOSS化して公開しています。

github.com

USでの知見を活かし、今はJPもゴリゴリmacroservices化しようとしています。他にもML/NLPエンジニアを中心としたAI周りの基盤構築のプロジェクトなどにも携わっています。

@kajiken:メルカリらしいな、と思ったエピソードを教えてください。

@deeeet:メルカリってなんでも早いですよね。プロジェクトの企画立ち上げから、実装、Deployまで。そこにコミットできることにやりがいを感じれてます。

自分がいま取り組んでいるmicroservices化も、よりGo Boldに技術的挑戦が素早くできる土台のようなものなので、Productチーム全体の期待も背負っているというモチベーションにもなってます。

f:id:mercarihr:20171002115358j:plain

@kajiken:@deeeetさんとして、メルカリのmicroservices化がどうなっていることが理想なんですかね?

@deeeet:各チーム、ソフトウェアエンジニアが各々オーナーシップをもってDeployを完全かつ高速で進められる状態を常に保つことですね。SREは本当に最低限かクリティカルなタイミングのみ介入して、あとはより柔軟なシステムに任せたり。

ソフトウェア開発って不確定なことが多いじゃないですか。だからすぐにDeployして、自分のアイディアと仮説が正しいか検証できるようにしたい。そしてその仮説検証のループを高速に回せるようにしたい。その仕組みの基礎を自分で推進できてるのはすごく楽しいです。

f:id:mercarihr:20171002115347j:plain

@kajiken:メルカリでどんな人といっしょに働きたいですか?

@deeeet:何かしら特定の強みをもって、自分でプロジェクトを動かせる人ですね。microservices基盤をやりたいひとで言えば、例えばコンテナ周りをどんどんできるひと。

あとは技術的にもGlobalな視点を持っている人ですかね。メルカリはすべてがグローバルな環境を前提に動いているので。

もし興味のある方がいたら、まずは採用会食と言う体で三茶でお酒を飲みたいですね。

@kajiken:是非僕もまぜてください。ありがとうございました。

Software Engineer, Site Reliability