エンジニアと立ち話。Vol.9 @vishal(Software Engineer in Test) ちょっとお話いいですか?

f:id:mercarihr:20171107184745j:plain

ソフトウェアエンジニアの@kajikenがメルカリで働くエンジニアたちを捕まえて、ちょこっとお話を聞いていく本シリーズ。第9回はメルカリでSET(Software Engineer in Test) に取り組んでいるエンジニアのVishal Banthiaさん(@vishal)です。

@kajiken:@vishal、ちょっとお話いいですか?

@vishal: Yo!

@kajiken:早速なんですが入社日と現在のお仕事について教えてください

@vishal:入社は2017年3月1日です。SET(Software Engineer in Test)チームでテストの自動化に取り組んでいます。

@kajiken:メルカリに入る前はどのようなことをしていたんですか?

@vishal:2012年の新卒としてDeNAに入社したことをきっかけに、インドから日本にやってきました。DeNAでもテスト自動化のためのインフラ開発やツール開発などをしていて、4年ほど勤めて退職したあとは、インドに戻って1年ほどフリーランスで受託開発をしていました。インドのスタートアップのインフラ構築をしたり、フロントエンドからバックエンドまで、本当に色々やっていて、中でもAndroidやiOSのDevice Farmをたくさん作っていましたね。その後、メルカリに入社しました。

@kajiken:たしか、OSSのOpenSTFにも携わってますよね

@vishal:はい。DeNAではじめてセットアップしたのは僕ですね。OpenSTFにはAPIがなかったので、自分でContributeして、OpenSTFのコアメンバーになりました。いまもissueのメンテをしたりしています。

@kajiken:メルカリでもSTFをつかっているんですか?

@vishal:はい。現在、メルカリの自動テストに使われています。そして、手動テストで日本からUSのデバイスを使いたいときにも使っています。

@kajiken:いま@vishalが使っているプログラミング言語のメインって何になるんですか?

@vishal:色々ですね。自動テストだと、Androidの場合はRuby、iOSの場合はSwiftを使っています。

f:id:mercarihr:20171107184853j:plain

@kajiken:メルカリに入ってからの話もう少し聞きたいです。入社してから現在に至るまで、何をしてきたのか

@vishal:まずやったことはメルカリの開発や技術についての理解を深めることですね。テストは開発のend-to-endすべてに関わることなので、それぞれの技術を知らなければ、自動化をすることは難しい。そのための技術理解に最初の1ヶ月くらいは時間をかけました。その後、US版メルカリのテスト自動化に携わったり、新しいアーキテクチャーへの対応も経験しました。USではReact Nativeを使っているので、React Nativeでの自動化実現に向けて様々な調査も行っていました。そして、テストを簡単に、誰でも書けるようにライブラリを作り、誰でもテストを実行できるようにCI環境を構築したことで、US版メルカリの自動テストはSlackのコマンドで誰でも実行できます。現在はこれまで作ってきたテスト環境をベースに、主にAndroidとiOSのテスト自動化のカバレッジをより増やしていくことに取り組んでいます

f:id:mercarihr:20171107190645j:plain

@kajiken:これまでは、どちらかというと仕組みづくりや環境の構築がメインで、これからはよりテストの自動化でカバーできる範囲を増やしていく取り組みになると思うのですが、具体的にどのくらい増やすとか目標はあるんですか?

@vishal:直近の目標だと例えば、現在マニュアルで対応しているAndroidのテストのうち80%を自動化するというものがあります。

@kajiken:なるほど。けっこう具体的な数値目標を持って、テスト自動化のカバレッジを増やすフェーズに入っているんですね。ちなみに、メルカリに入社しようと思ったきっかけって何かあったんですか?

@vishal:フリーランス時代に、すでにメルカリで活躍していた友人に声をかけてもらったのがきっかけですね。話を聞いたらすごく興味が湧きました。メルカリについて調べれば調べるほど、本当によくできたプロダクトだなと感じましたし、魅力的な会社だったので、入社を決めました。でも正直、当時はテストの自動化やりたくなかったんですよね。

f:id:mercarihr:20171107184911j:plain

@kajiken:実際に入社して、結果的に自動テストやっているわけじゃないですか。嫌じゃなかったんですか(笑)

@vishal:嫌ではないです。(笑)最近気づいたんですが、テストの自動化が嫌なのではなくて、時間のかかる開発とか、スローな開発が好きではなかったんだなと。メルカリはスピード感を持って働けるので、とても楽しくやれていますよ。いまは取り組んでいるクライアントのテスト自動化をやりきりたいという強い気持ちで仕事をしています。

@kajiken:サーバーサイドのテストとかには興味ない?

@vishal:ありますね。たとえばサーバーサイドの自動テストのために最近Mercari Ruby Kitというのを書いています。メルカリのAPIをRubyから簡単にたたけるようにしているものなんですけど、ビジネスロジックがわからなくてもテストがかけるようにしています。

@kajiken:ちなみに、@vishalから見てメルカリはやっぱり日本企業ぽい所ありますか?

@vishal:すごく働きやすいなと率直に思いますね。世界的なマーケットプレイスを創るというミッションの言葉通り、グローバル展開に向けた意欲が言葉だけではなく姿勢として見えるところが特にいいなと思います。グローバルな人材の採用が全社の目標として設定されていたり、海外から採用したメンバーへのアフターケアもGlobal Operations Teamのような組織が存在していて、しっかりしている。それに情報のオープンさや、スピード、どれも海外のスタートアップに近しいところがあるんじゃないかな

@kajiken:英語研修の制度も充実しているし、メンバーも学習に意欲的ですよね

@vishal:SETのチームではデイリーのStandup Meetingが英語だったり、チームでは僕が日本語で話すと、日本人のメンバーは英語で返す、みたいなこともしていたりします

@kajiken:メンバーによっては酔いだすともうずっと英語で話している人もいるらしいですね。ところで@vishalが特に大切にしているメルカリのバリューってなんですか?

@vishal:Go Boldですね。自分自身、新しい提案やアイディアを出すことが好きなので、Go Boldは常に意識しているし、バリューの中でもとりわけ好きですね。それにこのバリューのおかげで新しいことをするときにも、間違いを恐れずに行動できる、浸透しているバリューだなと思うし、メルカリらしいなと思うところです

@kajiken:最後に、今後メルカリでしたいことについても教えてください。

@vishal:やっぱり僕は自動化が好きなんですよね。だからテストだけに留まらない、メルカリのあらゆる改善に貢献できる自動化にこれからも携わりたいですね。二回以上手作業を繰り返したらそれは、自動化できるはずだ、というのが自分の信念でもあるので、これからもそれを実現していきたいと思います。

今回もたくさんお話、ありがとうございました!

メルカリではSETを募集しています!