BASEプロダクトチームブログ

ネットショップ作成サービス「BASE ( https://thebase.in )」、ショッピングアプリ「BASE ( https://thebase.in/sp )」のプロダクトチームによるブログです。

YAPC::Kyoto2023 に参加しました

BASEでバックエンドエンジニアをしている、遠藤(@Fendo181)です。
2023年3月18日に開催された「YAPC::Kyoto 2023 前日祭」と、2023年3月19日に開催された「YAPC::Kyoto2023」に参加してきました。

「ブログを書くまでがYAPC」 という事でこの記事では参加レポートを書きます。
結論を先に言うと「YAPC::Kyoto2023 最高でした。」というのが自分の感想になります。

「何をもって最高だったのか?」というのはこの記事のまとめに書きますので、まずは参加レポートから紹介していきます。

この記事では自分のセッションも含めて「YAPC::Kyoto 2023 Reject Con」と「YAPC::Kyoto 2023」で発表されたセッションの中でも特に良かった8件を紹介しています。紹介しきれてなかった発表も沢山あるので、気になる方はタイムテーブルからセッションの詳細などを見て探しみてください。

YAPC::Kyoto 2023 タイムテーブル

また、当日の感想や他の人が書いた参加レポートはTwitterでハッシュタグ、 #yapcjapan で追う事ができますので、こちらも是非ご覧になってみてください。

YAPC::Kyoto 2023 Reject Con

PHP8によるデザインパターン入門 by FutoshiEndo

speakerdeck.com

ref: YAPC::Kyoto 2023 前日祭の「YAPC::Kyoto 2023 Reject Con」で登壇します - BASEプロダクトチームブログ

前夜祭での発表でしたがトップバッターだったので凄く緊張してました。
YAPCはPerlだけにとどまらない技術者たちが好きな技術の話をし交流するカンファレンスというのは知っていたのですが、PHPの話題で喋っても大丈夫かな...?という気持ちが強かったです。
また 「Design Patterns: Elements of Reusable Object-Oriented Software」で紹介されている23個のデザインパターンが作られた歴史的な背景も説明するスライドもあったので限られた時間でPHP8の文法も混ぜつつ説明ができるかは凄く悩みました。

結果的には社内の同僚から沢山レビューを貰い当日は時間内におさまる形で発表ができました。
お忙しい中でレビューしてくださった、@glassmonekey さん、@Panda_Programさん、@nazonohito51さん、O2 さんの皆さんありがとうございました。

また、このスライドを作成するにあたってはBASEに在籍されていた Kazuki Higashiguchiさんの以下のスライドをとても参考にさせて貰いました。
改めてこの場で感謝を伝えさせてください。ありがとうございました。

自分が紹介したスライドを見た方はわかると思いますが「まとめ」の後の「最後に伝えたい事」で「"How" age faster than "Why"」をテーマに「手段にとらわれず、本質を追い求めましょう」というメッセージを追加しました。
YAPC::Kyoto には学生の方も参加される事をしっていたので少しでも響くメッセージがあればと思い入れました。
ただ、デザインパターンを覚えれば良いではなくて、本質を追い求めていく姿勢が大事という事が伝えれて良かったと思います。

インシデントレスポンスを自動化で支援する Slack Bot で人機一体なセキュリティ対策を実現する by hiboma

speakerdeck.com

hiboma さんによるSlack Botを使ったインシデント時の支援についての紹介でした。
具体的にはGMOペパボでの活用事例について紹介があり、インシデントマニュアルの呼び出しや、初期衝動を呼び出してチャンネルを作成したり、関係者に自動で連絡が飛ぶようにしたり、ポストモーテムの作成支援等で使われている事例が紹介されておりました。

インシデント対応に関して個人的に関心が高かったのでここで紹介されているSlack Botでの活用は現職でも今すぐに取り入れたいと思いました。
一時的なページにアクセスができない問題や、連携先の外部サービスによって機能が使えなくなる等と、影響範囲の規模は関係なく障害は常に起きるものだと認識しています。そういった常に発生するインシデントに対して、復旧作業を優先するように Slack Bot が支援する体制というのは、どこの企業でも取り入れて良いと思ったので、凄い参考になりました。

チーム開発における様々なボトルネックの整理 by すてにゃん

speakerdeck.com

この発表では すてにゃん さんが実際にチーム開発を通じて感じたボトルネックに対する考えた方や解決方法について紹介されていました。
改善サイクルが回っていない話から、チーム内の連携のイマイチになってしまっている例を提示しており、そこからの具体的な解決方法までわかりやすくて説明していました。チーム開発での課題は、リモート体制になってから顕著化していると思っていたのでともて刺さる内容で、スライドの中では「スコープ×カテゴリ」で絞るお話がされており参考になりました。
こういったボトルネックは放置しておくとチーム開発の速度低下になってしまうので自分も聞いていて実践したくなりました。

try { Support Engineer } catch($e) { joy, pride, and prospect } by kyanny

docs.google.com

kyanny さんの発表では GitHub Enterprise のサポートエンジニアとして、これまで行ってきた仕事や、やりがいについて紹介されていました。
自分が前職で CRE(Customer Reliability Engineering)をしていた事もあったので 「目の前の具体的な問題を解決するところ」や「フィードバックサイクルが短いところ」などはとても共感をしました。
また同時にしんどい所でもあげていた「小さい締め切りに追われるところ」も胸が痛くなるぐらいわかる部分でした。

サポートエンジニアやCREでも目の前で困っているユーザ様の課題を拾って解決したり、改善するというのは言葉では表しきれない達成感や喜びがあります。また、CS(Customer Support)さんとも連携したり、社内間で同僚とのコミュニケーションが必要なスキルなので 「(テキスト)コミュニケーションを通じて、いかに迅速に相手と意思疎通して問題点を明らかにし解決に導くか」 はとても納得しながら聞いてました。

YAPC::Kyoto 2023

小さく始め、長く続けるOSS開発と貢献 by Songmu

ghqpecoを開発し、メンテナンスされているsongmu さんによりOSS開発に関する発表でした。
OSS開発によってどんなメリットがあるのか?の話では設計力が身についた話だったり、コミュニティにおいて仲間が出来たというお話がされておりました。またOSS開発について「ある意味プロダクトマネジメントができる」という視点での紹介もされており勉強になりました。

一番印象に残っているのが 「正しいコードの先にある個性豊かな美しいコード」 というワードで、とても心に響いたのを覚えています。
良い設計のために名前付けをする事が大事なのはわかっているのですが、「コーディングの世界でも文学のような個性が現れる世界があるのか...!」と気になりました。まるで小説の作家ごとの文体や行間の細かい癖が、コードの世界にもあり、個性豊かで美しく現れているのはOSS開発を始めたくなる強いメッセージだと思いました。

入門 障害対応 「サービス運用はTry::Catchの繰り返しだよ、ワトソン君」 by RyuichiWatanabe@gurasan

speakerdeck.com

Ryuichi Watanabe さんによる 障害対応フローにおける一連の作業の流れ紹介した上で、実際にサイトにアクセスが出来なくなったケースを例に具体的に対応する事を書いていました。このスライド、本当にわかりやすいです。 障害対応は常に発生する一方で、対応方法について属人化している部分があります。
影響範囲の特定から関係者への通知、早期復旧作業の一連の流れのエッセンスを上手くまとめており、非常に参考になると思いました。
またこのスライド中で紹介されていた 「障害対応能力向上施策」と障害対応時のナレッジと解決方法をまとめた 「Playbook」の作成は今すぐでも導入したい内容でした。

Playbookについては始めて聴く言葉だったのですが、メルカリのテックブログでもPlaybookについて言及されており勉強になったのでリンクを共有しておきます。
ref: メルペイのシステム運用とPlaybookの共通管理への挑戦 | メルカリエンジニアリング

あの日ハッカーに憧れた自分が、「ハッカーの呪縛」から解き放たれるまで by あらたま

speakerdeck.com

cake.jpのCTOである あらたま さんによるハッカーに憧れた一人のエンジニアがギャップに苦しみながらキャリアを模索し、組織での役割も考えながら「ハッカーとは何であり、何でないのか?」を自分視点で説いた、素晴らしい発表でした。
自分もベストスピーカーとして投票をしたのですが1つの映画を見終わった後の満足感がありとても良かったです。

ハッカーになろう (How To Become A Hacker) という有名な記事があります。
何を隠そう自分もC言語のポインタが理解できない学生の頃からこの記事を何度も読んでは自分を鼓舞して、ハッカーに憧れていた一人のエンジニアでした。
そういった意味で「ハッカーの呪縛」というのはとてもわかる内容でした。

発表の中で「事業・技術の2つの軸を同時に極める事は難しい」という題材から第3の軸である「組織」を例に整理して「ハッカーにあり続けるために」へ導くまでのスライドは、今働いているエンジニアや、これからエンジニアになりたい人にも響く内容で素晴らしいスライドだったと思います。

そしてスライドの中で紹介されていた 「Whatから出すケーパビリティがなくても、WhyからWhatまでを正しく理解し、Howに責任を持てるエンジニアにならなければならない」はとても響いたメッセージでした。

改めてベストスピーカー賞おめでとうございます。

YAPC::Kyoto 2023 キーノート: 私とPerlとYAPCとはてなと私 モブがメインキャラを目指す話 by Yasuhiro Onishi

speakerdeck.com

株式会社はてなの取締役 組織・基盤開発本部長の大西さんによる発表で、はてな誕生秘話の歴史から大西さんが、一人のモブ(社員)からエンジニアとして会社へ貢献し、組織を引っ張っていくメインキャラになる為の人生が紹介されていました。
個人的にはもう一つのベストスピーカー賞はこのキーノートだと思っています。

エモーショナルな話がメインだと登壇者のブログ記事に書いてあったのですが、一人のエンジニアとして組織に配属していれば誰もが共感する内容でとても良かったです。個人的にPerlコミュニティでの熱意が大西さんを動かして、キーノートで自らもYAPC::kyoto 2023で発表し、参加している方へ熱意を与えてる一連の流れが素晴らしく泣ける発表でした。

後日アーカイブ動画が公開されると思うので、機会があれば是非動画で見てその熱意を受け取って欲しいです。
発表お疲れ様でした。
そして、ありがとうございました。

まとめ

YAPC::Kyoto 2023が、自分にとって始めての「YAPC」参加でした。
YAPC参加する前からPHPやRubyの技術コミュニティでの勉強会やカンファレンスにも参加した事があったのですが「YAPC」ならではの良かった事の1つにPerl技術コミュニティの存在が大きいと感じました。

Yasuhiro Onishi さんのキーノートでも 「YAPC::Asia Tokyo 2006」の話が紹介されていたり、 あらたまさんのスピーカーでも 「YAPC::Asia 2011」の話が出ていたり等、過去の登壇者の発表に感化されて技術を磨き、そして再度「YAPC」で発表をするといった、一種の師弟継承が垣間見える瞬間がありました。

それはPerlに限らずどの技術コミュニティでも起きている話なのですが、YAPCに限った話で言うとPerlに限らず色んなプログラミング言語の技術コミュニティに影響を与えていると思いました。それはYAPCが「Yet Another Perl Conference」という意味であり、 Perlだけにとどまらない技術者たちが好きな技術の話をし、交流するカンファレンスだからだと思います。

そういった意味では全てのエンジニアが参加して楽しめるというのはとても素晴らしい事であり、参加できた事を嬉しく誇りに思いました。
本当にありがとうございました。

開催するにあたって沢山準備をして尽力された運営に皆さん、そして当日のスタッフの皆様お疲れ様でした。
次回も開催されると思うのでまた会場に足を運んで参加したいと思います。

おわり

記事内で紹介した登壇者のブログ記事一覧