1
/
5

Androidエンジニア対談:技術顧問 藤原さん×DroidKaigi登壇!星川さんインタビュー

今回はインタビュワーに技術顧問の藤原 聖さんをお迎えして、エンジニアリンググループ マルチデバイスチームのAndroidエンジニア 星川 貴樹さんにお話を伺いました。

ー藤原:こんにちは、本日はよろしくお願いします。さっそくですが自己紹介からお願いできますか。

ー星川:こんにちは、星川 貴樹と申します。エムスリー エンジニアリンググループのマルチデバイスチームに所属しており、主にAndroidエンジニアを担当しています。他にもセキュリティチームを兼務しており、セキュリティエンジニアとしても活動しています。エムスリーには2017年に新卒で入社しました。

ー藤原:ありがとうございます。では、マルチデバイスチームの詳細を教えてもらえますか。

ー星川:マルチデバイスチームではエムスリーの各事業のアプリ開発を行っており、そのチームでAndroidのメインエンジニアを担当しています。チーム全体でエンジニアは9人おり、Android、iOS、サーバサイドとメインの担当を分けています。

ー藤原:ありがとうございます。今はどのような業務を担当されていますか。

ー星川:我々エムスリーは医師向けのプラットフォームビジネスを中心に展開しています。例えば「m3.com」という医師に必要なニュースや製薬情報を配信するアプリを提供しています。私が入社した直後はm3.comのAndroidアプリを主に担当しており、最近は新規アプリ開発をメインで担当しています。

ー藤原:なるほど。エムスリーに入社して1年10か月程ですが、新卒で入社してこれまでにどのような業務を行ったか教えてもらえますか。

ー星川:私は大学時代からAndroidアプリを作っていたので、アプリの作り方は理解していました。一方でCIやユニットテストは知識として持っていませんでした。その点を入社後に学びつつm3.comのAndroidアプリの開発も行っていました。入社して半年経った頃には「Doctors Review」という医師の評価・レビューによりヘルスケアの情報が探せるサービスのフロントエンド周りを担当したり、APIサーバも担当するようになりました。さらにその半年後くらいに、社内のセキュリティについて興味を持ったので(笑)、セキュリティコンテストを開催しました。

ー藤原:いいですね(笑)

ー星川:会社のサンドボックス環境にセキュリティイシューがないかをチェックするコンテストを1日限定で開催し、結果改善にもつながりました。

ー藤原:なるほど。今の業務でセキュリティも担当されているということですね。

ー星川:エンジニアリンググループの中にセキュリティチームがあり、日常的なチェックは別のメンバが担当していますが、私はイベントやセキュリティ周りの教育などを担当しています。

ー藤原:メインはマルチデバイスチームでAndroidエンジニアを担当されていて、フロントエンドやAPIサーバもやったり、セキュリティチームも兼任してセキュリティコンテストなどやられているということですね、よくわかりました。

ー藤原:今開発しているアプリについて、まず体制の話を聞きたいのですが、普段何人くらいで開発していますか。

ー星川:新規アプリは立ち上がったばかりなので私1人で開発していて、コードレビューは同じチームの3人にお願いしています。m3.comアプリは私含めて4名で開発しています。

ー藤原:新規もやりながらm3.comのメンテナンスもやっている感じですか。

ー星川:はい、そうですね。マルチデバイスチームは、エムスリーが展開しているAndroid/iOSアプリの開発を一手に引き受けている部署なので、そのチーム内でコードレビューをしたり、アプリをメンテナンスしたりとか幅広くやっています。

ー藤原:新規のAndroidアプリはどのような感じで作っていますか。技術とか設計とか。

ー星川:設計はMVVMのClean Architectureを採用しています。もちろんAndroidXにも対応していてNavigationとか最新技術もフル活用しています。まだアルファですけど(笑)

ー藤原:ちなみに言語はなんですか。

ー星川:あ、言語はKotlinです(笑)当たり前すぎて…言うのを忘れました。100%Kotlinで書いてます。DI Dagger、Kotlin Coroutine、あとはGraphQLを採用していてサーバサイドも新しめのものを導入しています。

