見出し画像

初めての海外TECHカンファレンス。Laracon US 2018に行ってきた!

こんにちは、エンジニアの濱崎です。
先日、アメリカのシカゴで開催されたLaravelのカンファレンス Laracon US 2018 にクラシコムを代表して参加してきました!

僕は約4年前にクラシコムに入ってからWebエンジニアとしてのキャリアをスタートし、最初に使ったフレームワークがLaravelです。今でもサーバーサイドはLaravelをメインに使って開発しています。そんなLaravelのカンファレンスに参加できたことは感無量だったし、多くの学びを得られた濃厚な時間でした。

Laraconに参加した目的

わざわざシカゴまで行って何を得られるかは、正直行ってみないと分からなかったんですが、こんな期待をもって参加しました。

・Laravelを使ったいろいろな事例やノウハウを学ぶ
・世界中のLaravel Developerたちと繋がる
・学んだことをチームにフィードバックする
・発表内容は後からYouTubeでも観れる場合もあるけど、実際に現地に行くことの意義を確かめる
・エンジニアとして技術力を高めていくことへのモチベーションアップ
・自分の英語力の確認と英語力向上へのモチベーションアップ

カンファレンスでの発表内容

カンファレンスの内容は、Laravelに関するセッションだけでなく、フロントエンドやソフトスキルについてのセッションもあり、バラエティに富んでいました。Laravel関連が5割、フロントエンド3割、ソフトスキル関連が2割といった感じ。どのセッションも良かったんですが、特に印象に残ったものをピックアップして紹介します。

Jason Fried Q&A

BasecampのCEO、Jason FriedとのQ&Aセッション。Basecampでは6週間のサイクルでプロジェクトとチームを決めてプロダクトを開発しているそう。プロジェクトが長引くとだんだん飽きてくるしモチベーションを維持するのも難しくなってくるので、6週間ごとに新しいプロジェクトに取り組めるのは良いなぁと思いました。僕自身、クラシコムで今後のプロジェクトやチーム構成をどうしていくべきか頭を悩ませていたところだったので、もっと詳細が知りたくなって調べてみたら、ブログやYouTubeで関連情報が公開されていました。

How we structure our work and teams at Basecamp (Medium)
What six weeks of work looks like (Medium)
How We Work - Getting Real (YouTube)

チームのフェーズやプロダクトの特性によってフィットするプロジェクトの回し方は様々なので、Basecampのやり方をそのまま真似してもうまくいかないと思いますが、とても良いインプットになりました。

Colin DeCarlo "Design Patterns with Laravel"

Laravelのアプリケーションにデザインパターンを取り入れた事例紹介のセッションで、Adapter Pattern, Strategy Pattern, Factory Patternの3つが紹介されていました。

ちょうど最近、Railsで書かれたショッピングカートをLaravelでリライトするプロジェクトをやっていて、複数の支払い方法の決済処理を実装するところでStrategy PatternとFactory Patternを取り入れました。

クレジットカード決済・後払い・銀行振込による支払いの場合、外部の決済APIをコールして、そのレスポンスに応じた処理を行う必要がありますが、どの支払い方法(Strategy)を選択してもControllerからは共通のInterfaceでシンプルに呼び出せるようにできました 🙌

Jocelyn Glei "Hurry Slowly"

Hurry Slowly というPodcastを配信しているJocelyn Gleiによるセッション。
個人的には今回のLaraconで1番印象に残りました。

The single most important thing is making progress in meaningful work.
Not just launching new version of app, get rid of huge amount of debt, but really matters is daily, incremental progress. Seeing yourself take baby steps towards completing a task. Humans love small wins.

ある研究結果によると、仕事において人間を最もモチベートするのは、重要な仕事が進捗することだそうです。重要な仕事というのは、エンジニアでいうとプロダクト開発やソリューションの提供に当たると思います。急に横やりのタスクが入ったり、Slackのチェックやミーティングに時間が取られると、本当に重要な仕事が思うように進まず、ストレスも溜まってきます。また、進捗と言っても、新しいアプリケーションをリリースするなどといった大きなものではなく、日々のタスクのなかで進捗を実感し続けることが喜びや幸福感に繋がるそうです。

日々進捗し続けるためには、自分の仕事に集中できるまとまった時間を確保することがキーになります。Jocelynのセッションでは、自分の時間を確保するための方法がたくさん紹介されており、すぐに実践できそうなものでこんなものがありました。

・チームのコアタイムを決めて、コアタイムにしかミーティングを入れない
・常にSlackを気にしながら仕事していたら集中できないので、1日のなかで時間を決めてまとめてチェックする。(Batch Processing) まとめてチェックすることで、優先順位を決めて対応できる。

クラシコムではちょうど最近フレックスタイムが導入されたこともあり、エンジニアチームのコアタイムを決めて、その時間にしかミーティングを入れないようにしています。

