こんにちは、EC-CUBE開発部の奥と、マーケティングプラットフォーム開発部の中山です。

このたび部署の違う2人で、「PHP[TEK] 2017」という、アトランタで開催された技術カンファレンスに参加してきました!
そのレポートをお届けしたいと思います。

「PHP[TEK] 2017」参加レポート
胸元にコーヒーなロゴが(!)

なぜ海外の技術カンファレンスに行くことになったのか?

私たち株式会社ロックオンの開発者は、日々、企業理念である「Impact On The World」を実現するために、最新の技術情報を日本国内だけでなく、海外からも収集する必要がある!と考えています。

それは、2017年1月末の夜・・・。
株式会社ロックオンの開発者たちを集めての「海外技術カンファレンス参加権争奪LT大会」が開催されました。

LT大会の概要は下記のとおり。

  • 参加者は株式会社ロックオンの開発者全員から2名選抜
  • 参加に対する熱い思いを3分で発表
  • 発表スタイルは問わない

当社には、アドエビス、EC-CUBEという2つのサービスがありますが、どちらもPHPをメインで利用しています。
7月にアトランタで「PHP[TEK] 2017」が開催されることを知っていた私たちは、何が何でもチャンスを獲得せねばと必死のプレゼンを行い、接戦の末、見事選抜メンバーに選ばれ、参加のチケットを手に入れたのでした。

国際的なPHPのカンファレンス「PHP[TEK]」とは?

「PHP[TEK]」とは、年に一回開催される国際的なPHPのカンファレンスであり、PHPのコミッターによる活用法や海外の事例について発表があります。

「PHP[TEK] 2017」参加レポート
PHPのマスコットキャラクターelePHPantさん! PostgreSQLもHadoopも象で紛らわしいです

私たちは5月23日からの4日間の参加となりましたが、「PHP[TEK]」全体は5月22日~26日の5日間開催され、一方的に話を聞くカンファレンスだけではなく、日によっては実際に手を動かして実装していくような、ワークショップもありました。

カンファレンスのテーマはPHPに限らず、データベース、アーキテクチャなどから自己啓発的内容まで幅広い話題がありましたので、それぞれ印象に残っているものを紹介していきます。

※その他のテーマはカンファレンス公式ホームページにて確認できます。

ワークショップ[DELIVERING THE MOST VALUABLE FEATURES]

ワークショップでは、課題をだされて、実際にコードを書いていくような内容や、グループワークなどがありました。

ユーザーストーリーマッピングに興味があったため、「DELIVERING THE MOST VALUABLE FEATURES」という、実際にチームで考えたアプリを開発すると仮定して、ユーザーストーリーマッピングをつくるワークショップに参加してきました。

「PHP[TEK] 2017」参加レポート
私たち(アメリカ人エンジニアたち5人+私のグループ)はPUPPY LOVEというペットマッチングサイトを作る想定で、実際にユーザーストーリー、課題などの洗い出しをしました。

実際の業務で本当にそうだなと思ったのが、

機能からユーザーストーリーを考えるのではなく、ユーザーにどのような目的があってそれをどのように解決するのかという考えを突き詰めていくプロセスが重要

という指摘でした。
私たちのチームメンバーは全員開発者だったため、最初は機能軸の話に流れがちになっており、国をまたがった開発者の悪い癖なのか・・・と実感しました。

カンファレンス1日目[PHP 7: Reality Check]

この日から残り3日間はConference Dayとなりトレーニングやワークショップではなく、4トラックでセッションが朝から晩まで行われました。
参加者のほとんどはConference Dayからの参加でこの日から来場者がぐんと増えました。

Conference Day初日のキーノートに続いて行われた最初のセッションは、PHP7の現状について考える「PHP 7: Reality Check」でした。
スピーカーはPHPUnitの開発者として有名な、Sebastian Bergmannです。

パフォーマンスが劇的に改善されたPHP 7.0のリリースから1年半、PHP 7.1のリリースから約半年たった今、どれくらいPHP7が使われているかを具体的なデータとともに紹介し、PHP 7への移行を訴えていくセッションでした。

「EC-CUBE 3」では、PHP 5.3.9から7.1.xまでのバージョンをサポートしており、常にそれぞれのバージョンをCI環境でテストしており、PHP7の高いパフォーマンスは目に見えて感じています。

開発者の本音としては、PHP7に置き換えるだけで多くの恩恵を得られるため、すぐにでもPHP7に移行すべきだと思いますが、世の中そう簡単にはいきません。
常に互換性のある状態でプロダクトを提供し続けることができればいいのですが、新機能を提供し続けるにはどこかで互換性を捨てる必要があり、利用者にその移行作業を強いることになります。

PHP7ではいくつかの互換性のない変更が入りましたが、多くの新機能が追加されパフォーマンスが劇的に改善されたことによって、コストを掛けてでも移行するメリットがあります。

現在「EC-CUBE」の次期バージョンを開発中ですが、「ユーザーの移行メリットを最大化にするにはどうしたらよいか」を改めて考えさせられたセッションでした。

カンファレンス2日目[Working with Webhooks]

「PHP[TEK]」という名前のカンファレンスですが、アーキテクチャやデータベース、フロントエンドテクノロジーなどPHP以外の技術的なセッションもたくさんありました。

