「誰かの役に立ちたい」がいつも原点。Androidエンジニア佐藤太一が、ギフトモールで働く理由
佐藤 太一(@syarihu)
Androidエンジニア
自分の経験はだれかの役に立つ。情報発信を通じてAndroidエンジニア界隈で知られた存在に
−Androidアプリの開発を始めたきっかけは何ですか?
家族の影響もあって情報系の高校に進学し、在学中にプログラミングの勉強を始めました。大学入学前にAndroidの開発セミナーに参加して、Androidアプリ開発の面白さに触れました。ちょうどセミナー主催者が開催しているAndroidアプリコンテストがあったので、デザイナーの友人と出場したところ、入賞。自信がついて、自分の作りたいAndroidアプリを開発してストアに公開するようになりました。
−どんなアプリを開発していたんですか?
昔から生活に近いアプリを開発したいという想いがあって。コンテストで入賞したのはお小遣い帳アプリ。ダウンロードが一番伸びたのは緊急地震速報のアプリです。3.11が起こり、自分にも何かできることはないかと考えて開発したところ、世の中の防災意識への高まりもあり、1万件ほどダウンロードされました。
−そんなにダウンロードされたんですね。
Android自体が出始めの時期で、今ほどストアにアプリがなかったんです。2024年5月現在、Androidのバージョンは14ですが、当時は2.2とか2.3。個人はもちろん、企業もあまりアプリを出していなくて。自分が欲しいと思うアプリを探してもないことが多く、「探してないなら作ればいい」と開発していました。
−卒業後から現在に至るまではどんなキャリアを?
卒業後もAndroidアプリの開発に携わりたくて、魅力的なアプリを展開していたGMOメディアに入社しました。入社後に配属されたのはポイントサイトのサーバー開発で、エンジニアとしての幅を広げるためにサーバー開発の経験を積んでから少しずつアプリも任されるようになり、Androidアプリのネイティブ化を推進しました。
その後、より日々の生活に近いアプリの開発に携わりたいと、マネーフォワードに転職。Androidアプリ開発担当としてホーム画面をリニューアルしたり、課金プランの変更と実装を推進したりしました。
課金プランの変更を実装した当時は、Androidの課金に関する情報はあまりなくて、実装に苦戦しました。そこで、せっかくなら自分が得た知見を外部に共有しようと当時のiOSエンジニアと協力して会社として勉強会を開催したり、Xやエンジニアブログなどで情報を発信。私が発信した情報をきっかけに勉強会で直接声をかけられたり、Xで私の記事を参考にしている人たちを見かけたりすることで、次第に「Androidの課金実装の情報を発信している人」として認知されるようになっているのを実感しました。
Google社のイベントにも呼んでいただいて。僕のキャリアにとって、1つの転換期になりました。
サービスの魅力とポテンシャル、経営陣の熱意に触れ、ギフトモールへの転職を決意
−ギフトモールに決めた理由を聞かせてください。
私に声をかけてくれた当時のAndroidエンジニアの方とエンジニアリングマネージャーの坂本さんと面談をして、次の日には経営陣の川崎さん、その次の日には藤田さんから話を聞きました。
対応のスピード感に驚いたことに加え、川崎さん、藤田さんの「ギフトモールをより良いサービスにしたい」「ギフト領域を全力で攻めにいきたい」という熱意がすごく印象的でした。ギフトモールの存在は知りませんでしたが、アプリとの親和性も高いと感じました。記念日の前に通知をしたり定期的にプレゼントを贈ったり、アプリでできることややりたいことがたくさん思いつきます。
サービスが魅力的で大きな可能性がある。会社を立ち上げた人たちの熱意もすごい。さらには声をかけてくれた当時のAndroidエンジニアの方が全力で僕を採用しようとしている感じもひしひしと伝わってきて(笑)。あっという間に話が進み、自分の中でのタイミングとも合致したので、入社を決めました。
−入社後はどんな仕事をしてきましたか?
入社当初、アプリはWebビューがメイン。徐々にネイティブに移行し、サービスを拡充するタイミングだったのでネイティブ化や検索機能の改善を進めました。
検索機能はそれまでキーワード検索といったシンプルなものしかなかったのですが、細かい条件で検索できるように改善しました。例えば記念日のイベント種別や、贈る相手でフィルターをかける機能ですね。あとは検索条件の保存機能も開発しました。
決済機能のネイティブ化、記念日カレンダーの開発…まだまだやるべきことがある
−今後開発を進めたい領域やテーマがあれば聞かせてください。
まだ一部残っているWebビューのネイティブ化です。カートや決済画面はいまだにWebビューなんです。サイト側との連携も必要な機能なので、そう簡単には実装できないとは思いますが、アプリの体験をより改善していきたいです。
−Androidアプリ独自で追加したい機能はありますか?
記念日を登録しておくと事前に通知される「記念日カレンダー」の機能は、今後追加できたらいいですね。通知する機能はアプリならでは。現状iOSにはあるのですがAndroidにはないので、iOSにある機能をさらに拡張し、より良い機能に仕上げていきたいです。
−面白さややりがいはどんなところに感じていますか?
ECアプリなので、一番複雑なのが商品詳細画面です。特にギフトモールの場合、購入時のオプションがめちゃくちゃ多い。色や名入れのバリエーションにラッピング。1つの画面に必要な情報量がものすごく多いんです。
複雑な情報をうまく整理して、後々メンテナンスがしやすいように実装する必要があり、この複雑さはギフトモールならでは。難しさを感じる反面、やりがいを感じています。
更なるスキルアップと誰かの役に立てることをモチベーションに、積極的に社外へ発信し続ける
−DroidKaigiなど、Androidエンジニアコミュニティに積極的に参加するようになったきっかけを聞かせてください
Androidエンジニアが集まって温泉に行く「Android温泉」というイベントになんとなく参加したことをきっかけに、そこで出会ったエンジニアに紹介された「shibuya.apk」という勉強会でLT登壇に挑戦しました。
これを機に、Android関連の勉強会に積極的に参加するようになりました。
また「Android温泉」で出会ったエンジニアにAndroid開発の技術同人誌の執筆を誘われて技術本の執筆にも挑戦したこともあり、ここでの出会いは私のエンジニアとしてのキャリアに大きな影響があったと感じています。
−現在はどのような活動をされていますか?
業務外でもAndroidエンジニアとして業務委託で働き、日々Android開発のスキルアップに努めています。
勉強会の開催が以前ほど頻繁に行われていないこともあり、勉強会への参加はだいぶ減ってしまいましたが、shibuya.apkやDroidKaigiなどの大規模なイベントには、発表できる内容があれば積極的に参加しています。
-先日開催されたDroidKaigiにも参加されていましたね。今回はどのような登壇をされたんですか?
近年のAndroidアプリ開発のUI実装ではJetpack Composeという新しいツールキットによる開発が推奨されています。
Jetpack Composeはリリースから3年ほどが経過していますが、既存のAndroid Viewシステムからの移行には考えるべきことが多くあり、古くから提供しているアプリでは移行を進められていないケースも多くあるだろう考えました。
副業で業務委託として働く株式会社mikanでもAndroid ViewからJetpack Composeへの移行を長きに渡って積極的に進めており、どのようなルールや方針で進めるべきかということがわかってきたので、その知見をDroidKaigiという多くのAndroidエンジニアが集まる場で共有したいと考えました。
今回はJetpack Composeへの移行がなかなか進められていないアプリに向けて、書き方の自由度が高いJetpack Composeの導入において必要なルール決めや、UIのプレビューをしやすい設計などの解説をしました。
また、移行の進め方のイメージが付きやすいようにmikanのAndroidアプリのオンボーディング画面を例にして、ViewからJetpack Composeへの移行の具体的な進め方の解説をしました。
ギフトモールは比較的新しいAndroidアプリプロジェクトということもあり、既にほとんどのUIがJetpack Composeで構築されています。
そのため今回はJetpack Composeへの移行をする際に特に課題が多かったmikanのAndroidアプリを例にして応募したところ採択されたので、ギフトモールではなくmikanを主な例として発表することになりました。
−なぜ社外的な活動を続けていらっしゃるのか、モチベーションの源を聞かせてください。
技術的な情報を発信する際、間違った情報を流さないために、事前調査などしっかりと勉強をしなければならず、そのおかげで自分自身のスキルアップにも繋がっていると思います。
また、新たに他のエンジニア達との交流ができたり、そこで新しい知識を得ることもできます。
自分が発信した資料などがSNS等で共有されているのを見かけたり、直接話した際に私の資料が参考になったという話を聞いて、誰かの役に立っていることが分かったとき、自分の活動が意味のあるものだと感じてモチベーションが上がります。
自分のためにも、周りのためにも。開発背景にある思考を言葉に残す
−佐藤さんのエンジニアとしてのこだわりや、大切にしているスタンスについても聞かせてください。
開発しやすい環境作りは結構意識しています。中でも「思考をドキュメントに残す」ことにはこだわりがあります。どういう意図で、どんなコードを書いたのか。書いたコードって1週間もすると大体忘れてしまうので。ドキュメント化しておけば関係者に説明しやすくなりますし、セルフレビューにもなる。不具合が起きたときも手掛かりになります。
−情報がまとまっていると、周りも助かりますね。
そうですね。書いたコードに対する情報もそうだし、例えば何か仕様をまとめる必要がある時も、しっかりドキュメントに残すようにしています。後追いでもいいから、記憶が新しいうちにやっておくと、後々助けられることが多い。
マネーフォワード時代は一人で開発することもあったので、自分でつけた記録に助けられたことが何度もありました。エンジニア以外の人に説明するときも、ドキュメントがあると便利です。
−エンジニアコミュニティへの参加などで社外へ発信していく活動についても「ドキュメントに残す」ことに近しい源泉がありそうですね。
そうですね。発表資料やブログとして情報を残すことで、社内だけでなく課題を抱えている社外の知人にも情報を共有することができます。
また、発表資料やブログであれば、現在在籍しているか否かに関わらず、過去に自分が残した情報を遡って自分自身を助けることできるため、誰でも見れるドキュメントとしても活用できると考えています。
−佐藤さんのこうしたこだわりやスタンスが、職種を超えた信頼に繋がっているんでしょうね。
そうかもしれません。マネーフォワードではアプリの全社ルール作りにも携わっていたのですが、これもチーム外の人にも見えるところにドキュメントを作って共有していたことが発端で他の社員の目に触れて、全社展開する流れになることがよくありました。
自分はもちろん、周りのためにも。ドキュメントは残しておいて損はないと思います。
ギフトモールでできた、両親へのギフト習慣。感謝の連鎖がいいサービスを作る
−ギフトモールという組織についても聞かせてください。ギフトモールらしさをどんなところに感じますか?
フルリモートで全員が自走している組織だと思います。コミュニケーションはslackがメインですが、雑談部屋のチャンネルもあって、社員のギフト体験が共有されています。
半期に一度、福利厚生の一環で、ギフトモールで使えるポイントをもらえるんです。それを使って誰かにギフトを贈ったら共有しましょうということで。みんなの共有は見ていてほっこりしますね。
−佐藤さんもギフトを贈っていますか?
ギフトモールに入社してから僕も贈ってみようという気持ちになって、母の日にちょっといいハンドクリームを贈ったんです。そうしたら母がすごく喜んでくれて、それを見た父から、僕も欲しいと(笑)。そこで、父の日にはリキッドコーヒーを贈りました。
僕自身、ギフトモールに携わったことがきっかけで、親に感謝の気持ちを表す習慣ができました。最初は気恥ずかしくても、1回贈ると習慣化できるのもギフトモールの良さだとだと思います。
家族や親しい人に感謝をしたい気持ちのある人。誰かの感謝の気持ちを表現するお手伝いをしたい人。そういう人たちならすごく良いサービスを作れると思います。ギフト領域って関係のない人がいない。生活に根ざしたサービスです。一度話を聞けばきっとその面白さに気づいてもらえると思うので、少しでも興味のある方は話を聞きに来ていただけると嬉しいですね。
《ギフトモールでは一緒に働く仲間を募集しています!!》
https://open.talentio.com/r/1/c/careers.giftmall/homes/3958
【Culture Deck】
https://speakerdeck.com/luchegroup/giftmall-culture-deck-for-engineers