PHP カンファレンス福岡 2023 参加レポート
2023年6月24日にPHPカンファレンス福岡2023に参加しました。
1. 会場の様子
博多駅から徒歩7分の福岡ファッションビルの8階でした。博多駅からのアクセスが良いので、駅まで戻ればお昼ご飯の選択肢が多く、この立地の良さは嬉しかったです。(そういえばキャナルシティも近い)
会場は広く、Fusicホール、VAddyホールは10分~40分のトークが、Dホールでは当日飛び込み登壇できるLTが、Cホールはスポンサーブースと、登壇者とお話しできるブースがありました。
※ 参加者のネームタグの裏がタイムテーブルになっており、非常に便利でした。
2. 聴いたトークと学び
伝えたい!オフラインのカンファレンスに参加するメリットと参加してから200%楽しむために実践してほしいこと
🧑🏫 @kotomin_mさん
📝当日メモ
これまでたびたびオフラインカンファレンスに参加してきたスピーカーが、参加者としてめいいっぱい楽しむコツを自身の体験をもとに話していただきました。
🗣️ "トーク"を楽しむ
リアクションを大きくしよう!3割り増しでリアクションをすると、スピーカーも安心し、いいトークになる
スピーカーと話してみよう!その場でスピーカーに話を聞けるのはオフラインの特権
スピーカー全員話しかけられたいと思っているし、緊張しているので、勇気を持って行こう
👥 参加者同士のコミュニケーションを楽しむ
何話せばいいかわからない時は、"普段の仕事"のトピックや、"今日聞きたいトーク"の話が良い
どうしても話せない時はスタッフに話しかけるのが良く、スタッフは参加者に楽しんでほしいはず
🍻 カンファレンス後も楽しむ
スピーカーも参加する人が多いので、ここでも聞きたかったことを聞いてみてもいいはず
懇親会でも話しかけづらそうであれば、事前にカンファレンス中に話しておくと懇親会でも話しやすい
🌱感想
カンファレンス参加は3回目くらいですが、大事だな〜〜〜と思って聞きました。毎回びびってトークだけ聞いて帰りたくなりますが、グッと堪えてたくさん初めての人と話していこうと自分を鼓舞しました。
DOMのテストがどんどん書きたくなる Testing Library の世界への招待
🧑🏫 @laco2netさん
📝当日メモ
壊れやすくコストパフォーマンスが低いと思われ、敬遠されがちなUIテスト。できるだけ壊れにくく、しなやかなUIテストを書くためのライブラリ"Testing Library"の紹介をしていただきました。コストパフォーマンスが高いテストとは何かといったところから、このライブラリの強みまで、丁寧に伺えました。
登壇後に別途質問ができるAsk the Speakerにも行きました。
💻テストのコストパフォーマンス
コストパフォーマンスが悪いと、、書ける時にしか書かれない
コストパフォーマンスとは、テストを書く際に発生する複数のコストに対して、"本番環境に行く前にバグがないという安心"という成果がどれだけ得られるかである
テストがあってもなくても、動くコードは動くのだから、テストは、安全ではなく安心のために書く
😭UIのテストはなぜ書かれないのか
UIは変更が多く、UIテストはすぐ壊れてしまうので、コストが増大し、壊れてしまうという通説があるが、UIの変更によってユーザの使いごごちは変わっていないのにテストが壊れてしまう状況がおかしいのではないか
ユーザはHTMLのコードを読まないので、HTMLをテストするのではなく、ユーザが知覚可能な情報と、ユーザが実行可能なアクションをテストするべきではないか
ハイコストハイパフォーマンスのE2Eテストではなく、ローコストハイパフォーマンスのテストを目指す
🧰Testing Library
コンポーネントレンダリングテストはDOMを見なさいという思想のもと、さまざまな言語で暖簾分けされているライブラリ
アクセシビリティを書いていないとテストが書けないので、テストを書くことでコードのアクセシビリティが高まる→TDDとも相性がいい
アプリが壊れた時にテストが壊れるように設計することができる
🎓Ask the Speaker
社内で最近TDDについて輪読会をしていたので、TDDと一緒に使う際のことについて気になりました。登壇の中でTDDと相性が良いというお話がさっと流されてしまったので、ぜひ会社へのお土産に聞きに行こうと思い突撃しました。
どういう部分がTDDと相性が良いのですか?→テストに抽象度があり、しなやかで、動くコードを改変する余地があるので、テストを先に書くステップが存在するTDDと相性が良いというお話しだった
実際にTesting Libraryを使う中で使いにくい点とかありましたか?→仕事でも趣味でも使っているが、いまのところないそうな一方、アクセシビリティが悪いコードに導入するのは大変なので、しっかりアクセシビリティを書こうというお話をした
(私の知識不足などで誤解していなければこんな会話だったと思います)
🌱感想
最近テストしたい機運が高まりつつ、フロントエンドが好きなので、この話はなんとしても聞かねば!と思い聞きました。帰ったら手を動かして遊んでみようと思いました。趣味の個人開発のプロダクトにも軽率に導入してみたいです。
育成力 - エンジニアの才能を引き出す環境とチューターの立ち回り
🧑🏫 @Y_uuuさん
📝当日メモ
Fusicの社内研修の話を交えながら、新しいメンバーのスキルオンボーディングの話をしていただきました。
Fusicにおける研修の目的と概要
「開発にスムーズにjoinしてもらいたい」「与えられた課題をタスクに落とし込んで自走できるようになって欲しい」という2つの目的がある
新卒中途問わず、プログラミング言語、フレームワーク、データベース、クラウドなどの知識を得て、社内開発を行う→チーム内から1名チューターが伴走する
受講者のスキルはバラバラで、一人一人特徴があり独自の視点を持っているため、チューターによる手取り足取りな指導や、金太郎飴的な研修はそぐわない
研修の関門、社内システム開発
研修期間のラスト1~3ヶ月を使って社内システムを作り、発表会を行う
受託の予行練習的であり、ヒアリングを行ったのち本当に求めているものを引き出す
チューターはどう立ち回ったらいいのか
進め方などは新人に任せるが、ゴールやねらいは明確にする→先読みして能動的に動けるようになり、社内開発で必要な調査を研修始まって間もないタイミングで始める新人もいた
毎日どのタイミングで話すなど、コミュニケーションを取れる場をたくさん用意する→そのタイミングでまとめて質問するように自主的に動いてくれた
自作キーボードを作ったりISUCONに参加したりなど、本人のやりたいを尊重する
🌱感想
ちょうど新卒で研修を受けている身からすると非常に親近感が湧く思いで聞きました。会社の規模は大きいと思っていたので、一斉型の研修ではなく、個々人に合わせた研修になっているのは驚きました。みんなでオフィスで自作キーボード作ったり、ISUCON参加している様子を見て楽しそうでいいな〜〜と思いました。
脆弱性もバグ、だからテストしよう!と唱えて8年が経ちました
🧑🏫 @cakephperさん
📝当日メモ
脆弱性診断ツールVAddyを作っているスピーカーの方から、そのプロダクトが世に広まるまでのプロセスを伺いました。
🌱感想
なかなか売り上げが立たない初期の話は、非常にグッとくるものがありました。そこから日本国内向けに決済を絞ったり、フリープランを廃止したり、当たくさんの機能を推していたところから、シンプルな売りに変更した話など、転換期の話が面白かったです。
レガシー回避のPHP開発術:保守性の高いアプリケーションを作る方法
🧑🏫 @hanhan1978さん
📝当日メモ
PHPでも難しい設計の議論から離れて、気軽に保守しやすいアプリケーションが作れないかというお話でした。
🌱感想
後半は、組織・チーム編成の話や、計算機科学はやっておいた方がいいぞというお話、テストは書きましょうという教訓やアーキテクチャについて恐れず学ぼう、コミュニティに相談しようというトピックがてんこ盛りで、ロードマップを引きながら聴くことができました。本の紹介も多く、積読本が増えました。
APIシナリオテストを書くべき10の理由
🧑🏫 @katzchumさん
📝当日メモ
APIを実装する時に全てのエンジニアにAPIシナリオテストの便利さを知ってほしいという思いから、APIシナリオテストを導入して感じたことを話していただきました。
💡APIシナリオテストとは
複数のAPIテストを連鎖的に呼び出して実行するテスト
例えば、ユーザの新規登録をして、その後更新するケースでレスポンスを次のAPIパラメータとして渡す
🏫APIシナリオテストを書く10の理由
APIのスキーマの品質を向上させることができる
テストを迅速に開始できる
UIテストと比べて実行スピードが速い
テストの安定度が高い
テストを効率的にかける
シナリオがドキュメント代わりになる
自動テストの組み込みが容易
リグレッションテストにも使える
ネガティブテストをしやすい
負荷テストにも活用できる
🌱感想
UIテストよりもこちらのほうがとっかかりやすいかも?と思いながら、家に帰って試すために楽しく聞きました。一方で単体テストでなくこっちにした方がいい場面もあれば、単体テストの方がいい場面もありそうで、どういう基準でこれを使うか選ぶのいいだろうと考えながら聞いていました。
制約の力: 可能性を狭めるアプローチ
🧑🏫 @shin1x1さん
📝当日メモ
ソフトウェア開発において、制約をつけることで、コードの意図を明確にしたり、誤解が生まれるコードから脱却したりしようというお話でした。
🌱感想
これから業務でコードを量産していく中で必要な知識が多く非常に勉強になりました。ライブラリの影響範囲を限定させるためにラッパークラスを使うのはなんとなく業務でやったことはあったのですが、ちゃんと詳しく話を聞けたのは初めてだったので、聞けて良かったなと思いました。また、制約を入れるなら最初から入れよう、後からやると酷い目に遭うよという話は非常に教訓だなと思いました。
ソフトウェア設計がプロジェクト管理にどのように影響を与えるか
🧑🏫 @o0h_さん
📝当日メモ
ソフトウェア開発において、期限と制約は決まっているものの、そのほかのものの多くは曖昧で、常に変わってしまうものであるので、その中でどう開発を進めていくかというお話でした。
🌱感想
"コードを書くことは捨てることになる可能性があるものを増やすイメージ"というフレーズがずっと残っており、曖昧さを許容しながら開発を進めていく大変さと、それゆえのソフトウェア開発の面白さみたいなものを感じました。
トークを聞いた総括
1年半前に初めて参加したカンファレンスに比べると、トークの中身がだいぶ何話しているかわかるようになった気がしました。
一方で、テストとか設計の話しか聞いてない~~~と思いました。最近テストに関心があったので話を理解でき、個人的には嬉しかったですがもっとPHPの話も恐れず聞いても良かったかなとも思ったり。
3. 当日お話しした方
他社の新卒の方
今年3月のYAPCで知り合った他社の新卒の方と福岡で再会し、その方のつながりで新しく4人の新卒エンジニアと知り合いました。
私はいまの会社で、初めてかつ1人きりの新卒なので、同じ世代の働き方や研修の話を聞けて、非常に新鮮で参考になりました。社外にゆるい知り合いができるのは心の支えになるなあと思いました。
pixivブースの皆さん
PIXIVのブースに遊びに行きました。手帳型の電子黒板などがあり、非常にノベルティが充実していて感動しました。
ブースでは、クイズが行われており、回答をするとノベルティがもらえるというアクティビティがありました。
社内でこんな取り組みまでしてるんだ〜!という発見と、それについてエンジニアの方に詳しく質問できる機会があり、まさかのトーク1本分すっぽかして話し込んでしまいました🙏
地元のエンジニアの知り合い
地元で規模の大きなカンファレンスに参加するのが初めてだったので、「カンファレンスなのに会場歩いてたら知り合いとよく会う」って不思議~~~!と思っていました。これまでのカンファレンスは完全アウェーだったので、今回はいい意味でリラックスしていた気がします。
4. まとめ
地元で開いていただいて、めっちゃ嬉しかったです!!!今までは飛んで各地で参加することしかありませんでした。それはそれで観光できたり現地の人と話せて楽しかったのですが、地元だと地元に根ざしている企業のトークが聞けたり、遥々きた皆さんが地元を楽しんでくださっているのをTwitterなどで拝見できてちょっと地元に誇らしさを持てたりして、今までのカンファレンスとはまた違った楽しみ方ができました。
次はどこにいくか未定ですが、CfP出すぞ!