iOSエンジニア松館大輝氏×RIZAPエンジニア対談〈前編〉
↓↓↓ 後編はこちら ↓↓↓
▶︎プロフィール
松館大輝/東京を拠点に活動する iOS Developer。世界中から Swift の開発者が集まる try! Swift Tokyo のメインオーガナイザーを務める。またスタートアップ数社、内閣官房 IT 総合戦略室(デジタル庁準備室)を経て、現在ではデジタル庁エンジニアユニット長を務める傍ら、さまざまな企業でアプリ開発の支援や技術顧問・アドバイザリーを行う。著書「iOS アプリ設計パターン入門」(PEAKS)
佐藤直之/プロダクト開発統括1部部長
山野井陽一/プロダクト開発統括1部エンジニア
入社理由は「自分でも使ってみたいサービス」だったから
――自己紹介をお願いします。
山野井:iOSエンジニアの山野井と申します。エンジニア歴は12年ほどになります。
山野井:大学在学中にプログラミングにハマり、大学卒業後に東京ゲームデザイナー学院というところでプログラミングを1年ほど学んだあと、スマートフォンのゲーム会社に正社員として入社しました。
そこで2年ぐらい働いたあと、フリーランスになって業務系アプリの開発に7〜8年ほど携わり、2023年6月にRIZAPテクノロジーズに入社しました。もともとはAndroidの開発もやっていたのですが、途中からiOS一本になりました。
↓↓↓ 関連記事はこちら ↓↓↓
松館:そうなんですね。何かきっかけがあったのですか?
山野井:Androidは特殊な端末が多すぎて、対応がすごく大変だったので(笑)。その点、iOSは開発元がAppleなので端末が安定していてその点はよかったです。もともとはゲーム開発をしていましたが、徐々に業務系アプリにシフトしていきました。
前職はクックパッドで業務委託をしていたのですが、ちょうど食べすぎて太ってしまったころにchocoZAPの話が来て、もともとフィットネスには興味を持っていたこともあってRIZAPテクノロジーズへ転職しました。
松館:入社理由が、本当に事業とマッチしているんですね(笑)。
山野井:そうですね。なので今、chocoZAPだけでなくRIZAPも福利厚生でめっちゃ活用しています。
松館:一番いい福利厚生ですね!
山野井:そうなんです。めっちゃいいなと思って。
これまでスマートドア(電気錠一体型のドア)などBluetoothと連携するサービスも手掛けてきたので、chocoZAPならその経験が生かせると思ったことも主な入社理由の一つですが、自分でも使ってみたいサービスだったというのは非常に大きいです。
――松館さんと鈴木社長との対談で、RIZAPテクノロジーズと松館さんはDroidKaigiにてRIZAPが開いたDrinkup(懇親会)がきっかけで知り合った、とお話されていました。そのとき「あの人が松館さんですよ!」と鈴木社長に言ったのが山野井さんなのですか?
↓↓↓ 松館さんと鈴木社長の対談記事はこちら ↓↓↓
山野井:いえ、実は僕も松館さんのお顔は存じ上げていなかったので、別のメンバーから聞いたんですよ。全部終わってから「あの人、松館さんでしたよ」と言われて、僕も部長の佐藤さんも「なんで早く言ってくれなかったの!?」って(笑)。
その後、すぐに技術顧問をお願いした経緯は鈴木社長が話したとおりです。
松館:そう、DroidKaigiが終わって1週間もしないうちに連絡をいただいたんですよ! 「早いな」と思いました(笑)。
try! Swift Tokyoの特徴とは
――今日は山野井さんから松館さんに質問したいことがあるそうですが。
山野井:鈴木社長との対談でも少し話題になっていましたが、松館さんがメインオーガナイザーをしているtry! Swift Tokyoについてもう少し伺えればと。
松館:いいんですか、そんな話をさせていただいて(笑)。
山野井:はい。RIZAPもスポンサードさせていただきますし(※2024年3月に開催されるtry! Swift Tokyoに、RIZAPはスポンサーとして参加)、ぜひ(笑)。
松館:ありがとうございます。では簡単に説明すると、try! Swift TokyoとはSwift言語やiOS、macOSを始めとしたAppleプラットフォームなどの最新情報や開発者同士の交流をテーマに、毎年東京で開催している Swiftのカンファレンスです。
もともとは Natasha というアメリカ在住のファウンダーがいるんですけど、彼女は日本が大好きなので「日本で Swiftカンファレンスをしたい」となり、前のメインオーガナイザーである岸川さんに相談がいって、2016年に渋谷で開催されたのが始まりです。
最初はサイバーエージェントの前のオフィスで、200〜300人ぐらいの規模でした。try! Swift 自体はそれ以降ニューヨークやバンガロール(インド)など、ほかの国でも開催されるようになりました。いっぽう東京でも毎年回を重ねるごとに参加人数は多くなっていったのですが、2020年から3年間は残念ながらコロナでお休みとなりました。来年の3月は久々の開催となるので、まさに今、その準備をしている段階です。
山野井:参加人数はどれぐらいですか?
松館:想定規模は800人ぐらいで、例年、そのうち200人ぐらいは海外から来るんですよ。今、円安だしインバウンドの需要がすごいので、もしかしたらもっと増えるかもしれません。
山野井:iOSDCとの大きな違いはなんでしょうか。
松館:他のカンファレンスのことはあまりこうした場所で言及しないようにしていますが、たとえばtry! Swiftの特徴的なところでいえば、基本的にスピーカーはこちらからお声がけさせていただいて招待しています。
普段お会いできない海外の方が多いですが、国内の開発者にも良い登壇の機会となるようにバランスには気をつけています。
LT (ライトニングトーク。カンファレンスやフォーラムで行われる短いプレゼンテーション)は公募型を取っていて、プロポーザル(提案、企画)を提出いただき、こちらで採択させていただいてます。
また、セッションはマルチトラック(同時進行で複数のセッションを行う)ではなくシングルトラックでやっていることも特徴ですね。一つの大きなホールで一つのセッションをやり、みんなで同じものを見ようというスタイルを伝統的に踏襲しています。これは別にポリシーということではなくて、気づいたらそうなっていた、っていう感じなんですけど。
800人収容できるホールが少ないため、場所を探すのが本当に大変なのですが、なんとか探し出してやっています。
そんなわけで、2024年3月はベルサール渋谷でやります! ベルサール渋谷は二つあるんですけど、渋谷ガーデンではなく渋谷ファーストのほうなので、間違えないでくださいね(笑)。
技術顧問としての関わり方とは?
山野井:渋谷警察署のほうですね。わかりました!
次の質問なのですが、先ほど鈴木社長との対談でも「いろんな会社に関わる中で、タイミングはすごく大事」というお話があったと思いますが、松館さんは技術顧問をされている会社さんと、どのような関わり方をされていますか?
松館:会社さんの規模とかエンジニアのレベル感が全部違うのでカスタマイズしながらになりますね。たとえば技術的なトピックスを落とす会を月1くらいで実施している会社もあれば、Slackで聞かれたときだけ回答することもあります。
松館:1回やって面白かったのは、僕が当時技術顧問で入っていた三つの会社さんを全部集めて、Meetup(共通する興味のある分野や趣味などに関してインターネット上で告知が行われ、参加者が集まるイベントのこと)をやったことですね。
そのときはオンラインだったんですけれど、各企業で SwiftPM(Swiftのソースコードで構成されたパッケージを、依存関係を解決しつつ利用できるようにしてくれるApple製のパッケージマネージャー※)を導入し、その後どうなったかという評価をしてもらいました。導入しきったところ、まだやっている最中のところ、今からやりますみたいなところと全部ステータスが異なっていて、そういうところも面白かったですね。
――新人の方の育成に関わられることもあるのでしょうか?
松館:私の可処分時間が限られているので、とくに新人にフォーカスしてということはないのですが、一応月に1回開かれる会では、全員に今何をやっているかを話してもらっているので、それに対して「こういうアプローチのほうがいいよね」みたいにお話をすることはあります。
山野井:僕の個人的な希望としては、松館さんにまずコードレビューをしていただきたいです。
先ほど社長の鈴木からchocoZAP事業はすごい勢いで伸びているという話がありましたが、今、アプリの品質を担保する時間がほとんど取れていないのが実情です。
松館さんからも「コードの根元から腐っていくと、すべてが崩れてしまう」というお話がありましたが、まさにそのとおりだな、と。
あとは新規事業をどんどん推進していくときに、示された方針に対する具体的なやり方についてもご意見をいただければと思っています。
松館:そうですね。僕は業務のドメイン知識を持っていないので、皆さんから「こうしたい」というwillをいただけたら、それに対して「こうしたほうがいいですよ」とお伝えしていくつもりです。
コードに関しては、見えないところから腐っていくので、明確に「ここをこうしましょう」と言うのが難しいところではありますが、とはいえそこをサボると取り返しのつかないことになるので、その辺りのお話もこれからしていければ。
山野井:ありがとうございます。あとは今、RIZAPテクノロジーズではTCA(Swiftを用いたiOS/macOS/tvOS/watchOSアプリ開発用の状態管理フレームワーク)を採用しているのですが、僕も全部見切れていない部分やキャッチアップができていない部分もありますので、TCAの勉強会とかもしたいです。今後、機能をどんどん拡張しても耐えられる堅牢な作りになっているかなどもぜひ見ていただきたいです。
松館:TCAに関しては、ライブラリとしてオープンになる前からPoint-Freeが公開しています。最近アップデートが多すぎますが最新版まで更新していますし、コンセプトも理解していますので、そういったところは教えていけるかなと思います。
山野井 :めっちゃありがたいです…!
・・・
後編では、エンジニアとして成長するために必要な心構えやchocoZAPの未来についてお届けします!
>>>後編へ続く
この記事が気に入ったらサポートをしてみませんか?