PHPerKaigi 2025 に参加、登壇しました #phperkaigi

@Panda_Program

ソフトウェアエンジニアのための問答ラジオ

パンダとおくだが、Web業界の当たり前を「これって本当にそうだっけ?」と問い直すラジオを配信しています

PHPerKaigi 2025 にプロポーザルを出しました

同僚が実行委員長を務めた PHP Coference Japan 2024の参加熱が未だ冷めやらぬ昨年末、「来年は登壇や発信をがんばろう」とPHPerKaigi 2025にプロポーザルを出しました。プロポーザルを提出するにあたり、一番腰が重い部分は文章の作成です。

そこでまず、ChatGPT上にカンファレンス用のプロポーザルを作成するプライベートなGPTsを作りました。AIに手伝ってもらい、自分が話したいこと、話せそうなことについて3つのプロポーザルを出しました。

全部落ちました。すまん、ChatGPT。お前の消費した電力は無駄だった...。終わり。第三部完。

ではなくて、さすがに去年のPHP Conferenceのプロポーザルも全部通らず、こちらも通らないではどうにも居心地が悪くてですね、しかもプロポーザルの2次募集があるということではないですか。ということでやってしまいました。

モジュラーモノリスでスケーラブルなシステムを設計・開発する

テーマ、デカいって...。

今までの勉強会での発表内容やプロポーザルは「自分が話したいこと、話せそうなこと」を出してたんですよ。でも、会社としてもモジュラーモノリスで開発してることは発信しないといけないとずっと思ってて、でもそれをする中心人物たるアーキテクトがそれをする暇がないんですね。「あー俺時間ないわ」という地獄のミサワならいざ知らず、多忙で本当に時間がない人の「時間が足りません」という言葉は重いんですよ。

以前「弊社がレガシーコードだけで開発してると思われてるかもしれないので、開発者の間のイメージを新しくしたいんですよ」とアーキテクトに話したら「サポートするのでどんどんやってください」とのことだったので、自分も新しいトライだと、停滞は衰退の始まりだということでこういう重厚なテーマに挑戦することになりました。

そこで話せそうな素材をChatGPTに突っ込んで、プロポーザルとしてしっかりした形に仕上げてもらいました。ちょっと長いですが引用します(飛ばしてもらってもいいです)。

モジュラーモノリスは近年、マイクロサービスの代替として注目を集めています。このトークでは前半で設計の話を、後半で開発の話をします。

私が所属するBASE社では10年以上モノリシックなサービスでの開発が続いていましたが、デプロイ時間の増加や依存関係の複雑さにより機能提供のスピードに課題が出てきました。その課題を解決するためにモジュラーモノリスの新システムへの移行が始まって丸4年が経過しました。

本トークでは、モジュラーモノリスの基本的な設計概念から、その実現する方法論、また実践例について解説します。モジュールはコアドメインとサブドメインの考え方に基づいて区切られており、各モジュールの中ではアプリケーション層とドメイン層が分かれており、UnitOfWork での永続化管理やドメインイベントを用いた実装が可能になっています。

また、モジュラーモノリスを選択した際の利点とトレードオフについても議論します。具体的には、テストのしやすさ、デプロイの単純化、チーム間のコミュニケーションの向上など、エンジニアリング全体に与える影響を掘り下げます。メリットは多くありますが、それでも生じる課題についても触れていきます。

このトークを通じて、モジュラーモノリスというアーキテクチャの現実的な価値を理解し、チームやプロジェクトの規模に適したアプローチを選ぶための指針を得られれば幸いです。

しっかりしすぎじゃね?これ自分の能力超えてるわ...と思いながらプロポーザルを提出。採択されたら大変なのは目に見えてるし、採択されなくてもうーん、というダブルバインドを抱えながら日々を過ごしていたところ、ある朝メールボックスを開くと1通のメールが目に止まりました。

「PHPerKaigi 2025: トーク採択のお知らせ」

おはぎゃあ というわけで、カンファレンス登壇駆動の発表準備と相成りました。

PHPerKaigi 2025 の登壇資料を作りました

1月7日に採択メールをいただきまして、2ヶ月以上もあれば準備に十分時間があると思ったのも束の間、もう登壇1週間半前となりました。なんで?現実がタイムリープものだからです。

まあもちろん何もやってなかったわけではないんですよ。社内で大きめのプロジェクトに携わるようになった一方、1月は永平寺に行って座禅組んだり、雪の白川郷に行ってなぜか韓国人男性と友達になったり、同僚と伊東の貸切宿へ青春旅行をしたりと忙しかったんです。

じゃあ2月はというと、CodeZine様の連載記事を入稿したり(お仕事ありがたい...)、Developers Summit 2025で登壇させてもらったり(ありがたや...)、『オブジェクト設計スタイルガイド』の読書会を開かせてもらったり(ありがたい...)と忙しかったんです。

