iOSエンジニアに転職して1年の僕が初めてtry! Swiftに参加して伝えたいこと

2019年3月21日~23日にかけてiOS開発における現在の主要言語"Swift"のビックイベント『try! Swift 2019』に参加してきました。今まで営業や接客の世界にいたのでエンジニアに転職して初めての大きなテックカンファレンスはかなり刺激が多かったので、特に「自分もエンジニアになってみたい」、「最近テクノロジーにとても興味が出てきた」といった方に伝えたいことを書きたいと思います。

try! Swift 2019の概要

まず『try! Swift』について知らない方のために大まかな概要とスケジュール(何をやるイベントなのか)を説明します。

Swiftは皆さんが持っているiPhoneのアプリを作るために使われるプログラミング言語です。try! SwiftはこのSwiftをメインテーマとして東京・ニューヨーク・バンガロール(インド)で開かれるテクノロジーのカンファレンス(学術的な会議や研究会、協議会、検討会などの意)です。

1日目と2日目はSwiftやiOS/MacOSのアプリ開発における最新の知見や役立つスキルをシェアするプレゼンテーションとLT(Lightning Talk:稲妻のように発表する5分〜10分ほどのプレゼンテーション)で構成されます。

また各スポンサー企業やGoogleなどの有名海外企業のブースが常時出展されており、そこでノベルティが貰えたり、Swiftの理解度に対するクイズがあって正解すると限定Tシャツが貰えたりするお祭り的な側面もあります。

2016年から始まって今年で4回目の開催ですが、今回は約900名、32ヶ国からの参加がありました。海外からこのためだけに来日するエンジニアも多いiOSDCと並ぶiOS界隈のビッグイベントです。

そして3日目はWorkshop(体験型のセミナー)ともくもく会(各々が勉強したいことや開発したいことを持ち寄って、もくもく作業しながら、たまに質問しあったり休憩時に交流したりする会)という構成でした。

3日間を通しての感想

一言でいうととても刺激的で楽しい時間でした。新しいサービスや技術が好きなこと、外国人と英語で会話するのが好きなこともありますが、「世界中のiOSエンジニアと同じ場所で技術について学んでいて、Swiftをテーマに、話したりゲームしたり会話する」という体験自体に価値があると感じました。

また一番の効能としては『開発へのモチベーションが異様にあがること』だと感じました。

正直なところ、プレゼンテーションやLTを聴くものの英語メインで行われて同時翻訳もかなり早口なので、エンジニア歴2年目のわたくしには理解していくのがかなり難しかった。

実際、一部の発表を除いて何となくしか理解できなかったのが正直なところです。

ただその何となくしか分からない最先端の技術のことを、一生懸命に頭を働かせながら理解しようと聴き、時にメモをとることで、少しでも知識としてプラスになると思っています。

また内容的に元々関心が高かったり、理解できる発表については実際にそれを活かした開発をその日の夜にやってみたりと、技術力を高めたり新しいプロジェクトを始めるきっかけになりました。

業界の有名人に会える

ちょっと余談になりますが、大きなイベントなのでiOSの界隈では有名な方に会えるというのも大きなメリット点だと思います。

iOS開発で使う定番ツールを作っている人であったり、Appleの開発チームで働いている方だったり、シリコンバレーでエンジニアをしつつYoutuberとしても有名な方と交流会などで誰でも話せるチャンスがあります。

こういう「有名人に会いたい」という考えをミーハーだとか思う人もいるかもしれませんが、僕はその考えのもとに業界の有名人に話しかけることは無価値だとは思いません。むしろ非常に大切なことだと思います。

別にその人と繋がって仕事が得られるとか、そういう人と仲良くなることでのブランディング的なおこぼれ(あの有名人と仲良いからあの人も凄い人では的な)に預かりたいとかじゃなくて、これも開発のモチベーションが上がる大きな要因にぬると思うからです。

僕もフリーのiOSエンジニアとして有名な堤さんとお話させていただきましたが、こういった普段Qiita(プログラマーのための知識共有サービス)やYoutubeを通して見る人たちは、例えるなら野球少年にとってのイチローな訳で、ヒーローなんですよ。

野球少年がイチローに会って「この人みたいに自分もなるぞ」と思うのと同じで、エンジニアにとって上記のような有名人に会うことは非常に大事だと思うのです。

「モチベーションが湧かない」なんて一見甘えた考えのように見えますが、実は「好きこそものの上手なれ」という言葉通り、人が何かに打ち込んで何かを達成するためには、モチベーションは非常に重要な要素だと思っています。

なのでもしあなたが来年のtry! Swiftやテックカンファレンスに参加される駆け出しエンジニアならば、ぜひこういった有名人たちに、勇気を出して話しかけてみてください。

(Open Source Softwareの文化のあるエンジニアにはそういう人が多いですが)彼等も技術スキルの差に寄らずフレンドリーに話してくれます。

印象に残ったプレゼンテーションベスト3

ここではiOSエンジニアとして1年歩んだ僕にとって印象に残ったプレゼンテーションベスト3と、そのテーマについて僕が何を考えたのかを発信してみようと思います(試験的ニュアンス)。発表の技術的なメモは別途ここにまとめておきます。

①Siri ShortcutsとNSUserActivityによるエンゲージメント推進

ベスト1はNic LaughterさんのSiriショートカットの話です。実際に聞いたよるに自分のアプリに導入してみようとサンプルを触ったり、自分のアプリで必要な実装にとりかかったりしました(おかげで寝不足になり2日目の朝が辛かった)。

