メルカリで働くソフトウェアエンジニアにちょこっとお話を聞いていく本シリーズ。第37回では、Defence Forceチームのセキュリティエンジニアである@yagihash(Twitter名は@yagihashoo)にちょこっとお話を聞きました。
お客さまに安全なプロダクトを提供するための要として新設されたDefence Forceチームで、@yagihashは何をしているのか?本シリーズ初登場であるメルカリCTOの@suguruが話を聞きました。
ボルダリングで鍛えられた指で、コーディングは速くなるのか?
@suguru:これ、僕にとっては初の立ち話シリーズですね。本題に入る前に聞きたいことがあるんですが、@yagihashさんってめちゃくちゃボルダリングをやっているイメージがあるんですが、好きなんですか?
@yagihash:はい。ボルダリングが趣味で、週3〜4回通っています。
@suguru:めっちゃ行ってますね!ボルダリングって、エンジニアリングに関係あったりするんですかね?
@yagihash:ボルダリングとエンジニアリングとの相性は良いと思いますね。ボルダリングの壁は変えらないので、自分を当てはめていくしかありません。いかに自分の体を使って、決められたルートを登っていくかというパズル感があります。登り方もいろんなルートがあって、フィジカルが強い人、柔軟性がある人など、それぞれ登り方が変わってくると思います。
@suguru:それってOKRっぽいですね。
@yagihash:えっ? OKR?
@suguru:「ここを目指そう」というものがあって、どう登るかはそれぞれに委ねられる。そこが、OKRっぽいなと(笑)。僕もボルダリングに興味があり、#z-bouldering(メルカリのボルダリング部用Slackチャンネル)に入っているんですけど、みんなと予定が合わないんですよね。
@yagihash:なんなら僕、#z-boulderingには入ってないですけどね。
@suguru:あ、そうなんだ(笑)。僕も運動するんですけど、球技など誰かと合わせて運動するというのが苦手なんですよね。だから、自分のペースでできるものが良いのですが、例えば、ジムでの筋トレ、ランニング、水泳はわりと好きです。だから、ボルダリングも良いなと思っているんです。
@yagihash:僕は1人で山梨へ行ったりして、外の岩に黙々と登りますね。
@suguru:上達しましたか?
@yagihash:まだまだですね。1年くらいやってみて、だいぶ指は強くなりましたけど。
@suguru:指が強くなっても、コードを書くスピードは上がりませんよね?
@yagihash:ですね、全然変わんないです。コードを書く時間より考えている時間のほうが長いので。タイピングが速くなってもコードを書くスピードは変わらないですよ。
@suguru:そりゃそうですね。写経は速くなるかもしれませんけど(笑)。
自分の会社だし、自分の関わるサービスなんだから、良くしていきたい
@suguru:さて、ボルダリングの話はこのくらいにしておいて、本題に入りますかね。 @yagihashさんの入社時期と職種を教えてください。
@yagihash:あ、はい。2018年1月、セキュリティチーム立ち上げのタイミングで入社しました。それ以来ずっと、セキュリティエンジニアとして、おもにメルカリのプロダクトセキュリティの強化を担当しています。
@suguru:当時、僕はまだUS版メルカリを担当していたのでアメリカにいた頃でしたが、いろいろインシデントがありましたね。なぜ、メルカリに入社したんですか?
@yagihash:極論、事故のリスクはどの会社やサービスにも潜んでいます。事故が起きない保証はどこにもないし、仮に完璧な会社があったとしたら、僕みたいなセキュリティエンジニアは必要ありません。誤解を恐れずに言うと、課題がある方が面白いですよね。
@suguru:@yagihashさんは、課題がないと飽きちゃうタイプですね。メルカリは課題だらけだから、@yagihashさんがいてくれてよかった(笑)。ボルダリングは、メルカリに入社する前からやっていたんですか?
@yagihash:またボルダリングの話に戻りますか(笑)。まったくやってなかったです。メルカリに来てから時間に余裕ができたので、始めたんですよね。それまでは、あまり余裕がなかったんで。
@suguru:それは良かった。そもそも、@yagihashさんがセキュリティエンジニアを選んだきっかけや理由はあるんですか?
@yagihash:学生の頃から、「世の中のいろんなシステムがちょっとでも安全になるなら良いな」という想いで、セキュリティエンジニアの道を選びました。メルカリに入社するまではセキュリティベンダーにいたのですが、ベンダーという特性上、顧客のシステムを使うユーザー(お客さまのお客さま)が遠い存在になっていることに悩みを抱えていたんです。毎年同じお客さまの同じSQLインジェクションを指摘するというような感じでした。
@suguru:そこでメルカリにたどり着いたんですね。
@yagihash:前の会社では「危険度」を言及することが仕事でした。が、しかし、メルカリでは、リスクに対する本質を説明できないといけません。それがなぜ危険なのか、どこをどう直さないといけないのか、逆に直さなくていいのかを、本質的に説明できないと話になりませんし、信頼してもらえません。そういう意味で、良い緊張感があります。
@suguru:当初、@yagihashさんはセキュリティチームに所属していました。セキュリティチームの仕事はどちらかというと、セキュリティ対策を実施することではなく、リスクを見つけてアラートを上げること。ですが、@yagihashさんはアラートをあげるだけではなく、実働もしていましたよね。
@yagihash:誰かがやらないと、永遠に直らないですからね。これはずっと思っていることですが、自分たちで考え、自分たちで良くする精神がないと永遠に良くなりません。だから、口だけの人にはなりたくないし、逆に自分でできないことをただ丸投げはしたくない。自分の会社だし、自分の関わるサービスなんだから、いつも良くしていきたいと思っています。
新設された「Defense Force チーム」とは?
@suguru:そこで「Defense Force」という、いかつい名前のチームができたわけですが。「プロダクトチームの中にセキュリティの実装までできるチームが必要だよね」ということでつくったチームです。@yagihashさんが実装も含めてセキュリティ対策をやりたいと言っていたのを聞き、チームを召集してスタートしました。今、Defense Forceチームはどうですか?
@yagihash:Defence Forceチームは、「サービスを安全に使えること自体がお客さま体験の一環である」という考えに基づいて、よりよいセキュリティ体験を追求して機能実装を行うチームです。僕としては、基本的にはセキュリティエンジニアとして軸足を置きながらどんな機能を提供するべきかを考えつつ、それらの設計・実装・セキュリティテストまで関わっています。
@suguru:あえて聞きますが、「サービスの安心安全な体験」とは何でしょう?
@yagihash:漠然とした言い方をすれば、サービスに脆弱性がないことです。個人情報が裏できちんと管理されているなど、お客さまからは目に見えないところも多いと思います。
@suguru:一般論として、安全性と利便性は相反するところがあると思うんですよね。安全にしようとすると不便になるし、便利にしようと思うと安全なところが抜け落ちていくというか。
@yagihash:バランスだと思います。一般にはsuguruさんの言う通りですが、安全で利便性がそこまで損なわれないものもたくさんあるはずです。例えば、二段階認証ならWeb AuthenticationやTouch IDはかなりシームレスな体験を提供していますよね。
@suguru:セキュリティに対する物理的な実装が進んでいますよね。Face IDもそうですし、お客さまにとっては無意識のうちに、サービスはどんどん安全になっていると思います。
@yagihash:そういった新しい技術をキャッチアップして使っていくのは大事ですし、僕たちとしてもやっていきたいですね。
@suguru:そういえば、メルペイでSpecial All for One賞を受賞していましたよね。これは、@yagihashさんがグループを横断したセキュリティ関連のプロジェクトで活躍していたことが評価された結果でもあります。
@yagihash:はい。過去にメルカリでもAll for One賞をいただいたので、これで2回目です。プロジェクトの詳細はここでは言えませんが、賞品としてSlackネームを刺繍されたトレーナーをもらいました。
@suguru:改めておめでとうございます。セキュリティエンジニアとしての@yagihashさんの目標はなんですか?
@yagihash:セキュリティエンジニアの究極の目標は、セキュリティエンジニアの要らない世界をつくることだと思っています。
@suguru:良いですね!
セキュリティエンジニアとしての生存戦略
@suguru:最後に、@yagihashさん的に、今後セキュリティエンジニアはどうなっていくと思います?
@yagihash:「セキュリティだけわかります」みたいな人の市場価値はどんどん下がっていくんじゃないかと思います。例えば、Webアプリケーションのセキュリティはくわしくても、Webの開発もわかっていないと、システム全体のコンテキストまで理解していないことになります。
@suguru:今、エンジニアリング全般で言われていますよね。「機械学習だけできます」という人は、すでに市場価値が下がってきている印象です。
@yagihash:トレンドは早いですよね。下の世代の優秀な層は「コンピュータ・サイエンスの1つの要素としてのセキュリティ」といった捉え方をしています。僕、それはすごく良い傾向だと思っていて。そういう世代がどんどんのし上がってくるなかで、自分自身の生存戦略的にも、セキュリティ以外に軸を見つけないと生きていけないなと思っています。個人的には、開発者としての能力は全然足りていないので、せっかくメルカリにいるならそこも磨いていきたいです。
@suguru:ありがとうございます。いい感じですかね?エンジニアと立ち話っていつもこんな感じなんですか?まだ少し時間があります?では、@yagihashさんは集中したいときはどうしていますか?
@yagihash:え?集中したいときですか?僕の場合は、ほどよく人が話している環境に行きますかね。カフェとか、関係のない人たちが雑談している環境が好きで、周りに人がいるほうが集中できます。社内のカフェとかも好きで、話しかけてもらっても良いというか。
@suguru:へぇ。じゃあ、社内のカフェで@yagihashさんがいるときは話しかけよう。