3月はTOEIC受けたり(スコアは925でした)、おくださんとラジオ収録して音声編集したり(最近はGeminiで少し楽できてます)、春休み中の弟に懇願されて困った親に自分が懇願されて、中国は重慶への4泊5日の弟との二人旅を企画、予約、手配、あれこれと忙しかったんです。...あれ?ぼくの時間、どこ...。

1月にプロポーザルが採択された時点で、弊社のアーキテクトには「骨太な内容になるので早めに目次作って送ります!」とSlack で DM してたんです。で、2月になって「まだできてないです、すみません」と詫びを入れ、3月頭になって「今週作って送ります」と書いたら社内プロジェクトが忙しくなり送れず、さすがに焦りました。言い訳してもいいわけないんだけどね...。

そして忘れもしない3月12日水曜日。重慶に出発するために有給を取っていた日の午前中に、(本当に)泣きそうになりながら「まだ何もできてなくて、登壇日は再来週の日曜日なんです...。」と午前中に Slack でアーキテクトに DM したら、「今からハドルしますか?」と言ってもらえて、Figjam上で「話したいことはなんですか?」と自分がその時考えていたことを整理してもらい、「ではこういうことを盛り込みましょう」と内容のアドバイスを貰いました(重要な箇所のスライドの文言も考えてもらえました...)。最後の方に言われた「ちなみに、私は登壇の時は準備に2ヶ月かけています」というお言葉は心に沁みました...。

(さすがにアーキテクトに迷惑と心配をかけてしまったことと、ここまで登壇などの関連で切羽詰まったのは本当に初めてだったのでかなり後悔しました。そもそもなぜ自分で旅行日を決められたのに、PHPerKaigiの登壇が終わってからの3月最終週にしなかったのかが本当に謎で、妻に「タイムスリップして戻りたい」と旅行の出発日に3回言ってました。キュアップラパパと魔法の言葉を言っても時間だけはどうしようもない...。)

出発日の午後、実家から新幹線に乗ってきた弟に会ったときに、自分が引きつった顔で「行きの飛行機の中で仕事するわ...」と言ったのを覚えています。ただ、その飛行機の中で、アーキテクトの作った2年前のスライド「BASE大規模リアーキテクチャリング」を、自分の新しい相棒の Heptabase 上でひたすら読み解いていたら、なるほどこういうことだったのかと理解し、光明が見えました。

マインドマップ

スライドのまとめ

ここでまとめたカードをそのままスライドに採用しました。80枚以上あるスライドの要約はこれだと言い切るのはかなりドキドキしましたが、帰国後にアーキテクトから「だいたいあってる」とお墨付きをもらい、レビューでの指摘もなかったので Heptabase のおかげだと思いました。

スライド

アーキテクトの作成したスライドをまとめていた行きの飛行機の中で「これは行ける」と確信を持ったため、現地到着時点で気分は晴れやかに。頭を完全に旅行に切り替えられました。Heptabase はマジ神ツールです。絶対ブログ記事書きます。

最終的に、中国旅行の3日目、電車に揺られてぼーっとしている時に、ふと「この構成にすれば筋の通ったストーリーになる!」と閃きました。それが今の章立てです。3月17日の日曜日夜に無事帰国し、その後はひたすらスライドを埋める作業をしていました(なお、弟との旅行中は毎日旅行記を書いていて、帰国後に数えたら4万字になってたのでどこかで公開したいとは思ってます)。

登壇前々日の金曜日にアーキテクトにスライドを見てもらって、レビューコメントの対応をしつつ、登壇の練習をしました。良い子は真似しないでね、どころか自分も今後もう体験したくはない過密スケジュールでした。

PHPerKaigi 2025 に参加しました

PHPerKaigi 2025は中野セントラルパークカンファレンスで開催されました。金曜日が day0 で、同僚がコードゴルフのバトルに出て準々決勝まで勝ち進んでました(すごい、お疲れさまです!)。土曜日は day1 で、自分はこの日から現地で参加しました(ビールの銘柄がバドワイザーだったので推し漫画だったアンデッド・アンラックを思い出しました。アンディ...)。

当日は会場の熱気もすごく、たくさんの人で賑わっていました。休憩スペースでは軽食が出されていたり、ペットボトルのドリンクが無料配布されていたり、ビールも飲めたりとすごいな〜と思いました。

気になっていたセッションに参加したり、現地に来ていた同僚と話したり、PHPコミュニティに参加している前職の元同僚と久闊を叙したり、Capiさんおぎさんを紹介してもらって話したり、翌日の登壇スライドに関してアーキテクトからリアルタイムのレビューを受けたりしていました。

当日参加したセッションは以下です。感想は別の記事に書きますね(会社の参加ブログの方で書きます)。

会場の皆さんの熱量を感じて、自分も発表内容をしっかり伝えたいと意気込みを新たにして帰宅しました。

