結果に git commit する

技術的なことはあまり書きません

はてなインターンで身につけた一生の財産

f:id:snowman_mh:20170910175249j:plain

目次

はじめに

はてなサマーインターン2017」の「ブックマークアプリコース」に参加してきました。
はてなインターンのいいところの1つに「体験談が豊富」というところがあるので、僕も学んだことをまとめたいと思います。

あ、応募するのを悩んでいる方がこれを見ているのなら、さっさと応募してからこのエントリーを読みましょう😃❗

自己紹介(2017年夏時点)

インターンの内容

はてなインターンは平日20日間で開催されるため、約1ヶ月間京都に住むことになります。
前半の10日間が講義パート(超楽しい)で、後半の10日間がチームに配属されての実践パート(超楽しい)になります。
前半と後半に分けて学んだことを残しておきます。

前半過程

すべてが繋がっていた

前半過程はPerlを使って日記サービスを作りながらサービス開発について学んでいく、という感じでした。
前半の内容はすべてが繋がっていて、独立した部分がほとんどありませんでした。
カリキュラムがよく設計されていてすごいなと思いました。
講義形式のインターンは最近増えてきていますが、さすが10年目の講義形式インターンなだけあるなぁと感じました。
講義や課題の詳細は他のインターン生が書いてくれるはずなのでここでは割愛します(お願いします、書いて)。

Perlは良い言語です

はじめに、Perlを触ったのは事前課題と前半過程の合わせて3週間くらいなので、そういうレベルのやつが喋っていることをご理解ください。

Perlについて思った印象は「全部俺たちがやらなあかんやん」です。
オブジェクト指向もWeb Application Frameworkも自分で(先人のすごい人たちの手を借りて)実現してあげないといけません。
しかし別にこれは悪いことではありません。
プログラミングの根幹部分となる基礎知識をしっかり身につけることができるため、プログラミング学習に向いていると思いました。
よってPerlは良い言語です。
実際のサービス開発をする上で良い言語かどうかは、残念ながら僕の経験では判断することはできませんでした。

学び方を学ぶ重要性

このIT業界は新しい技術がどんどん出てきて、今持っている技術がいつ廃れるかは誰も予想できません。
そんな世界で優秀なエンジニアとして活躍するには「学び方」を習得するのが一番簡単です。

はてなインターンの前半過程では、全体を通して様々なことを学びますが、それらすべてが綿密に設計されており、「学び方」が学べるようになっています。
Perlを使ったサービス開発」を学べるのではなく(もちろん学べますが)、「サービス開発をする上で必要な知識と手法」を学ぶことができます。
つまり、言語や技術が変わったとしても、サービス開発を行うための知識や手法はずっと活きるということです。
はてなPerlがたまたま利用されているから前半過程でもPerlを使っているだけです。
大事なのは言語ではありませんでした。びっくりです。

後半過程

最高のチームでした

後半過程は「はてなブックマーク」を開発しているブックマークアプリチームにお世話になりました。
同じコースに配属されたid:ishikawa_proと一緒に「クイックブックマーク」という新機能を追加しました。
実装やプレゼン、すべてにおいてサポートしていただいたチームの皆さんにはとても感謝しています。

bookmark.hatenastaff.com

チームのスピード感

毎日チームでランチ前に会議を行うのですが、たった15分という短い時間でその日やることを共有してチームの方向性を決めていくスピーディーな感じがとてもかっこよかったです。
小さいチームなので一度にできることは少ないですが、それでもあの開発スピードを維持しているのは、このような効率的な意識共有を行っているからだろうと思いました。
チームの規模にもよるとは思いますが、チームメンバー全員がそれぞれの力を最大限活かせるような情報共有の方法を考えるのが大事なんだと学びました。

コミュニケーション

ブックマークアプリチームでは、ディレクターとプランナー、デザイナーの方が基本的には東京で勤務しています。
そのため、コミュニケーションがとても重要になってきます。
Slackで会話をすることが多いのですが、僕たちインターン生も発言しやすい空気作りがされていました。
そのため僕たちインターン生も議論に参加しやすく、力を発揮できるような環境がしっかり築かれていました。

さらに、僕が開発を担当した部分がビューまわりを触ることが多かったため、実装したものを東京に勤務しているデザイナーの方に確認していただき、修正を行う、という作業を数回行いました。
もちろんデザイナーの方が見やすいようにGIFアニメに出力してGitHubに貼ったりすることは大切ですが、フォーマットの確認を行うこともさらに大切でした。
つまり、デザイナーの方がデザインを行うときに使用した画面・画像サイズを把握した上でそれに合わせたスクリーンショットなどを共有する必要があります。
また、iOSアプリにはiPhoneからiPadまで様々な画面サイズが存在するので、デザイナーの方がデザインを行う際に使用した画面サイズ以外のサイズでの見え方も共有し、デザインの修正などを行っていただく必要もあります。
デザイナーの方(リモート勤務含む)と連携してプロダクトを作っていくノウハウを学ぶことができました。

