iOS開発初心者のエンジニア👶がiOSDC2021に参加してみた!
見出し画像

iOS開発初心者のエンジニア👶がiOSDC2021に参加してみた!

こんにちは!fucchi(@nozbonz)と申します。
スマホアプリエンジニア3年目、総合的な経験値も浅くどちらかといえばAndroidエンジニアでiOS開発は初心者の僕がiOSDCJapan2021に初参加した感想レポートです。

自分が下手に記事を書くことでコミュニティの質を下げかねないかも🤔とも少し思いましたがそこまで多くの人が見ないだろうし、それよりも参加したことを形に残したい!という気持ちでこれを書いています。

大したことは書けていませんが、もし読んでいただけるなら嬉しいです!

iOSDCについて

iOSDC Japan 2021はiOS関連技術をコアのテーマとしたソフトウェア技術者のためのオンラインカンファレンスです。
日本中、世界中から公募された100本を超える知的好奇心を刺激するトークの他にも、パンフレットに掲載された技術記事、参加者であれば誰でも作れる即興のトーク・アンカンファレンスなど、初心者から上級者まで楽しめるコンテンツがみなさんを待っています!
9月17日(金)〜9月19日(日)はお祭りです!お楽しみに!!

自分なんかが紹介しなくても感ありますが😅。。技術レベル関係なく誰でも参加でき(ここ大事)、iOS開発を中心にみんなでわいわいできる規模の大きなカンファレンスでした!
2016年からの開催で例年はオフライン開催ですが、去年と今年は「例のアレ」でニコ生でオンライン開催のようです!

なんで参加したのか

エンジニアになる前からWWDCの存在は知っており、iOSやmacOSエンジニアコミュニティのお祭り感がとても印象的でした。

なのでiOSエンジニアからエンジニアという生き物を知り、その頃からiOSエンジニアに憧れ続け、業務はAndroidを中心にやらせてもらってますが今年初参加しました!(本当は去年から参加したかったのですが参加できず。。)
あとオンラインってこともあって参加しやすいのもある✌️

実際に参加してみて

前置きが少し長くなりましたが結論から言うと、とても楽しかったです🎉🎉
スタッフさん達による、オンラインということを忘れるほど誰もが楽しめるイベント作り。
スピーカーさん達のわかりやすく丁寧な発表とスライド。
参加者さん達によるニコ生やDiscord, Twitterでのコメントにクスッとしたり。
これらから全員でカンファレンスを作り上げている印象を受けて感動しっぱなしでした!
↓最終日のクロージングセッションの様子

印象に残ったトークセッション

自分が印象に残ったというのもおこがましいですが、どれも素晴らしいトークがたくさんある中、こんな自分でもふむふむなるほど!となったトークをいくつか紹介できればと思います。

機能ごとに動作するミニアプリでプレビューサイクルを爆速にした話 & 大規模なアプリのマルチモジュール構成の実践 

このレポートを書いてる時点で僕がAndroidのマルチモジュール、マルチプロジェクトによる比較的大規模なリファクタリングを業務で行っている最中だったので、個人的にホットな話題でiOSの内容も気になっており聴きたかったトークでした。

サブモジュール同士を依存させずにミニアプリを実現するために、EnvironmentというプロトコルにDIしていてそれ経由で利用する(合ってる?)という構造が綺麗でわくわくしました。
チームで運用し続けるための工夫のお話もあってとても面白かったです!2つともクックパッドさんで働いているエンジニアの方の発表のため、セットで見るとモジュール構造と仕組みがよりわかりやすいです!

最強の500系エラー画面を探し求めて

タイトル見た瞬間絶対面白いじゃんと思ったらやっぱり面白かったです。
半年間で50以上のアプリの500系エラー画面を集められたようで、約半分ほどが500系エラーであることすら説明してないのが結構ビックリでした😳

あと、スライド下部に自己紹介を載せられてて発想が素敵でした!
今後LT用にスライド作る機会あったら是非真似したい!

ランタイムデバッグのススメ

デバッグ画面の話って今まで聞いたことなかったので面白かったです!
動作検証フローの改善は直接アプリユーザーに影響するところじゃないからどうしても優先度落ちちゃうイメージあるんですが、開発速度向上のためにも検証フローの見直しは大事なんだなと認識できました。

デバッグ画面でもUXは大事ってところで、操作手順が複雑で新卒の頃は覚えることがいっぱいで不安だった記憶が。。😅
ShortcutsアプリでURLスキーム叩いてアプリ再起動するのはiOS使いこなしてる感あって本当にすごかったです!
DebugMenuというライブラリも公開されているようで、個人アプリなどで是非使わせていただきたいなと思いました。