PHPerKaigi 2025 で登壇しました

モジュラーモノリスでスケーラブルなシステムを設計・開発するというタイトルで、Track Bで登壇しました。

青ごへいもち さんにマイクを手渡してもらって、「2019年のイベント「大改修!PHPレガシーコードビフォーアフター」 で登壇されていた、あの青ごへいもちさんだ...」と内心思っていました。同僚の02さん もスタッフとして自分のセッションを担当してくださっていたので安心しました。

朝一の10:30からの早い時間の発表だったので(10:30って早いですよね?)、人が来てくれるか少し不安だったのですが、話している間にだんだん入ってきてくださって、最終的にはありがたいことに満席になっていたようです。

40分枠の登壇で、モジュラーモノリスの話をするために伝えなければならないことを前半と中盤に盛り込んでいました。しかし、皆さんに面白いと思ってもらえそうだなと思う内容がどうしても後半から終盤、時間にして30分経ったあたりからだったので、そこに行くまでに飽きないようにする工夫がいるよなあと話しながら考えていました。今度から何か工夫します。

内容としては、モノリス、マイクロサービス、モジュラーモノリスの変遷という歴史の一般的な話、BASEのリアーキテクチャがなぜ実施され、何を目指し、なぜモジュラーモノリスを採用したのかというコンテキストの話を前提として盛り込みました。

その後、モジュラーモノリスの基盤部分の技術的な話、各モジュール内の特徴や開発チームの話、最後に4年前から続くBASEのリアーキテクチャの狙いは今どういう評価なのか、開発組織の観点からお話ししました。

登壇後の Ask the Speaker でも色々なご質問をいただき(最終的に1時間くらい話し込んでました)、BASEのアーキテクト本人も来てくれて深い話をしてくれるなど、自分にとっても学びのある時間となりました。そのままその場にいたBASEのアーキテクトtoshioさんebinaさんの4人でランチに行きました。

day2 は以下のセッションに参加しました

懇親会ではインターフェースのお話で登壇された@k1LoWさんや「スタイルガイド本の勉強会に参加しました」と言ってくださったrikuto さんとお話したり、大阪から来られた方が社内で改善活動を頑張っているという話を伺ったり、ななうぇぶさんから鋭い質問を頂いたり(「私、モジュラーモノリス2回作ったことあるんです」と伺ってびっくりしました)、色々な方と話せて充実した一日となりました。

個人的なことですが、大学の時からずっとパーティ形式の懇親会に苦手意識があります。ただ、PHPerKaigi の懇親会は本当に皆さんフランクで温かい空気だったので安心感がありました。自分からももっと色々な方に質問して話しかけたらよかったな〜と思ったのと、もう人見知りとか言ってる場合でもないのでぜひどこかでトライしてパーティ形式の苦手意識を払拭したいなと思いました。

懇親会後、同僚と集合写真を撮って解散しました。みんな笑顔でいい写真でした!

PHPerKaigi 2025 を楽しみました!

PHPerKaigi 2025、とても楽しかったです!

実は PHPerKaigi の登壇は2022年以来2回目だったのですが、前回は引越しも重なり、自宅からアンカンファレンスでの登壇でした。

また、2018年に自分が転職してエンジニアになった時に、先輩から「PHPerKaigiという技術カンファレンスがあって、あそこに参加するのはPHPを使う人たちの中でもすごい人たちなんだ」と教えてもらった記憶が残っていたため、PHPerKaigi 初の現地参加は自分にとって特に感慨深いものとなりました。すごい人たちがいっぱいいるので自分はまだまだですが...笑

クロージングで長谷川さんが「スピーカーのみなさんとスポンサーのみなさん、そして参加者のみなさんのおかげでこのイベントがある」と仰っていましたが、いちスピーカーとしてはまず以てオーガナイザーの長谷川さんをはじめ、カンファレンスのスタッフのみなさんへの感謝があります。

参加者の方が集まれる場、登壇する場を用意してくださる方々のおかげで登壇という機会を貰えますし、PHPコミュニティの盛り上がりが肌で感じられます。また話を聞いてくださる方のおかげで、登壇、発信が成り立っているのだと改めて思いました。スタッフの方々、参加者のみなさん、本当にありがとうございました。

くぅ~疲れましたw これにて私のPHPerKaigi 2025 参加記事は完結です!驚いたことに自分のセッションの登壇中、中盤ごろに息切れしはじめたので、今年の残りは週一くらいでジムに行こうと思います。

次は4月のPHP Conference 小田原に参加します!またお会いしましょうノシ

パンダのイラスト
パンダ

記事が面白いと思ったらツイートやはてブをお願いします!皆さんの感想が執筆のモチベーションになります。最後まで読んでくれてありがとう。

  • Share on Hatena
  • Share on Twitter
  • Share on Line
  • Copy to clipboard