はてなインターンで最高の夏を過ごしてきたid:miki_bene です。
インターン中でははてなブログのaboutページ編集機能と「プロフィール」の下の部分に最終更新を表示する機能を作成しました。
とにかく最高だったはてなインターンに応募してから終わるまでの思い出を振り返ってみようと思います。
来るまで
僕がはてなインターンに応募してみようと思った理由は単純で、僕の2つ上の先輩のid:masawadaが2年前にはてなインターンに参加していて、やけに楽しそうな夏を過していたのが印象深かったからです。
そんなことを思いながら、応募するかとなったときです。いくつかの項目の他に自分のポートフォリオをまとめて提出する必要があったのですが、まとめるのが面倒で更に大学の課題やらサークルやらで忙しく、締切2,3日前になってあわててポートフォリオを書き始めた覚えがあります。
来年の応募のポートフォリオは、はてなブログのaboutページに書いてもらえると嬉しいです。
前半過程
前半過程は講義パートでPerl, SQL・DB, WAF, JS, 機械学習, シスプラをやるカリキュラムで、シスプラ以外の各講義には課題が付いてきます。これらを1週間半で行うスケジュールで、割と過密なスケジュールになっています。僕は途中必須の課題が終わらなくて、間の日曜日や自由課題の空いた時間でなんとか終わらせました。
この期間で講師の人達に受けたコードレビューのお陰で、自分の「このくらい書けば良い(問題無いコード)だろう」と思う閾値が上った気がします。更に他の人が書いたコードも見れるので、同じ動作のコードを他の人が書くとどんな風に書くのかが見れてとても勉強になります。
また今年から本格的に機械学習の講義を行ったようなのですが、この講義がとても良くて、普段は意識することのないWebサービスとコンピュータサイエンスの関わりを学ぶことができて本当に良かったです。大学の講義で聞いた覚えのあるような内容なんだけど、実務で使うという視点での話もあってとても興味深かったです。
この期間はとにかくコードを毎日書きまくった期間で、過去にはてなインターンは精神と時の部屋だと表現した人がいましたが、まさしくそんな感じで、これまででこんなにコードを書きまくった期間はないと思うほど濃密な日々でした。
インターンSlackでのペアの人とのあたたかみのあるやり取り
後半過程
後半過程は各チームに配属されて新機能の開発を行いました。はてなブログコースで開発した機能は、はてなブログのaboutページ編集機能と最終更新を「プロフィール」の下に表示する機能です。aboutページの拡充はブログチームの悲願*1だったらしく、そこに手を加えることができて良かったです。
残念ながら最終発表での優勝はできませんでしたが、個人的には最高の機能だと思っているのでとても満足です。
はてなブログのコードを実際に見てみるといろいろがあーでこーであーで、「これが、実際に動いているサービスのコードか」という感想でした。
開発の大部分はペアのid:susisuさんとペアプロをして進めました。ペアプロは初めての経験で、最初の内はペアの人の動きを追ったりするのに集中してしまい、コードを書いてる感じがしなかったけれど、慣れてくると良い感じに作業の分担が出来て上手くやれた方かなと思います。*2
機能がリリースされた瞬間は、まず機能がちゃんと動いているかどうかが不安でした。動作確認を終えると、今度はユーザからの声がどんなものなのかが正直不安で恐かったです。
けれど機能紹介のブログが公開され、好感触の反応をしてくれているブコメも付いて、実際に使ってくれている人が出てくるという体験はとにかく最高で貴重な体験でした。
インターン終了2日前に謎の高まりを見せた僕
インターンで学んだこと (思い出したら追記していきます)
インターンで学んだこととして、Perlのような言語*3でもしっかりとやっていくという気持ちがあればはてなブログのような大規模なサービスでも運用することができるし、Perlを書いているからといって特別苦痛に感じることもあまりない。大切なのはどんな言語使うかではなくて、しっかりとした設計や丁寧なコードを書いていくといったことであったり、開発のしやすい環境やチームの体制であるということがあります。
具体的にどう丁寧なのかはid:hitode909さんの発表多分これあたりを見てもらえればいいけれど、これからインターンを考えている人*4も「あそこは○○の言語を使ってるからちょっと……」といって敬遠する必要はなくて、上に書いたようなことの方が重要だということを頭の隅みおいてもらえると嬉しいです。
総評
はてなインターンでの日々はとにかく最高の毎日で、こんなに毎日楽しい日々を過ごしたのは、幼稚園以来だったのではないかと思うほど充実した期間でした。2週間でWebアプリケーションを書けるようになり、チームに配属されて機能をリリースする。これだけのことを1ヶ月弱で行うので実際濃密です。
加えて濃い面子の同期に出会えたり、インターネットやブログで見たことのある人達と一緒になってコードを書くという体験もできるので、本当に色々なものが凝縮されてつまった日々でした。
はてなのエンジニアは優秀で最高の人達がたくさん集まっていましたが、特にブログチームのみなさんは本当に最高の人達でした。メンターのid:amagitakayosiさんはメンターというよりは一緒に機能を開発していた仲間という感じで、本当にお世話になりました!!!!!!!!
そしてこのインターンを準備してくださった、インターン実行委員長のid:daiksyさんもありがとうございました!!!準備に半年もかけてるらしく本当に、用意周到という感じです。
みなさん本当にありがとうございました!!!!!!!!
他のインターン生
最後に他のインターン生を紹介します。
id:susisu : ブログチームでペアだった人, 半額シール susisu.hatenablog.com
id:upamune : ホテルで同室だった人, 芹澤優 http://blog.upamune.com/entry/2016/09/12/120000blog.upamune.com
id:polamjag : DJ, いろいろ凄い polamjag.hatenablog.jp
id:mr-sunege : 漫才プレゼン良かった mr-sunege.hatenablog.com
id:hantas : ISUCON, インターン終わった後すぐ台湾に行った人 blog.taniho.net
id:ak1t0 : CTF, 午前中がつらそうだった人 http://ak1t0.hatenablog.com/entry/2016/09/16/115333ak1t0.hatenablog.com
id:nakamura-takuya : お昼を良くおかわりしていた人