プレゼンの重要性

高専時代から英語プレゼンテーションコンテストなどに出場したり、KAKEHASHIプロジェクトに参加して企業の前でプレゼンを行ったりしていたので、プレゼンの重要性は十分理解しているつもりでした。
しかしその重要性は自分が思っていたよりも高かったことに気づきました。

前半過程の最後には自由課題として自分たちが作ってきた日記サービスにオリジナル機能追加を行いました。
そして、それについてのプレゼンを社員の方々に行い、投票によって順位を決めました。
僕は、「日記を書くと、日記の本文の応じて勝手にいい感じのオシャレな写真を添付してくれる」という機能を実装しました。
結果は8人中2位でした。とても嬉しかった。
技術的には僕よりもすごいことをしていた人はたくさんいました。
それでも良い順位をいただけたのは丁寧に作ったプレゼンのおかげだったと思います。
どのようにプレゼンを作れば良いプレゼンになるかを明確にできたわけではありませんが、プレゼンの重要性を再認識することができたのは良かったと思います。

自分のレベルが少し分かった

はてな以外にもサマーインターンはいくつか応募しましたが、受かったところもあれば落ちたところもありました。
今まで頑張って学習してきたけど、自分のエンジニアとしてのレベルはどのくらいだろうといつも思っていました。

今回のはてなサマーインターンに参加してみて、ほかのインターン生やはてなの優秀なエンジニアの方とたくさん交流しました。
その中で、自分のレベル感というものが少し分かったような気がしました。
簡単に言うと、高くも低くもないかな、という感じですが、自分の位置づけがなんとなく分かった気がして、モチベーションに繋がりました。
これは自分にとっては結構大きな進歩でした。
様々な環境に身をおいて、自分の実力を正確に判断することの大切さを学びました。

最終日に学んだこと

僕のTwitter史上最高にバズった。

おわりに

まず、はてなのサマーインターンは最高でした。
最高という言葉では足りないくらい最高でした。
エンジニア人生をこれから送っていく上で死ぬまで役に立つ力がついたと思います。

僕が主に学んだことはこのエントリーに書きましたが、人によって学ぶことも違うと思います。
ぜひ他のインターン生のエントリーも読んでみてください。
そして、将来はてなインターンに参加する方がいましたら、ぜひ僕が学んだ以上のことを学んできてください。


余談たち

関モバ

はてなを会場として開催された「関西モバイルアプリ研究会」に発表者として参加しました。
人生初のLTをしました。
これからもチャンスがあれば勉強会に登壇していきたいと思います。

発表資料
speakerdeck.com

ホテル

今年から全員が一人部屋に泊まれるようになったみたいです。
来年は知りませんが、来年の人も一人部屋になるようにここに「一人部屋は最高だった」と書いておきます。
オフィスまで徒歩3分なところも最高。
疲れて帰ってきて汚い体で寝落ちしても、次の日にホテルに帰ってくると綺麗なベッドに戻っているのも最高。

オフィスランチ

毎日うまいランチが出てきます。
「macanai」と呼ばれています。
うまいです。

twitter.com

晩ごはん

はてなインターンが今年で10年目なだけあって、オフィスの近くのうまいごはん屋さん情報が溜まっていて、インターン生に公開されています。
仕事が終わったらそのリストから今日はどこにしようか決めて食べに行くという感じでした。
ときどき社員さんに連れていってもらってご馳走してもらったりもしました。
全部うまかった。

飲み物とお菓子

はてなのオフィスにはボタンを押すだけで無限に飲み物が出てくる魔法の自販機があります。
もう何本「つぶたっぷり贅沢みかん」を飲んだのか分かりません。

https://www.pokkasapporo-fb.jp/products/fruit/other/GV48.htmlwww.pokkasapporo-fb.jp

さらに、いろいろな種類の軽食も食べ放題です。
朝出社すると、こんにゃくゼリーと豆乳を飲むのがルーチンになっていました。

京都では「雨」という水みたいなものがときどき空から降ってきます。
そのときに「傘」というものを頭上に置くと濡れずに済みます。
京都に来る前に荷物に「折りたたみ傘」という折りたためる傘を入れましょう。
忘れてしまった方はご安心ください。
僕が現地で買った傘をはてなに寄付してきましたので、お使いください。