Swift Package中心のプロジェクト構成とその実践 

ソースコードをパッケージで管理することでプロジェクトファイルが軽くなって差分が発生しなくなり、ビルトタイプの設定に専念できるのでビルドタイプごとにプロジェクトファイルが作成できるという神発表でした🙏 🙏 🙏

別プロジェクトにすることで同じファイル名のものも作成できるので、数少ない業務内でのiOS対応で、FirebaseのplistファイルをコピるRunScriptを実装したことがあった自分でもメリットを実感できました!

実は以前同じスピーカーさんで別のイベントでも聞かせてもらったことがある内容だったのですが、よりわかりやすくアップデートされており今回改めて聞かせてもらうことで一つ一つ理解しながら聞くことができました。

5分でわかるIDFA / ATT

IDFA, ATTを全然知らなかったのですが、機能と開発者の苦悩がとてもわかりやすく解説されていました!
トラッキング許可しますか?と言われたらほとんどのユーザーはよくわからんし許可しないってそりゃなるよな。。。特にプライバシー保護に敏感なイメージのある日本人相手だと尚更工夫が必要そうなのかな?なんて思いました。
いらすとやの素晴らしさも再認識できました✨

そのほか楽しかったこと、嬉しかったこと

・トークンチャレンジ
パンフレットやノベルティなどに#から始まる文字列が隠されており、それを見つけることでスコアを競う全員参加可能なイベントでした。
トップランカーの方達の熾烈な争いが面白く、最終日には皆さんトークンの呪縛から解放されたようでよかったです😂
僕はDay1の空き時間に探しまくったのですが全然見つけられず、5万点ほどいったところで力尽きてしまいました!

・ナレーションが豪華
エヴァの声優で有名な緒方恵美さん、三石琴乃さん、立木文彦さんがナレーションをされており、とても豪華でした!僕も立木さんに名前呼ばれたい!

・Twitterでフォローいただけた
#iosdcでツイートをすることでスピーカーの方や参加者の方に反応いただいたり、フォローいただくことがありました!本当にありがとうございます!
フォロワー30人台で有益なことを呟けない自分なんかをフォローいただいて、、
iOSコミュニティあったかい!あったかすぎる!✨

伝えたかったこと

このレポートを通して伝えたかった内容は、iOS開発に明るくないエンジニアでも全然楽しめるよ!だから迷ってるなら参加してみるのが一番!ということです。
ありきたりですが、今回参加してみて本当にこれを感じました。

Day1, Day2ともに終日参加はしてなかったり、Ask the Speaker は聞き専で入ったり、アンカンファレンス枠は見れてなかったりと積極的になれなかったため、本来提供されている価値に気づけてない部分は多いと思います。

ただ休日まで利用して多くの人が参加している勉強会に自分も参加し、その中ではみんなのスキが語られていてどんな意見や感想も尊重される、といったソフトウェア開発のコミュニティの素晴らしさを体感できる。
こういった経験はエンジニアとして働かせてもらってるからこそ経験できるものだと思います。

日々業務をこなすだけでは技術を学ぶ楽しさをなかなか実感できないし、僕みたいに業務に直結しない中1人でiOS開発について学習していくのは正直モチベーション維持が厳しいです。

そうした中こういったコミュニティを開催いただけるおかげで、探究心が掻き立てられたりモチベーションアップができるのは本当にありがたいことです。

今後も参加できる機会があれば絶対参加したいし、こういった経験を技術レベル問わず経験できたらきっと楽しいはずなので迷っている方いたら是非参加してみてほしいです!

さいごに

ここまで読んでいただいた方、本当にありがとうございます!!

1人で参加したので、会社の人誘って参加できたりしたらもっと楽しかったのかなーと思ったりもしました。

というかiOS開発を業務でやりたいいいいい!というお気持ちがより一層強くなってしまった。。もちろん技術やコミュニティに優劣はないのはわかってますし、Androidも楽しいんですが。

僕の経験値だとまだ Android → iOSって難しいんだろうな🤔
でも将来的にiOS開発はどうしてもやりたいんで引き続き楽しみながら学習していこうと思います!😄

ありがとうございました!

この記事が気に入ったら、サポートをしてみませんか?
気軽にクリエイターの支援と、記事のオススメができます!
文系卒の社会人三年目。都内でエンジニアしてます。 Android / Angular / TypeScript 趣味でiOS。