Siriショートカットとは「ヘイシリ!」で自分のアプリの特定の機能を呼び出せるようにするショートカットです。例えばYahoo!乗換案内アプリでは「羽田空港までのルート」という音声コマンド登録しておくと「ヘイシリ!羽田空港までのルート!」というiPhoneに向かって言うだけで手を使うことなくルート検索が実行できます。


今回の発表は「この登録機能を自分のアプリにどうやったら追加できるのか?」というテーマでした。実際のサンプルアプリは結構シンプルで「あ、こんなに簡単に追加できるんだ」という感想でした。

3ステップほどで下記のようにアプリ内にSiriショートカットへの追加を促すボタンを実装することができるので、自分のアプリに取り入れようと思います。

こういう普段から「やりたいなー」と思っているけど、中々きっかけがなくて実行できなかったことが、try! Swiftなどに参加することで、技術の面とモチベーションの面で大きなトリガーになるので開発者として行って損はないと思います(そのために3万円のチケットを買う価値があるかの価値基準はそれぞれですが)。

②ARKitのアプリを作ろう

2番目はNamrata Bandekarさんの発表です。概要はAR(Augumented Reality)技術をiPhoneアプリで作成する上での注意点やバッテリー節約の心得といった話でした。

ARには僕も去年にiOS12にアップデートされて計測アプリなどのARアプリが一般に知られ出したころから注目していて、半年ほど前にARについてのLTを僕もやったことがあります。

自分でLTをした時はほぼチュートリアルを触ってみた程度で、上記のアヒルのオブジェクトは先に紹介した堤さんのARKit-Samplerから拝借しました。

ただこのサンプルを触ってみての感想は、どうしてもARが普段使いになるには「スマホをかざす」、「スマホというカメラを向ける」ということへのハードルが高く、正直スマホを通してのARには現実的な可能性を感じきれず、この発表を聞いてもその考えは変わりませんでした。なので間も無く普及し始めるであろうARグラスが出てきてから一気に広まっていくであろうし、正直ARへの開発のモチベーションが下がってしまっていました。

しかし最近Twitterでも(ARグラスではなく)スマホをかざすというUXにおけるARアプリが話題になったこともあり、改めてiOSにおけるARについて勉強してみてもいいかなとは思えました。


③Swift Server Update

そして第3位はServer Side Swiftと言われるバックエンドでSwiftを活用する話です。正直に言うとこれは内容はあまり分かりませんでした…。

このnoteはエンジニアになりたい人や初学者でまだ大きなテックカンファレンスに参加したことがない人を対象にしているので簡単に説明しますと、本来Swiftと言う言語はアプリの画面上のボタンタップ時の処理や、何かインターネット通信をする時のアプリ側のリクエスト処理を書いたりと、いわゆるアプリのフロントエンド側で使われる言語です。

一方でアプリから通信リクエストがきた時に記事データであったり動画であったりをアプリに送り返すのはサーバーの役割で、このサーバーにはRubyやJavaといった言語が使われることが多いです。

しかしServer Side Swiftは、このサーバーサイドでの処理もSwiftで記述しましょうよという考えの元に開発されており、現在まだ実用に耐えうるレベルではないそう(実際、僕もServer Side Swiftについては当日まで知りませんでした)ですが、僕は今後に期待できるものだと思いました。というのも、僕はSwiftが初めてちゃんとやったプログラミング言語であり、PHPやJavaScriptも多少実務で書きますが「他のプログラミング言語と比較したSwiftの良さ」というのを十分には把握仕切れていませんでした(※)。

※書いていてPHPは引数のラベルがないから何の値を渡しているか分からないとか、JavaScriptはカッコがネストして長いし可読性が悪いとかは感じていましたが。

しかし他のエンジニアと話す中でも「Swiftは美しい言語だよね」という声が多いです。もしこの美しいSwiftがサーバーサイドでも利用できるとしたら、iOSが主力である自分としても有利ですし、何よりサーバーサイドも美しくSwiftyに書けるというモチベーションが上がるので、このServer Side Swiftには期待が高まったという話です。

全体的にこの見出しでは僕の感想文みたいになっちゃいました(^^;)。

来年の参加に向けた想い

来年はスケジュールによりますが出来る限り参加したいと思っています。どういった仕事やポジションになろうとiOS開発は今後もずっと続けると思いますし、今まで営業職でやっていた頃はYoutubeでAppleのWWDCを見るくらいでしたが、今年はiOSエンジニアとして自分も参加者の立場になることができました。

1年前はちゃんと本業でプログラミングをやったことはなく、エンジニアというのが未知の世界でしたが、1年でiOSを中心にDeveloperと言うものを知り、そして自分も全世界のiOSエンジニアたちと同じ言語(Swift)で交流ができる。そういった世界がとても魅了的なので、まだエンジニアに成り立てでカンファレンスに参加しようか迷ってた人、またプログラミングやiPhoneアプリ制作に興味がある非エンジニアの人にはこの刺激や楽しみを知って欲しいと思います。

またSiriShortcutの実装を中心に自身のアプリ開発をちゃんとコミットしてやりきり、リリースして、社会に向けた貢献を増やして、来年は「去年参加してからこういうアプリを作って、そのアプリがこんな風になったんだよ!」と英語で海外のエンジニアたちに話せるよう、iOSエンジニアとして2年目のキャリアを磨いて行きたいと思います。

この記事が気に入ったらサポートをしてみませんか?