ヒビキ "技術選定" この言葉から何を感じるでしょうか?
「難しくてわからない…」と悩む人もいれば、
「あの技術を使ってみるのはどうだろう!」とワクワクする人もいるはず。
とりわけ事業、それもゼロイチのフェーズの新規プロダクトにおいては、
技術選定はその先のプロダクト開発の未来を大きく左右します。
事業づくりやその加速に最大限貢献できる技術選定とは、どんなものでしょうか?
このトークでは、技術選定を行う上で陥りがちな落とし穴や、
エンジニアリングと事業づくりをどうリンクさせ、事業づくりの加速に繋げられるのかをお伝えします。
候補を洗い出して、指標を評価して、いいものを選んでプロダクト責任者にいざ提案。
「いい技術選定ができたぞ!」と思っていたのに、実は見えていなかった視点があったことへの気づき。
LaravelやSvelteをはじめとする様々な技術の選定を進める上での失敗、不安、
そしてそれをどのように克服し、どう事業づくりの加速に繋げられたのか。
チーム唯一のエンジニアだった新卒3年目の私のリアルな経験に基づく学びをお伝えします。
このトークでする話
こんな方におすすめ
富所 亮 ある日ふと思いました。PHPで円を描きたいな……。
円という単純な形を画面に表示するだけの簡単なお題なのに、実際にやってみると驚くほど多様なアプローチが存在します。
今回は、その“いろいろ”をまとめて一気に紹介します。
普段バックエンドエンジニアとして向き合うのは、データベースと業務ロジックが中心。
それはそれで高度で面白いのですが、今回は少し頭を柔らかくして、PHPで円を描くというシンプルな遊びを一緒に楽しんでみましょう。
Capi(かぴ) これまで私はPHPを用いてダッシュボード向けのWebAPIを設計・実装してきました。また、それなりに多様なアプローチで開発してきた気がします。しかし、どのアプローチも完璧というわけではなく、それぞれに特徴と改善の余地がありました。
今回は自分の経験をもとにダッシュボードについてはもちろん、ダッシュボードを作る際のWebAPIのアーキテクチャスタイル(REST、GraphQL、 BFF)、開発、フロントエンドとの関わり、ログなどの非機能要件について紹介します。
話すこと(変更の可能性あり)
・ ダッシュボードとは何か
・ ダッシュボード向けWebAPIをどのように作ってきたか
・ 成功した点、苦労した点
・ WebAPIの設計、実装との向き合い方
話さないこと
・ Protobuf, RPCを利用した話し(経験がないため)
・ フロントエンド側の詳細な実装
勝佐拓也 PHP のコードは、データを「配列」に集約することから始まることが多いです。
「複雑なデータを整理しているはずなのに、なぜか読みやすい」
そんなコードに出会ったことはありませんか?
それらの多くは、 PHP という言語の特性である「強力な配列操作」を最大限に活かしているからだと思います。
本セッションでは、明日から現場で使える配列テクニックをお話しします。
・配列に集める技術:散らばった変数を整理するファーストステップ
・流れを作る技術:標準関数を組み合わせてロジックを表現する方法
・チームを動かす技術:可読性を高め、開発速度を上げるための共通言語としての配列
さあ、配列を武器に、試合をコントロールしましょう。
ムナカタ 「コードレビューお願いします」と投げたプルリクエストが、いつまでも待ち行列に並んでいる・・・。
そんな状況に心当たりはないでしょうか?
私たちのチームではレビュー待ちが大量に溜まっている状態が当たり前になっていました。
開発速度は落ち、レビュー品質の劣化、コンフリクト多発、リリースサイクルの悪化、
そんな悪循環をなんとか断ち切るべく、様々なことに取り組みました。
・PHPStanによる静的解析の導入
・プルリクエストのテンプレート改善
・AIコードレビューの導入
しかし、これらを実施してもレビュー待ちは減らず、最終的に効いたのは「毎日決まった時間にレビューする」という固定時間制の運用でした。
カレンダーに事前にスケジュール登録することで差し込み会議を防ぎ、優先度が下がりがちなレビューに強制的に着手する仕組みを運用したことでレビュー待ちが劇的に改善したのです。
このトークでは、レビュー待ちがチームにもたらす悪影響についてや、静的解析やAIでは解決しなかった理由、
シンプルな運用ルールがなぜ劇的に効いたのかを、実体験をもとにお話しします。
勝佐拓也 毎日インクリメントしてますかー!?
昨日の自分より 1 ミリでも前に進めたい、「インクリメント大好きおじさん」です!
何よりリリースして価値を届ける瞬間...最高ですよね。
でも最近、私が一番ハマっているインクリメント対象は、自分でもプロダクトでもありません。
「AI」です。
多くの人は AI をただのツールだといいますが、私は開発を加速させるジュニアエンジニアであり、
チームの新しい仲間だと考えています。
実際、本格導入から半年で、チームの実装時間は半分になりました。
その快適さを知ってしまった今、もはや彼らなしの開発には戻れません。
プロンプトを書く行為は、単なる命令ではありません。優秀な PHPer を育てる教育そのものです。
信頼できる PHPer が増えれば、それだけチームの判断力は上がり、実装スピードは劇的に変わります。
泥臭い調査は AI と協力して終わらせ、人間は「どう作るか」「何を作るか」の本質的な議論に集中できます。
人と人のレビュー文化に、AI という最強のパートナーを掛け合わせる。
チームを次の次元へ連れていく、開発の爆速インクリメント手法をお見せします!
H1R0 新人の頃は毎日が新しい発見の連続でしたが、業務に慣れるにつれて似たような仕事が増え、成長曲線が緩やかになったと感じることはありませんか?
私は成長曲線を再び急勾配にするために、毎日個人的なふりかえりを 1 年実施しています。
本セッションでは、日々の業務経験を確実なスキルへと変換するために私が実践している、2 つのフレームワークを組み合わせたふりかえり手法をご紹介します。
具体的には、平日は 1 日 10 分で完結する「4 行日記(事実・発見・教訓・宣言)」でクイックに経験を言語化し、週末は「ORID」を用いて深く内省する手法です。
コルブの経験学習モデルに基づき、業務時間から最大の学びを抽出して成長し続けるための仕組み化
そして実践したことで感じた効果について、実例を交えてお話しします。
想定する聴講者
・ある程度業務に慣れ、成長の停滞感を感じている中堅エンジニア
・日々の忙しさに追われ、やったことを振り返る習慣がない方
・アウトプットへの苦手意識を克服したい方
H1R0 普段使用している Nginx や Apache の仕組みを知っていますか?
Webサーバーは、ブラウザからリクエストを受け取り、PHPに処理を渡し、レスポンスを返すという当たり前の仕事をしていますが、その内側で具体的にどんな会話が交わされているのか、コードレベルで説明できる人は意外と少ないかもしれません。
・TCPソケットの確立
・生のHTTPリクエスト文字列のパース
・RFCに則った正しいHTTPレスポンスの生成
これらをPHPという「アプリケーション側の言語」で書き下すことで、HTTP通信のライフサイクルを完全に理解することを目指します。
H1R0 「もし間違っていたらどうしよう」「環境を壊したら怒られるかも」 そんな不安から、提案を躊躇したり、調査ばかりで手を動かせなかった経験はありませんか?
私は元々、失敗を恐れて発言できないエンジニアでした。しかし、ある時ギャルマインドをインストールしたことで、劇的に行動が変わりました。 本セッションでは、単なる精神論ではなく、開発プロセスを改善するための実践知としてのギャルマインドを解説します。
ポジティブ: PHPバージョンアップ作業で調査より壊れてもいいからやってみるを選んで効率化した話
行動力: 完璧主義を捨ててとりあえず出す勇気
バイブス: 肯定的なコミュニケーションがチームの心理的安全性をどう高めるか
明日から心にギャルピースを掲げ、不確実性の高い開発現場をサバイブするためのマインドセットをお話しします。
梶川 琢馬 アプリケーションを運用していると、外部サービスの遅延や内部の重い処理が原因で応答速度が不安定になることがあります。
私自身、サービス間の連携やドメインイベントの実装に取り組む中で、メインフローが時間のかかる処理と密結合していることが、遅延や障害につながるケースを経験しました。
こうした状況では、時間のかかる処理をメインフローから切り離し、QueueやPubSubなどメッセージングを使って非同期で実行するアプローチが有効な場合があります。
これにより応答速度が安定し、メイン処理と周辺処理を分離することで、変更に強い構造を作りやすくなります。
一方で、非同期化には同期処理では現れにくい落とし穴があります。
整合性のズレ、処理順序の乱れ、重複実行など...
適切な対処をせずに導入すると、期待した改善よりも複雑さが増すケースもありました。
本セッションでは、メッセージングによる非同期化を進める際に押さえておきたいポイントを、次の観点から整理して解説します。
イベント駆動アーキテクチャなどメッセージング導入について議論のきっかけになると嬉しいです!
DPon さてここを覗かれてるあなた、もしかしてプロポーザルに興味がおありでしょうか?
出してみたい気持ちがおありでしょうか?
出してみたいけどふんぎりがつかない。そんなお悩み抱えてますか?
このトークでそのお悩みを少しでも軽くできればと思います。
カンファレンスをより深く楽しめるようになりますよ!
梶川 琢馬 PHPではtry-catchによる例外処理が一般的ですが、「どこで例外を処理すべきか?」「本当にこの場面で例外を使うべきなのか?」と迷ったことはありませんか。
例外を過度に使用すると、本来の処理の目的が曖昧になり、可読性の低下や予期せぬバグの隠蔽につながることがあります。
こうした課題へのヒントとして、Result型の考え方をPHPに応用するアプローチがあります。
Result型は、成功と失敗を返り値として明示的に扱える型であり、エラーの種類や責任範囲の整理に役立ちます。
結果として、処理の流れや責務が明確になり、例外を多用せずにエラー設計が可能になります。
PHPでは標準で実装されていないものの、軽量な自前実装によって導入できます。
本セッションでは、例外(try-catch)を前提とするPHPプロジェクトに、以下の観点を中心にResult型を取り入れる方法を紹介します。
Result型を導入するかどうかに関わらず、エラーをどう設計するかを見直すヒントを持ち帰っていただけると嬉しいです!
斉田真也 国内のPHPコミュニティは、今も活発です。
しかし、10年以上PHPerとして現場を見てきた立場から申し上げると、参加者の年齢分布が静かに、確実に、変わりつつあるのを感じます。
若手の新規参入が減り、このまま放置すれば、PHPという文化そのものがゆるやかに縮んでいく未来を危惧しています(・・・言い過ぎ?)
本トークでは、コミュニティの高齢化が「気のせい」でなく構造的に起きている現象であることを、実例や現場感覚を交えて整理します。なぜ若手がPHPを選ばないのか。なぜ企業も新人をPHPで育てなくなってきたのか。技術面だけでなく、採用市場・教育環境・コミュニティ文化といった複数の視点から“本当の原因”を紐解きます。
その上で、みなさんが今日から現場で実行できる具体的なアクションを提示します。
「あとは現場の人が頑張りましょう」みたいな投げっぱなしの話ではなく、個人・企業・コミュニティのそれぞれができる実践できる施策を聞いて下さい。
話す内容
「高齢化しているらしいから危機感を持ちましょう」ではもうちょっと止められない状況にあります。
私のトークを聞き終わって、みなさんが会場を出たその瞬間から、何か行動を変えられるようにすることを目的にしています。
念の為にいうと、PHPの言語自体はさすがに廃れないと思っています。
ただし、何もしなければ静かに活気は失われていきます。
会場の皆さんと一緒に、PHPの未来を“作る側”へ回りましょう。
斉田真也 この現代でAIも盛んに使われる用になった中、「この言語じゃないとダメな理由」というのはかなり無くなってきてる気がします。
逆に言えば、言語の多様性がどんどん高まっている状況。
でもそうなってくると、出てくる一つの疑問「なんでPHPを使う必要があるのか?」
これを聞かれた時に「いや、それはね・・・」とかっこよく説明したいですよね。
欲を言えば、もうこれを見せるだけで終わらせられるような記事が欲しいですよね。
今回のPHPerKaigiのパンフレットはもれなく持ち帰りましょう。
そして、このパンフレットに書かれた記事を見せて「見てみて、こんなメリットがあるよ!」とプレゼンしましょう。
そのための記事を提供します。
エンジニアとして学び始めた頃の私は、「どう作るか」という手段ばかりを追いかけていました。
意識が向いていたのは以下のことです。
一方で、「なぜそれを作るのか」「誰の何を解決するのか」という目的にはほとんど目を向けられませんでした。
背景には初学者としての不安や失敗したくない完璧主義があり、手段だけを追うことで安心していました。
しかし、その結果、受動的な開発から抜け出せず、本質に気づけませんでした。
そんな自分を変えたのは、先輩エンジニアの一言です。
目的を言語化し、ユーザーの状況を想像して価値を定めてから手段を選ぶプロセスを意識したことで、開発の視界が広がりました。
完璧主義の方向性も変わり、以前は「100点」を目指していたのが、今は「60点を100点として目指す」ようになり、
余裕を持って自分から問いを投げかけられるようになりました。
具体的には、
こうして問いを立てる余裕が生まれ、開発の視点も行動も大きく変わりました。
このトークでは、
についてお話しします。
初学者や若手エンジニアにぜひ聞いてほしい内容です。
作ることの楽しさが一段深くなるきっかけになれば嬉しいです。
斉田真也 ※初心者向けトークです
このトークの対象者
トークが目指すゴール
Javaから始まったオブジェクト指向の波はPHPにも波及し、今やPHPは立派なオブジェクト指向言語になっています。
プログラミング初心者が抱く疑問「ところでオブジェクト指向の何が良いの?」という命題について。
これを改めて解説して「確かに良いね!」「便利だね!」「テストに活かせるね!」とみなさんに再認識してもらうのが目的です。
またそれと併せて日常生活に潜むポリモーフィズムの例を出しながら、わかりやすさに特化します。
さらに、日常生活に潜むポリモーフィズムの具体例を紹介し、わかりやすさを追求します。
熟練のエンジニアであっても、「頭では理解できるけれど、初心者にわかりやすく説明するのは難しい」と感じることがあります。高齢化が進むPHP界隈で、PHPの魅力や便利さを伝える流れの中で、オブジェクト指向の良さも一緒に解説しましょう。
「これ以上触らない」ことが決まっているレガシーシステムを、どう安全に未来につなげますか?
PHP5.6で動くレガシーシステム。詳しい人はもういない。新規開発の停止が決定してから3年が経過しているが、毎月しっかりと売上を生んでいる。そんなシステムのPHP8.3へのジャンプアップを、最小限の工数で安全に実現した戦略の解説です。
新規開発を停止している以上、「リファクタリングしてから」「テストを書いてから」と時間をかけることはできません。システムの詳細を理解している人がいない以上、少しでもリスクのある修正は取り入れられません。このような強い制約の下での現実的バージョンアップ戦略を共有します。理解度の低いシステムに対するPHPバージョンアップへの不安を解消し、具体的な対策を持ち帰っていただける内容です。
新規開発はしない、現状維持できれば問題ないお金を稼いでる以上、いつまで使われ続けるかわからない
こう言った状況で力を入れすぎず、楽かつ安全にバージョンを上げる実践例を紹介します。
学べること
内容
しめじ(smeghead) 「技術より業務知識が大事だよ」
20年以上前、技術の理解を深めれば良い仕事ができると考えていたジュニアプログラマーとしての私に、先輩が言った言葉です。当時は「業務知識が大事」と言う言葉自体の意味は理解できるしその通りであると思う一方、プログラマーとしての担当していた仕事内容から考えると実感として理解することはできずにモヤモヤしたものを感じていたのを覚えています。
今振り返ると、これは“ビジネスロジックと向き合う姿勢そのもの”に関する示唆であったと理解できるようになりました。
しかし、プログラマーにとってビジネスロジックはしばしば掴みどころがありません。仕様書やソースコードには結論だけが記述され、その背後にある意図や価値基準は薄まり、画面やDBの制約と混ざった断片として現れます。
特にジュニアプログラマーは担当範囲が限定されているため、言ってみれば視野が狭い状態から作業を始めることになります。ジュニアプログラマーにとって、ビジネスロジックを解像度高く把握するのが非常に難しい事であるというのは、自然なことなのかもしれません。
本記事では、この“プログラマーから見たビジネスロジックの掴みにくさ”に正面から向き合い、視点をアップデートすることを試みます。RUP(Rational Unified Process)が体系化した“ステークホルダー”という概念を参考に、ビジネスロジックを形づくる意図の源泉を理解するためのヒントを紹介します。要件定義の専門的な話ではなく、「プログラマーとしてどう捉え直せるか」が主題です。
zoe 昨年、私はPHPerKaigi 2025のコードゴルフ企画に初参加し、決勝後の“非公式コードゴルフ”で決勝問題に挑んでランキング入りするほど熱中しました。この原体験から「この熱量は社内でも再現できる」と考え、社内向けCodeGolfの内製と運営を開始しました。半年以上の継続運営で見えてきたのは、PHPコードを安全に評価する難しさや、継続参加を生む問題設計といった、本質的ながら意外に複雑な論点でした。
本セッションではどのように社内コードゴルフサービスを構築したか、半年間で実際に出した問題も全部例示しつつ、どう運営をしてどんな反応を得られたかについて話します。
提出コードを隔離実行しつつ無限ループや負荷暴走を防ぎ、公平性を保つ必要がありますが、実際には、「どこまで自由に動かせるべきか」や「安全性をどう確保するか」といった複数の論点が絡み合いました。本セッションではこうした“考えるべきポイント”を整理して紹介します。
継続参加の鍵は「短く書ける余地」「適度な難易度」「5〜10分で試せる小粒さ」の両立でした。AIに大量生成させることで良い題材の基準が明確になり、PHPの仕様がゴルフ的おもしろさにどう寄与するかも見えてきました。これらを踏まえ、問題設計の観点を紹介します。
ランク制によるレベル差吸収、忙しい時期でも取り組める構成、技術的対話が自然に生まれる環境づくりなど、CodeGolfは遊びを超え、組織の技術文化を育てる取り組みになり得ると分かりました。
藤掛治 市場の要求に応じた大規模な新機能の追加は、プロダクトの成長に不可欠です。
しかし、2001年ローンチの「メールディーラー」のようなレガシープロダクトは、その挑戦が特に困難です。
メールディーラーは全機能が一台のサーバーに集約され、フレームワークなしのPHPファイルでDBアクセスとHTML出力を行う陳腐化が著しいシステムが背景にあります。
その一方で、LLMに代表されるAIブームがメール共有市場にも影響を及ぼし始め、「AIを導入していないことがデメリット」へと市場の要請が変化。
私たちは、この状況に対応するため、「AIクレーム検知機能」をサービスに導入することを決定しました。
しかし、大規模なリファクタリングが困難な中、私たちはAI機能を既存システムから外出しする戦略を採用。
史上初のβ版をDocker互換のコンテナであるPodmanで構築し、実証実験を通じてChatGPTの精度を向上させました。
さらに製品版をAWSで構築することで実用レベルの精度を実現し、設計時の見積りより約65%のコスト削減に成功しました。
本トークでは、テクニカルリーダーである私が、このレガシーの壁を越えた戦略を具体的な事例を交えて公開します。
・AWS導入にあたり、利害関係者へ目的を整理し、どのように説得・合意形成したか。
・ベータ版での精度向上の試行錯誤と、AWS移行によるコスト削減とパフォーマンスの向上をどのように達成したか
・AWSのSQSを使い、レガシーと新システムとをどのように接続したか?
本セッションを通じて、レガシーなシステムに対して、市場の変化と最新技術を取り込む新しい試みの参考にしてください。