quus

祝いと呪い以外のすべて

PHPerKaigi 2023に参加しました

PHPerKaigi 2023に参加しました
(オンラインで)行ってきました、PHPerKaigi 2023!

現地参加の予定で近隣のホテルを予約していたんですが、直前に体調不良のためやむなくキャンセル。 全日オンライン参加となりました。

カンファレンス参加の経緯

数年前にEM(エンジニアリング・マネージャー)にジョブチェンジしてからのメイン業務はBiz-Devの橋渡しと交通整理、コードレビューや1on1など、直接コードを書く時間はかなり意識しないと取れなくなってきていました。

またテックリードの加入後は技術選定・アーキテクチャ設計の舵取りもお任せできるようになり、業務上の負担は減ったも一方で、自身の技術革新や技術知見のアップデート・フォローアップにリソースが割けていないことに危機感を強く感じ…。今年からは積極的にイベントやカンファレンスへ参加していこうと決意を新たにしていたのでした。

PHPerKaigi の熱量に元気をもらった

一言で言うと、めちゃくちゃパワーをもらった

より良い(≒優れた・速い・シンプルな)技術で、より複雑な課題を解決する。

エンジニアが日々しのぎを削っているのはとかくシンプルなこの命題のためだと思うのですが、ここに知見・経験値・情熱・技術愛とあらゆる角度から注がれる熱量の大きさにたびたび圧倒されました。 ニコニコ生放送経由とはいえ登壇者の皆さんのセッション・LTからこのアツさをひしひしと感じ、EMでなくいちエンジニアとして非常に大きな刺激をもらいました。

以下、自分が参加できた中から個人的に印象に残ったセッションをご紹介。

時間を気にせず普通にカンニングもしつつ ISUCON12 本選問題を PHP でやってみる

時間を気にせず普通にカンニングもしつつ ISUCON12 本選問題を PHP でやってみる by sji | トーク | PHPerKaigi 2023 #phperkaigi - fortee.jp

立っているインスタンスはDBでも使え!

とにかく終始激アツのセッションでした。 うちのPHPにももっとパフォーマンスを出してもらいたい。あとRoadRunner導入のモチベーションもらった。

speakerdeck.com

防衛的 PHP: 多様性を生き抜くための PHP 入門

防衛的 PHP: 多様性を生き抜くための PHP 入門 by しけちあ | トーク | PHPerKaigi 2023 #phperkaigi - fortee.jp

既存プロジェクトへの静的解析導入って相当なパワーがいると思うんです。そこに「防衛」と「多様性」という切り口でその必要性に迫ったテーマ設定がすごくいいなと思った。 あとはPhpStormをCIで動かせるという新たな知見。

speakerdeck.com

Rector ではじめる "運用を止めない" PHP アップグレード

Rector ではじめる "運用を止めない" PHP アップグレード by 工藤 剛 | トーク | PHPerKaigi 2023 #phperkaigi - fortee.jp

Rectorは元々興味あったので絶対聞く!と思ってましたが、以下の記事にもあるコロプラさんでのPHPバージョンアップ時の知見シェアがそもそも非常に学びが多く。

blog.colopl.dev

最近 PhpStorm でもサポートされるようになった Rector は、静的解析の力を利用してコードを自動的にリファクタリングしてしまうという静的解析の極地のようなツールです。今まで PHP バージョンアップの際には互換性のないコードを手動で修正しており、対応漏れがないかのチェックや置換するための温かみのあるシェルスクリプトを都度作成するなど、膨大な作業が発生していました。

変換は静的解析を用いて構文を解釈した上で行われるので、対応漏れが発生しにくく、一度ルールを作成すれば様々なタイトルで流用できます。

ノーメンテでPHPバージョンアップ、うちもやるぞー

実例から学ぶ変化に強いテーブル設計 - 責務の分解とRDBMSの上手い使い方

実例から学ぶ変化に強いテーブル設計 - 責務の分解とRDBMSの上手い使い方 by 曽根 壮大 | トーク | PHPerKaigi 2023 #phperkaigi - fortee.jp

これも楽しいセッションだった(弊社内Slackの実況スレッドが大いに盛り上がった)

DB設計のあるあると生の経験談を交えつつ、設計スキルをさらに洗練の域へと引き上げるための糸口が多々ちりばめられた、これぞ生のセッション!というプレゼンテーションでした。

返済計画のない技術負債は借金の踏み倒し


どのご家庭にもあるUsersテーブル


イージーとシンプルは両立する。どっちかしか取れないならシンプルを選ぶ

などなど沢山の金言も飛び出しました。

DB設計に関するポイントの多くは、セッション中も言及されていたこちらの記事でも詳しく解説されています。

agilejourney.uzabase.com

ポスター・セッションに参加

レプスとしては、今回PHPerKaigi初の試みというポスター・セッションに(滑り込み)参加させていただきました。

事前に社内エンジニアから「プロダクト開発・運用の失敗学」のテーマで失敗談を募集し、その後社内でテーマを厳選の上ポスターをまとめました。 (生々しすぎて「これはアカンやろ」とお蔵入りになった失敗談も多々あり)

当初は自分が現地のポスター前で参加者と交流する予定だったのですが、先述の理由により現地参加できず。叶わず残念でした。 でもTwitterでリアクションくださった方や、DMでポスター見たよと声かけてくださった方もおられて嬉しかったです。

speakerdeck.com

最後に

イベント参加中、自分とチームのスキルアップのために今のフェーズで何ができるかなーと考えていました。

事業・チームビルド・勉強会・エンジニア採用・・・などなど取り組むべき分野は限りなくあるように思えて目がくらみそうになりますが、まずは日々のエンジニアリングで弊社バリューのひとつ Built to Endure を忘れずにこつこつ取り組みたいと思います。

最後に、カンファレンスの事前準備、当日スタッフの方々のハードワーク、そしてすばらしいセッションの数々を提供いただいた登壇者の方々に感謝します!

来年は現地で登壇&参加するぞ(決意)。