まとめるとこのような感じです。

ー藤原:かなりいいですね、楽しそうな感じですね。コードレビューは3人で担当しているとのことですが3人全員にOKをもらう感じですか。

ー星川:最低2人のOKをもらうようにしています。コメントはかなりついているほうかなと。コードレビュー中議論に発展したり、Kotlin初学者向けにアドバイスを書いていたら100件つくこともあったり(笑)

ー藤原:なるほど。ところで、話が変わりますが、星川さんがAndroidエンジニアになったきっかけを教えてもらえますか。

ー星川:高校時代にIS01を買ったのがそもそものきっかけです。その頃iPhoneが出始めて周りの方は使っていたんですけど、私はIS01を使っていました。

ー藤原:IS01がメインってけっこうチャレンジャーと思うけど(笑)

ー星川:ガラケーはもちろん持っていて、2代目としてIS01を使っていました(笑)それでAndroidを使い始めたのですが、IS01は全然OSアップデートがされませんでした。1.6で止まりましたね(笑)その制限のなかで頑張るのが当時の流行りでした。大学に入った後はXOOMというMotorolaのAndroid 3.0のタブレットを、その次にはGalaxy Nexusを買いました。

ー藤原:Android 3.0!変わっていますね(笑)

ー星川:自覚あります(笑)

ー藤原:Android端末占いがあったら「あなたは変わり者でしょう、人と同じことを嫌う傾向がございます。そんなあなたにお勧めの端末は・・・」とか出そうですよね(笑)今だと画面が2つついているやつ(編集注:AXON Mのこと)とかお勧めされるんじゃないでしょうか。

ー星川:かもしれませんね(笑)話は戻って、大学2年生にまずはXOOMで開発を始めましたね。当時twitter上でモールス信号で会話をする人がいたので、それを解読するためのアプリを趣味で作ったのが最初でした。

ー藤原:大学の研究でもAndroidアプリの開発をしていたのですか。

ー星川:研究では行っていなかったですが、工学部の学園祭案内アプリを作ったことがあります。当時iBeaconが流行っていたので「あなたはどこにいます」というのがわかるような。

ー藤原:なるほど、すごいですね。就職活動の時もAndroidエンジニアになろうと思っていたのですか。

ー星川:もともとAndroidもフロントもやっていたので、ソフトウェアエンジニアとしていくつか会社を見ていました。ただ、どちらかというとAndroidエンジニアがやりたかったこともあって、結果的にマルチデバイスチームのAndroidエンジニアとしてキャリアをスタートしました。

ー藤原:定番の質問を聞きますが、なぜエムスリーに入社したのですか。

ー星川:理由は主に2つあって、選考時に会ったエンジニアと一緒に働きたいと感じたこと。またビジネス的にもおもしろい分野だなと感じたことが理由です。医療はIT化が遅れている点がありますが、それらを改善できること。全く今までにないものを作っていくことで世の中にインパクトを与える面白さがあると感じたことです。

ー藤原:なるほど。将来的にどういうエンジニアになっていきたいとかありますか。

ー星川:今の段階でアプリエンジニアとセキュリティエンジニアと変わった形で兼務をしているのですが、まずはアプリの分野で日本の中でも先導してけるような人物になりたいと思っています。ただそれだけではなくて、会社の中でも先頭に立っていくには一分野ではやっていけないと思うので、幅広く技術は学んでいきたいです。例えばISUCONに出たりはしているんですが、今は全然強くないのでもっとインフラに近い領域を学んでみたいと思ってます。幅を広げていくことは今後も続けていきたいと思っています。

ー藤原:前半のAndroidアプリエンジニアのところもう少し詳細を教えてもらえますか。

ー星川:AndroidのOS自体を良く理解したエンジニアになりたいと思っています。例えば、DroidKaigiの私のセッションが昨年、今年ともにOSのことを深く理解することにつながったものとなっているのも同じ理由からです。また、その上でアプリエンジニアとしても、例えば処理コストを意識したコーディングをしていくことにつなげられると思いますし、そのような技術を広めていけるエンジニアになりたいです。