世界中のLaravelコミュニティとのつながり

セッションの間の休憩時間やLunch Time、After Partyなどで、他の参加者やスピーカーと交流する機会が多くありました。僕は1人で参加していたし、世界中のLaravel Developerたちと直接話せる機会は滅多にないので、いろんな人たちに積極的に話しかけました。

話を聞くと、いろんなプロジェクトでLaravelが使われていました。例えば、行政関連のサービスだったり広告プラットフォームと出稿者をマッチングするサービスなど。日々の開発のなかで同じ技術を使い、同じような楽しみや課題を感じている世界中の人たちと直接コミュニケーションできるのは、本当に素晴らしい体験でした。何人かとはTwitterでも繋がり、Laraconが終わっても交流が続いています。

Lunch Timeでは、たまたま僕の隣に司会のJustin Jacksonが座ったので、「日本から来た」と言ったらすごくびっくりされました。どうやら僕は1番遠くから来た参加者だったらしく、カンファレンスの最中に全員の前で「日本から来た参加者がいる!」といって僕のことを紹介してくれました。おかげさまで、誰と話しても「あー、あの日本人ね!」といった感じで僕のことを知ってくれていました 😁

After Partyでは、Creator of LaravelのTaylor Otwellもその辺をうろうろしていたので、今回のKeynoteで発表された Laravel Nova の気になるところについて直接質問できました。

濱崎「僕らのアプリケーションでは、Queueのジョブでいろんなタスクを実行してるけど、Novaはそういったユースケースにも対応してるんですか?」
Taylor「NovaのActionからQueueのイベントをdispatchできるから大丈夫 👍」
濱崎「なるほど〜。言語のLocalizationには対応してる?日本人なのでここは気になるところ。」
Taylor「今は対応してないけど、今後対応予定はあるよ」

中央左:濱崎 中央右:Taylor

Taylorは10月のLaracon AUに行くついでに、日本に3日間ぐらい滞在するそうです。そのときに東京でLaravelのMeetupをやって、彼にも参加してもらえたら最高ですね。TaylorのKeynoteは以下のYouTubeで公開されています。


Laraconに参加して感じたこと

カンファレンス会場のThe Museum of Science and Industry

インプットのチャンネルが増えた
当たり前ですが、カンファレンスに参加したからといって急にレベルアップするわけではありません。登壇者は決められた持ち時間のなかで話したいことの一部しか伝えられないし、オーディエンスも全ての内容を覚えることはできません。カンファレンスで得たインプットをきっかけにして、それを各参加者が深めていくことが大切だと思います。

僕にとって今回のLaracon登壇者の半分以上は知らない人だったので、「これについて調べるときはあの人のブログやTwitterをチェックしてみよう」といったインプットのチャンネルを増やすことができました。
Jocelyn Gleiが配信しているPodcast Hurry Slowly やBasecampのYouTubeチャンネル Getting Real はすごく面白いので最近よくチェックしています。

YouTubeでも観れるけど・・・
カンファレンスの内容は後でYouTubeなどで公開されることも多いですが、現地で2日間のカンファレンスに参加してみて、これを全部動画で観るのはかなり大変だろうなと感じました。どのセッションも観る価値はありますが、合計15時間以上あるセッションを日常生活のなかで全部観るのはかなりのモチベーションと忍耐力を要します。現地に行って実際に参加することで、朝から晩までカンファレンスだけに集中できる環境それ自体に価値があると思います。
また、音楽のライヴと同じように、他の参加者と共にその場の雰囲気を感じ、自分の目と耳で登壇者の発表を観るのは、動画で観るのと比べて記憶への残り方が全然違いました。

英語のシャワーを浴びた
2日間のカンファレンスで、朝から晩まで浴びるように英語を聞き続けました。僕は学生の頃から英語が好きで今でも勉強しているんですが、留学経験はないし、海外旅行で使う英語はたかが知れているので、英語だけをひたすら聞き続けたのは始めての経験でした。

技術系のセッションではスライドにコードもたくさん出てくるし、使われる単語も技術的な用語が多いのでほぼ問題なく聞き取れましたが、ソフトスキル系のセッションではコードが出てこないし知らない単語もあったりして、正確に聞き取れたのは6〜7割ぐらいといった感じでした。ただ、全てを完璧に聞き取れたとしても、どうせ全部覚えることはできないので、聞き取った内容をきっかけにして自分で掘り下げていけば良いと思います。

今回、英語でインプット・アウトプットする重要性を改めて感じたので、このブログの英語版も書きました!

さいごに

お土産のLaracon Tシャツ

クラシコムでは最新バージョンのLaravelを使って開発しています。今はまだ理想のプロダクトを作るための土台ができたに過ぎない状態ですが、これからWebでの新しい買い物体験を作っていきます。興味のある方は気軽にオフィスに遊びに来てください!