Phosphophyllite

情報系学部に通う雑魚学生の日常・進捗・疑問ブログ

Yahoo!さんのiOS黒帯インターンシップに参加した話


投稿が遅れましたが、7/27~7/31までYahooさんのインターンシップ
iOSアプリ開発 〜黒帯インターンシップ〜
に参加させてもらいました。
一言で言うと、楽しくて楽しくて5日間があっという間でした。
コード書くの楽しいわ〜ってなったのも久しぶりな気がして、帰りのバスでそのままOSS候補のコード書き始めたぐらいテンションが上がりました。
記録っていうか印象に残ったこととかを書きたいようにだらだらっと書いていくので長くなりそう。
たぶんこれから参加する人のためにはあまりならない。
日本語へたくそなので敬体と常体が入り混じるよ!!

受付から始まる謎の焦りとの戦い

インターン生は私ともう一人の二人だけで、「ロビーに集合」って書いてあったのでてっきりもっといるのかと思ってたのでちょっとびっくりした。
メールに書いてあった通りの時間にロビーに行って、あれ誰もいない……って恐恐しながら「インターンシップの受付してますか?」と受付のお姉さんに聞いてみる。お姉さん綺麗。さすが東京。
受付後ろのYahooのロゴに圧倒される私。
お姉さん「上に確認してみますね」
私「あ、はい」
あれ、話が通っていない様子。まさか日時を間違えたのか、と一人で焦り出す。
大企業の受付前で挙動不審になる。警備員さんに変な目向けられる。
そわそわびくびくしながら10分ぐらい待ったあと、「今係の者が来ますので」と言われ言葉に言えないぐらいめっちゃ安心した。
5分ぐらいして来てもらったとても爽やかな笑顔の人事の方と向かいがてらちょっとお話するとまさかの同郷。
途端に生まれる謎の親近感と安心。私ちょろい。
「もうひとりのインターン生はテストで遅れてくるから」ということでお先にインターン始まったのでした。

レビュー・問題点・解決法・開発プロセス

いざオフィスに案内して頂いて自己紹介等済ませた後にいよいよインターン開始。
App Storeのレビューを集計し、ユーザーが本当に困っていることは何なのかを検討、分析し、ユーザーインタビュー等の手法を用いながら開発するべきプロダクトを追求します。その上で実際に開発するものを決定し、開発やプロトタイプレビューを本プログラム内ですべて行います。」
と公式ページに書かれている通り、やること盛りだくさん。
まずはレビューからユーザーの求めていることを見つけます。
絞り込んだら、それを解決するための案を出し合って最終的なものに固めます。
開発プロセス、時間までしっかり計算してみます。
私「UIなんですけど、StoryBoardとAutoLayoutほとんど使ったことなくて……」
メンターさん「よしじゃあ今回は挑戦しましょう。得意にして帰りましょう」
後光が差して見えた。
実際しっかりAutoLayoutの制約まで見て頂いて、こんないい思いしてええんかいなって頭抱える私。
IBInspectableとか、色々一気に学べたので(普段から使ってる人からすれば当たり前かもしれん)ほっくほくです。
もっと勉強してから行ったらもっと学ぶものはあったんだろうとそこだけが残念。

隣のインターン生が強すぎて灰になりかけた私

テストで遅れて参加だったお隣のインターン生、中学からアプリ開発してるめっちゃ経験豊富な大学一年生でした。
出だしは私より少し遅れて入ったはずなのに、追い上げる、追い上げる。
作品の完成度高い。
コードレビューのレベルがもはや違う。
謹んでGithubフォローさせて頂きましたとも。
Starの数に目が眩んだよね。
横っちょから「それなに?」「あれどうやってるん?」とか色々突っつきにいく私。ごめんなお邪魔して。
色々教えてもらえてここでもほくほくした。私が無勉強すぎるのもある。
自称telnetに今いちばん詳しい一年生だそうです。

黒帯の 方に 全コード 見てもらった

黒帯 #とは
ヤフーでは専門性に優れたエキスパート人財を「黒帯」と認定しています。
黒帯に認定されるのは「ある分野に突出した知識とスキルを持っているその分野の第一人者」。

要は今回だとYahooさん内でのiOSでのトップ。
コードレビューして頂いた。
社員さんでもこんな機会はない。
残念ながら今回の成果物は会社に帰属するとのことで、レビュー・修正したコードは持っては帰れなかったのですが、いちばん成長できたと感じるところでした。
普段コードを人に見てもらうということをしないのですが、できる人に見てもらうだけでこんな違うのかぁと実感した。
で、「普段コード見てもらえるような人がいないならどうしたらいい?」という問いに対しては「書き方を学ぶのであれば、有名なOSSの中身を見てみる。レビューしてもらいたいならOSS作って公開してみる。pullreq積極的に飛んでくるから」という答えを5日間で頂きました。
お隣のできるインターン生さんも既にOSS公開しているとのことで、なるほど不特定多数に見られるなら余計気使うし鍛えられそう。
特に海外からはびっしばしどストレートなコメントとかIssueくるよね。

OSSについて

教えてもらったことメモ。

OSS投稿で初心者向けなのがCocoa Controls

いいOSSの探し方
Githubの自分のアイコン -> Explore -> Trending -> 言語指定でObject-CとかSwiftを指定。
これで人気のやつが出てくる。
最高。

他には何が魅力?

必ず一日の終わりに個別MTGが入るので、困ったこと、相談したいこと、その他雑談とかとにかく頼れる環境がある。
とある社員さんには「15分悩んだら聞いてくれていいです!」とまで言って頂けた。次の日聞いた。解決した。さすが。
それから、社員さんが皆さんいい意味で個性的で積極的な方が多いので、お話するたびにいろんなネタが入る。
技術的な話はもちろん、今使ってるアプリとか、ゲームの話とか、エトセトラ。
私はホーム画面デフォ、アプリとか適当にジャンル分けしてどべーっと置いてるんですが、人によっちゃアプリ色分けとかもしっかりやるんですね。たしかに見やすい。
社員さんが学生時代に作ったものとかも聞けて、あっやば開発しよ……って思った場面もあった。てへぺろ
あっあと可愛いデザイナーさんとも一緒にご飯食べたりできて、あかんわーおしゃれやわー目の保養やわーって悶えてた。

これから何する?

とにかく経験・知識が足りないことをしみじみ実感したので書いて作っていきたい。
とかいうとふわっふわでやっぱり達成しないことが多いので、
◯月いちでなにかしらのものつくり・アウトプット目標(OSS作る・触る・読む)
◯サーバー勉強(Node.jsで掲示板作ってみる?)
◯定期的にiOS仲間でコードレビュー
とか、してみようかなと思った。
思ったじゃなくてやれという話。

ごちゃごちゃしたまとめですが、こんな感じに目一杯楽しんで学んできた5日間でした。
正直まだまだ書ききれない。収まれタイピング。
大学生活でもっとも成長を感じさせてくれたものになるかもしれない。
大変お世話になりました。
これを機に、自分で自分を高めていける人間目指そうと思いました。
思いましたじゃなくて実行しろとry