ー藤原:なるほど、あと、セキュリティとかあまり多くの人が手を出さない分野にも興味を持ってやっていますね。

ー星川:そうですね、特にAndroidエンジニアでは私のようなタイプは少ないかもしれないです。良く言うと、従来のPCソフトと比較するとAndroidやiOSアプリはサンドボックス化されているので情報漏洩のリスクが低いです。またネイティブアプリとして作っていればXSSのようなバグを引き起こせないため、webと比較してセキュリティを意識しなくても良い場面もあります。それでもOSのバグや仕様に起因する脆弱性であったり、WebViewでのXSSなど従来と変わらず注意すべき部分もありますので、意識すべき点は意識して啓蒙していけたらいいかなと思います。OSの脆弱性についてはBug Bountyで報告もしていて、実際に直してもらった経験もあります。

ー藤原:今頑張っていることはありますか。

ー星川:直近だとDroidKaigiの資料作りに追われています(笑)※インタービュー日は2/4!!

ー藤原:DroidKaigiはどういったタイトルで登壇されるのですか。

ー星川:「シームレスに遷移可能な画面を他のアプリに提供する方法」というタイトルで2/7 17:10~@Room2で発表します。Google Nowのランチャーとの連携の仕組みの話などをしようと思っています。

ー藤原:なかなかニッチですけど面白そうな内容ですね。頑張ってください!DroidKaigiもそうですけど外部登壇や勉強会の主催もやられていますよね。

ー星川:主催の勉強会でいくと「どこでもKotlin」を実施していて、次回は2月か3月にやりたいと考えています。KotlinはまだAndroidの事例が多いですが、それ以外でもいろんな場所で使うことができますよね。エムスリーの場合だとサーバサイドで導入した事例があるので、勉強会ではそれらの紹介をしたりします。少し変わったところでいくと、どこでもKotlinの募集ページを見てくださった方から連絡をいただき、石川県でKotlinとはどんな言語かの話をしてきました。

ー藤原:アウトプットしているといろんな縁があるんですね。

今日いろいろお話を聞いてきましたが、エムスリーはAndroidエンジニアを募集しているのですか。

ー星川:はい(笑)エムスリーはエンジニア全体で65名程とそもそもそんなに多くないのですが、特にAndroidエンジニアはまだ少人数です。会社としてエンジニアを約2倍の120名規模にすることを目標に今は採用を強化しています。

ー藤原:エムスリーのAndroidエンジニアはいろんな技術をやっていますが、どういうエンジニアに来てほしいと思っていますか。

ー星川:Androidの開発が好きなエンジニアに来ていただきたいです。AndroidのOSが好きな人ならなお嬉しいです。

ー藤原:IS01買っちゃう人?(笑)

ー星川:そうですね(笑)また、今だとマテリアルデザインの輪読会をやっているのですが、コーディングだけじゃなくてデザインにも興味ある方だと楽しいと思います。

ー藤原:その輪読会はどれくらいの頻度で開催していますか。

ー星川:週1回1時間実施しています。エンジニア以外にも企画の人やデザイナーも参加しています。エムスリーでは自主的に勉強会が開催されており、Functional Programming in Scalaの輪読会や強化学習の勉強会をやっていたり、社内勉強会の文化は根強くあります。

他に、裁量が大きいのも特徴で、サーバサイドKotlinを始めたもの2017年秋頃で新しめの技術をチームの技量に合わせて導入できます。

ー藤原:最近エムスリーのエンジニアはとてもブログを書いてますね、あれは何でですか?自主的に書いてるんですか。

ー星川:そうですね。今のところローテーションを特に回しているわけではなく、書きたい人が書いています。例えば、社内勉強会で反響のあった発表を記事にしたり。

ー藤原:最後にビシッとまとめる感じでコメントください!

ー星川:DroidKaigiでは2/7に私の発表があるのと、エムスリーもブースを出しているので、是非来てください!!

あとは私と同じようにAndroidが大好きなエンジニアと一緒に働きたいです!

ー2人:本日はありがとうございました。

エムスリー株式会社では一緒に働く仲間を募集しています
同じタグの記事
今週のランキング