try! swiftに参加しました(3日目ハッカソン)
try! swift3日目はSwiftをつかったプロダクトを作るハッカソンです。 テーマは「Swiftでイノベーションを起こそう」でSwiftをつかったプロダクトを作り、プレゼンするという内容。
http://blog.personal-factory.com/2017/03/18/try-swift-report-in-3rd-day/
こんにちは。MAMORIO株式会社でiOSエンジニアとして働いています、佐藤剛士です。
今から二ヶ月ほど前の6月5日から9日の5日間、カリフォルニア州サンノゼでApple主催のカンファレンスWWDC(Worldwide Developers Conference)が開催されました。これはAppleが毎年開催している開発者向けのイベントでiOSやmacOSなどの新しいOSの発表やハードウェアの発表があり、世界で注目されるカンファレンスの一つです。
私はこれに参加してきました。
WWDCの内容は主にセッションとハンズオンラボです。
セッションは新しいAppleプラットフォームの新機能などのプレゼンをするものです。
ハンズオンラボはAppleのエンジニアと直接会って開発での疑問を質問、相談できる場です。
iOSエンジニアとしては、セッションで新しい機能を聞いた後、その具体的な使い方の相談や業務での開発の相談をハンズオンラボでしたいところです。
ところで私、英語がとっても苦手です。エンジニアとして英語のドキュメントを読んだりする関係でリーディングはそこそこできますが、リスニングとスピーキングがボロボロです。
今年の3月に行われたtry! swiftでハッカソンをして海外の方と一緒に開発をしたのですがコミュニケーションがぜんぜん取れませんでした。
何を話しても通じないし、相手の話していることも理解できず、けっきょくパソコンのエディターで筆談して意思疎通を図る状態でした。
私の個人ブログですがその様子をまとめています。
そんな私がアメリカにいってうまく過ごせるのか?
セッションの内容が聞き取れるか?
ハンズオンラボで自分の質問を説明できるか、回答が理解できるか
レストランで注文出来るか?
その他日常の細かなやり取りを上手くできるか?
とても不安でした。
WWDCの申込みは抽選で、「当たればいいかな」と軽い気持ちで申し込んだら見事当選し、その時が4月の上旬。
WWDCまでおよそ二ヶ月でできるだけ英語を勉強しようと心を決めました。
とりあえず闇雲に手をつけても身にならないことは明白です。なので以下の方針で出発までの期間英語にできるだけ慣れようと考えました。
・リスニングのために英語のコンテンツに触れる。毎日聞く
・スピーキングのために、英語を話す機会を作る
目標は「WWDCでセッションをだいたい理解できて、ハンズオンラボで質問をする」ぐらいで考えました。
とりあえず、英語のコンテンツに触れるということでPodcastを登録して通勤時間に聞いてました。
・All Ears English
・Learning English Broadcast
・エイゴの時間(トランスクリプションが公開されていて便利)
AmazonのPrime会員だったのでAmazon Videoでアメリカの幼児向けアニメーションを見ていました。
幼児向けアニメーションはいいですね。簡単な単語で話してくれますし、動画なので話している内容がわからなくてもなんとなく状況がわかるので理解がしやすいです。
今年の4月は業務で新機能の実装などがあり、あまり時間の余裕がない時期でした。
本当はBerlitzのような英会話教室やSkype英会話に行ければ力はつくはずですが、暇がないことと、いきなり対面で話す心理的抵抗が強くてなかなかできません。
なのでちょっとでも話せるようにとSpeakBuddyというアプリを使ってみました。
友達の会社appArrayさんが開発している英語学習アプリで、実際にアプリに向かって英文を読み上げるとSiriの音声認識の機能で文章化してくれて発音のチェックができるアプリです。
人と会わなくていいので手軽に始められるので使いました。
また発音を学びたかったのでフォニックス学習も少ししました。
https://basic-english.me/phonics-app/
英語の綴りと発音を対応させる学習でアプリを幾つかダウンロードして家で繰り返し聞きました。
出発までの勉強で少し英語に慣れてきた気がしました。
これがどこまで通用するのかドキドキしながら出発の日を迎えました。
6/4の早朝に羽田空港を出発して6/4朝にサンフランシスコ空港に到着しました。サンフランシスコは時差が-17時間あります。
空港到着したらまず乗り越えなければいけないのが入国審査です。
審査官と対面で話さなければいけません。
行きの飛行機内でガイドブックや説明サイトで何回もシュミレーションをして望んだのですが、結果はこちら。
入国できたはできたけどやっぱり聞き取れなかったです。
今思えば最初の「Why ~(なんで来たの?)」のWhyの部分を自分がスルーしてしまったのことで口頭でも日本語質問票でも「Who ~ (誰に会いに来たの?)」を何回も聞かれました。
「1人できたので誰にも会いません」と答えると「じゃあなんで来たの?」といぶかしがられてしまい、「WWDCに行きました」「WWDCのチケット見せて」という流れに。。
出だしから前途多難です。結果オーライだから良かったけど。
初日と2日目までは移動にはLyftを使っていました。
Uberのような配車サービスでアプリでドライバーを呼び出し、決済もアプリで済む便利なサービスです。
ドライバーさんは気さくで移動中話掛けてくれます。
嬉しい半面、リスニングとスピーキングが苦手な自分は世間話が一番難しいのです。
2つほど車内でのエピソードを紹介します。
WWDCの前日に観光ということでGoogleの本社やAppleの本社に行き、ホテルまでの帰りをLyftを使いました。
ドライバーさんは30代ぐらいの恰幅のいい男性で快活そうな白人の方でした。
乗車して一言二言挨拶交わした後、彼が「君はトランプについてどう思う?」と聞いてきました。
(おおー、さすがアメリカ人、カジュアルに政治の話をするのかー)
とビビりながらも当時パリ条約を脱退するようなニュースが出ていたので「パリ条約を脱退するのはnot good だね」と答えました。すると彼もヒートアップ。彼の言うことを聞き返したり、確認したりして一生懸命聞きました。
彼の意見をまとめると「トランプ大統領は口では良いことを言うけど実行力がない。選挙の時に言っていたことがまだ実際には行われていない。ここはシリコンバレーだ。テクノロジーで世界を変えていく場所だ。実際に世界を変える方を私は指示する」ということでした。
I think so.
私もそう思いますと彼に伝えて車を出ました。
初日WWDCにホテルから行く際にLyftを使ったときです。50歳ぐらいのアジア系の方が迎えて来れました。
配送中の世間話、彼がけっこうなまりが強くて何回も聞き返して話をしていました。
ドライバーさんが「何歳です?」と聞いて、自分が「Thirty(30歳です)」といったつもりが「Thirteen(13歳)」と聞こえたらしく「13歳の年格好じゃないでしょ!」と突っ込まれたり。
しばらくすると彼がやたらと観光に誘ってくるのです。
曰く「ゴールデンブリッジに行ったか?行ってない?有名な橋で、あそこはいいところだ。ぜひ行ったほうがいい。」「1時間で連れてってやるからあなたは2、3時間観光して1時間で戻ってくる。5時間あれば行けるぞ」と繰り返し言ってきます。
(あ、これははっきり断らなきゃだめなやつだ)
と思って「No Thank you. I will go to WWDC.」と繰り返すんですが、彼も諦めません。5回ぐらい誘って来ました。
車が到着して「観光興味があったらメッセージちょうだい」と言ってましたが断って車を出ました。
WWDCにつくまでは道中いろいろありましたが、WWDC自体はとても楽しめました。
基本的に座って聞くものなので特に聞き取れなくても困らないですし、だいたい内容の60%ぐらいが聞き取れた感じでした。
参加したセッションをリストにしてみます。
初めてクックさんのプレゼンを生で見ました。
iMac ProやHomePod、10.5インチiPad Proなどハードウェアの発表やVR、ARのプラットフォームを発表するなど盛りだくさんの内容でした。
Keynoteは一般ユーザー向けの内容ですが、こちらのPlatforms State of the Unionはより開発者向けのセッションで、Keynoteで発表された新機能の具体的な使い方やSDKの構成などを発表するものです。
Xcode9がXcode8よりもパフォーマンスが大幅に上がり嬉しい限りです。
iOS11の目玉機能の1つ、Drag and Dropの導入セッションです。iPadでは簡単に要素を他のアプリにドラッグ・アンド・ドロップにてデータを渡せるようになります。iPhoneでは同じアプリのみできるとのこと。
他のアプリの情報を簡単に渡せるようになり、iPadでビジネス用途での使用しやすくなります。
デリゲートメソッドを少し書くだけでドラッグとドロップが出来るようになり、実装も簡単そうでした。
テーブルビューやコレクションビューでのドラッグ・アンド・ドロップの使い方です。セルの移動などの実装方法が共有され使って見たくなりました。
データを他のアプリに渡す時、また他のアプリからデータを渡されるときの実装方法が共有されました。
非同期でデータがくるので、上手くハンドリングが必要とのことでした。
MAMORIOアプリは位置情報を取るアプリなのですが、このセッションがとても参考になりました。
iOS11から認証方法が変わったり、バックグラウンドで位置情報を取得するアプリは青いステータスバーが出てくるようになったり、ユーザー体験が大幅に変わる仕様変更がありました。
正式にiOS11がリリースされる秋(9月上旬から中旬)までに対応する必要が出てきました。
ハンズオンラボは直接Appleのエンジニアへ直接質問ができる場です。
上の画像のように場所と時間で区切られています。
各フロアの入り口に行くと案内係の人が「Actually problem or general problem」と聞いてきます。
実際の問題(すでに作っているアプリなどで具体的に困っていること)か一般的な問題(SDKやツールの使い方など)を最初に切り分けるようです。
質問内容を伝えると案内係の人が対応できる人を探して紹介してもらいます。
たくさん質問したいことが会ったのですが、2日目から4日目は英語の出来る友達と一緒に行き通訳をしてもらいました。
最終日に自分一人でハンズオンラボに行ったのですが、やはり意思疎通ができなかったです。。
iOSアプリのデバックについて質問したのですが、辛抱強く聞いて頂いているのですが質問意図がなかなか伝わらず、最後はパソコンのエディタでの筆談でコミュニケーションを図りました。
英語訳ができない写真を削除時は日本語で書いた文をグーグル翻訳で翻訳して伝えてました。
もう伝わればなんでもいいのです。
Macで開発できるようになったVRも体験してきました。ゲットトゥギャザーという時間があり、新機能を体験できる時間があったのです。
VRのアプリはスターウォーズの世界観で宇宙船が襲ってくるので盾で攻撃を防ぎつつ、レーザー銃で倒すというものでした。
その日の最高得点を取れました。やった!
そしてあっという間に一週間が終わり、日本に帰って来ました。
WWDCで学んだことは共有しないといけません。
ということで資料を作り、帰国後WWDC共有会の勉強会で発表してきました。
内容はiOS11からの位置情報周りです。
WWDC After Party 2017 @Ebisu
https://pre-wwdc.connpass.com/event/56731/
GEEK GARAGE iOS vol3
https://geekgarage.connpass.com/event/58698/
WWDC - Developer's Living
https://lifull.connpass.com/event/58021/
SWWDC × AKIBA.swift in Sendai
https://classmethod.connpass.com/event/60672/
WWDC2017振り返り勉強会@FiNC
https://finc.connpass.com/event/58947/
今回は英語がダメダメだったところから準備をし、WWDCに行ってきた内容をお伝えしました。
WWDCはとても楽しく、毎日が新鮮であっという間に過ぎていきました。
英語がダメでもダメなりになんとかなりました。
・リスニング->耳が慣れるので、単語がわからなくてもなんとなく理解できるようになる。
・スピーキング->こちらの喋ったことは一回ではなかなか伝わらない。何回も説明が必要。
多分自分の英語力は幼稚園児並なんじゃないかと思ってます。
相手の話はなんとなく分かるけど、それを伝える手段がない感じ。
もう少し話せればまた楽しい結果になったかと思います。
今回現地の方と話す機会があまりなかった(話せなかった)ので次は話せるようになりたいと思いました。
さて、そんなこんなでWWDCを楽しむことができたわけですが、
なんと今回の参加費や渡航費、宿泊費等は全て会社が負担してくれました!(ここ大事)
出張として参加させてくれた会社や、日本で仕事のサポートをしてくれた同僚のみんなに感謝です。
WWDCも出張で参加できちゃうMAMORIOでは「なくすを、なくす。」をミッションに掲げ、機能開発に積極的に加わっていただける仲間を募集しております!
どんな会社なのか気になるな〜という方や、まずは話を聞いてみたいという方、お気軽に遊びきてください!
来年のWWDCは一緒に行きましょう!ご連絡お待ちしています!
(チケット当たりますように…!)