この日に行われた「Working with Webhooks」もPHPに限った話でなく、Webhookの概念から始まり、サーバサイド/クライアントサイドの実装をどうするべきかを考えるセッションでした。

Webhookを提供するサービスを実装した経験はありませんでしたが、その実装方法を知ることで、普段GitHubなどのWebhookをなんとなく使って書いたクライアントコードを見直すべきだと考えさせられました。
Webhookだけの話ではなく、マイクロサービスアーキテクチャのようなイベント駆動で連携するシステムを構築するときの知見も得られたセッションでした。

セッションの中では、WebhookをテストするためのngrokRequestBinなどのツールが紹介され、概念的な話だけではなく具体的ですぐにでも使える実践的な内容でした。

このようなカンファレンスに参加すると、大きなテーマについて考えされられたり、モチベーションを刺激されたりしますが、新しいツールを1つ知れただけでも収穫があったと感じます。

カンファレンス3日目(最終日)[LEARN TO SUCCEED]

カンファレンスの最終日。
印象に残ったのは、Alena Holliganさんによる最後のキーノート「LEARN TO SUCCEED」でした。

「PHP[TEK] 2017」参加レポート
カンファレンス会場は円卓仕様。後ろ向きな席にならないように注意!

技術的な話ではなくて、成功をするために何をすると良いか、下記ポイントのストーリーを聞くことができました。

  1. メンタル管理
    • 毎日ポジティブなこと、たとえば「今日は同僚を殺さなかった」ということでも3つ書き出す
  2. エナジーコントロール
    • ALENAさんはどんなに集中できないときもワカモレを食べてコーヒーを飲んでお昼寝を20分すれば回復できるとのこと
  3. 学習プロセス
    • 学習はルーティーン化して、何をするか考えるという時間はなくすと効率があがる。
    • 覚えられないものは、「思い出し方」を覚える必要がある ⇒ テスト、復習をしないと覚えられない
  4. 行動を変えていく
    • 1日1日であればスケジュールを変える~10年単位であれば、研究休暇をとって自分にとって大切なことを考える時間をつくる

というように、成功するためのプロセスがロジカルに整理されたプレゼンテーションとなっていました。

目的をはっきりさせて、怖かったり、自信がなかったりという、そのときの気持ちに左右されずにやるべきことをやる。⇒⇒ It’s okay to be afraid just do it

というのがキーノートの最後のメッセージにありました。

シンプルだけど本質を捉えているような締めのメッセージは、とても印象的でした。

全体を通して

カンファレンスでは身近なツールの実践的な活用方法や、あまり考えたこともなかった他社の活用事例がきけました。
異国(アトランタ)のカンファレンスであれば、自分たちのやっていることからは遠い話もあるのかなと考えていましたが、むしろ身近な開発に関する話ばかりでした。

胸に刻まれたのは、もっと勉強したい!!という思いです。

やってみたいこと、勉強したいことをたくさん持って帰れたので、最後のキーノートの言葉、”JUST DO IT”という心意気でいろいろ触ってみようと思います。

おまけ(1)アフターパーティー

今回のカンファレンスのテーマはなぜか「スーパーヒーロー」になっており、水曜の夜には、「スーパーヒーローナイト」がありました。

カンファレンスに行く準備をしている期間、主催者より

Make sure you save some energy for our Superhero Party Wednesday night! We will have games, costumes, music and more! Already have a costume? Make sure to pack it and wear it for the party.(訳:スーパーヒーローナイトがあるからコスチュームで参加してネ)

という怪しげなメッセージがきていたので、どんな事が起こるのかとどきどきして参加しました。

雰囲気から読み取った趣旨は、

  • みんな(開発的な)スーパーパワーをもつ
  • であれば、参加者はみんなスーパーヒーロー
  • なので(PHPなどの)オープンソースコミッターになろう

という感じで会場には、手作りスーパー仮面作成キット、マントになりそうな布、スーパーパワーを競うためのゲームグッズが配置してありました。

私たちも他の参加者に混じってコスチュームをつくったり、写真をとったり、ゲームをしたりして雰囲気を楽しむことができました。

「PHP[TEK] 2017」参加レポート
パーティーでキャプテンアメリカ(右)に遭遇。セルフィーコーナーでツーショットを撮ってもらいました
「PHP[TEK] 2017」参加レポート
アメリカといえばおなじみのピザの食べ放題!!(2日目には飽きましたが)

おまけ(2)捕獲作戦

渡米期間のカンファレンスの前後に少し時間があったため、私たちはアトランタの町散策をしてきました。

アトランタの町並み、歴史、生活の違いなどを感じつつ・・・
この空き時間、私たち2人(+自腹参加者1人)の裏ミッションは北米の地域限定ポケモン「ケンタロス」の捕獲でした。

目撃情報のある公園をひたすら、歩いて、歩いて、歩き続けました。
が・・・捕れず。

・・・影すら見つけられなかったです。

「PHP[TEK] 2017」参加レポート
ジムリーダー、ケビンさん(写真右奥)に出現スポットを聞いておくべきでした

登壇告知!

「PHP[TEK] 2017」のレポート、いかがでしたでしょうか。
さらに詳しいカンファレンスのレポートを PHPカンファレンス関西2017 にて行います!

みなさんぜひ聞きに来てください!
「PHP[TEK] 2017」のおみやげがもらえるかも!?