Swift始めて約半年でCyberAgentにインターン行ってきた話

こんにちは,初めまして初投稿します。

改稿(5/27):目次を出すことができることに気づいたのでアジェンダは削除しました。

概要

先々月約1ヶ月間こちらに参加してきました。

こちらはサイバーエージェントさんで行なっているEngineer JOBというインターンで,就業型のインターンになります。
実際に自分はアメーバブログの部署にiOSエンジニアとして参加させていただきました。

普段大学で勉強しているだけでは 見ることのできない/経験することのできない ことがたくさん学べたと思います。

その大きく成長するきっかけにもなったこのインターンに参加した経緯が少しばかり特殊かなとも思ったのでブログという形で投稿しようかと思います。(「Swift 始めて半年」というのも関係します)

iOSアプリ開発を始めたきっかけ

きっかけは自分の今通っている会津大学でネイティブートキャンプという講義(出前講座?)に参加したことでした。ちょうどこちらの記事にある「母校でのブートキャンプ」にあたる部分です。

ここで,上記の記事にも書いてあるのですが参加させていただいたネイティブートキャンプについて少しばかり紹介します。

ネイティブートキャンプは学生側の目線で言うと

実際に仕事としてiOSアプリを作っているサイバーエージェントの社員の方が大学にきて講義をしてくださり,かつそれ以外の時間にも質問など投げればわかりやすく答えていただけるすごくありがたい講座

でした。

自分がこの講座を受け始めた頃はiOSのアプリ開発は未経験で,「Swiftって言語でやるのね」ってことくらいしか知りませんでした。
そこから,実際に講座を受けて講義を聞いたり課題をやってコードレビューしていただいたりしてiOSの基礎的な知識というのがすごくついたなと感じています。
この講座があったからこそインターンにいくことができたし,ハッカソンなどでもiOSエンジニアとして貢献ができているので本当にこの講座をしていただいたことに関して感謝しています。

インターンへ行くことになったきっかけ

上で紹介したiOSの講座が終わる前に教えてくださっていた方に「インターンに参加してみたら?」と声をかけていただいて3月のインターンに応募しました。
正直,紹介していただいていたタイミングがかなりちょうどよく,その2ヶ月前くらいに別の某会社のインターンに落ちて「2年春は行けないかなぁ」と思っていたタイミングでした。
そしてありがたいことにインターンさせていただくこととなりました。

実際のインターンでは何をしたのか

まず先に,インターンの概要は以下になります。
--------------------------------------------------------------------------
行った事業部:アメーバブログ事業部
期間:3/8 ~ 4/5
職種:iOSエンジニア
--------------------------------------------------------------------------

やったこと

・現行アプリ/サービスを改善する1Day社内イベントに参加
・社内でやってることを他の人に周知するためのイベントに参加
・既存画面のリファクタリング
・1画面実装

・現行アプリ/サービスを改善する1Day社内イベントに参加
・社内でやってることを他の人に周知するためのイベントに参加

この2つはインターンに行かなきゃ体験できなかったり知ることができないことだったと思うので本当に体験できてよかったと思っています。(なんなら半年に一回やるかどうかっていうイベントらしいのでなおさらです。)
他にも,MTGの際には積極的に新しいアイデアを盛り込んで先に試してみる,という体制がいいなぁと感じました。

・既存画面のリファクタリング
・1画面実装

この2つは実際にインターン中に行ったことになります。
基本的には2週間ずつで行ったのですが,最初の2週間でRxSwiftに慣れるために既存画面のリファクタリング,残りの2週間で最初の2週間で勉強したRxSwiftを使用して1画面作る(+αはもちろんありました。),という感じになります。

このカリキュラムになったのは2つ理由があり,
・RxSwiftを やった/触った ことがなかった
・実務やるならRxSwiftやる他ない事実が発覚した(最初はRxSwiftを使わない方向で行こうとしていたとのことでした。)

といった風に実務やるならRxSwiftやる他ない事実が発覚した結果,RxSwiftを やった/触った ことがなかったからまずはRxSwiftを勉強して行こう!という流れであのカリキュラムになりました。

つい先日の話ですが,ちらっとアメーバアプリを見てみたら自分の実装した箇所が取り込まれていたのですごく嬉しくなりました。実務型のインターンだからこそこういったものを味わえたので実務型のインターンに参加してよかったなと思いました。

インターンで得られたと思うこと

・歴史のあるアメーバブログのiOSのソースコードを見て膨大な量のコードがあり,それを読んでいくことによってコードを読む力が付いてきた。
・RxSwiftでの基本的な書き方/どのようにView-ViewModelを繋げるか?の部分の人によっての思想の違いから自分の理想の書き方を見つけるべきだと知れたこと
・デザイナーさん・ディレクターさんとの開発体制がどういったもので,どのような流れで進んでいくのかを知ることができたこと
・自分がどのような方向で就活を考えていくかその方向性を定めることができたこと
・サイバーエージェントの社風が実際のエンジニアの人の話を聞いたりして知ることができたこと
・普段開発で流れ的に行っているコードレビューのやり方/やられ方が全然違い,そこで新しいやり方を知れたこと

インターンで悔いが残っていること

・結局のところ勉強!勉強!に最後までなってしまい,事業単位に対してのアウトプットができなかったこと
・(時間の都合上)テストコードを書くことができなかったこと
・try! Swift に行けなかったこと(日を開けてしまった・・)

総括

このインターンに参加して本当に色々ためになったし,楽しかったです。
サイバーエージェントの社員さんがみなさんどんな感じの考えで普段仕事をしていて,色々な考えが聞けました。そこから,普段の環境に閉じこもっているだけではわからないことがかなりあるとわかり,いろいろな人と話していろいろな人の考え方を知る/いろいろな会社へ行っていろんな環境を知る ことが大事なことだと感じました。

今後どうしていくか

いろいろな人と会う/いろいろな環境を知る ことをしていくために色々な勉強会やイベントに積極的に参加したりさまざまなインターンに参加していこうと思っています。
そこから自分に合っている環境/社風の会社を見つけて最初のキャリアというのを悔いのないものにしていきたいなと思います。

最終出社日に撮ったお世話になった方々との写真

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