tom__bo’s Blog

MySQL!! MySQL!! @tom__bo

はてなサマーインターン2015に参加してきた

8/10 ~ 9/4で開催された「最高!」なインターンであるはてなサマーインターンに参加してきました!技術賞も頂けて最高でした。メンターしてくださったichirin2501さん、wtatsuruさん、halfrackさん、関わって下さったみなさん本当にありがとうございました!

 

f:id:tom__bo:20150906210837j:plain

 

サマーインターン参加にあたって、過去のインターン生の方がブログを書いていてくれたことが非常に良かったし、それこそがはてな!という感じもするので、僕もこのインターンのまとめを書こうと思います。なんだか書いているうちにあれもこれも長くなってしまったので、必要な箇所だけでも読んでいただけると嬉しいです。

 

<目次>

  1. 参加まで
  2. 事前課題
  3. 周辺環境
  4. 前半過程
  5. 後半過程
  6. はてなインターンのススメ
  7. 最後に

 

1. 参加まで

6月くらいに「今年のインターンは、はてなに行きたい」と思っていました。はてなに行きたいのは、まあそうだよね。

今年2015年のインターンは、はてなブログiOSアプリ・Webマンガクラウドサーバ・アドテクノロジー・大規模システムの6つでした。去年からなのか、最初からコースが決まっているのは良いなーと思う一方で、全12名くらいとの事だったので、1コース2人だと結構狭き門だなーと思っていました。

僕はアルバイトでwebアプリの裏でMySQLを使ったり、SQL Serverをで分析業務のお手伝いをすることがあって、DBに興味がありました。なので、クラウドか大規模コースに行きたいと思っていました。あとは、Scalaを今からやるのは大変そうだと思ったのとで「大規模システムコース」に応募しました。

今回も大規模システムコースだけなのか(確認していないけど)面接があって、

  • どんなことをやってきたのか
  • アルゴリズム(ソートとかその違い・使い分けとか)
  • OSの仕組み
  • データベースの仕組み(DBやりたいって言ったからかも)

とかを45分(?)くらいで話しました。

そのあとに合格の連絡を頂いて(=゚ω゚)ノ(=゚ω゚)ノとなっていました。

 

この時の反省としては、インターンに行けることが決まったらはてなの社員さんが書かれてるブログをもっと読んでいくべきでした。有名な人も多くて、知っているかもしれなけれど、インターンと関わりのない社員さんとも簡単にお話していただける機会になるので、もっとチェックしておきたかったです。

 

2. 事前課題

恒例の事前課題が出ます。今年はクラウドサーバのコースがScalaであとはPerlと言った感じだったけど、ブクマのコア部分がScalaで開発されつつあったりするので、今後はScala比率上がるのかなーと思っていたりします。が実際は知りません。

課題自体をこなすことはそんなに難しくなく、perlの環境構築も手重を示してもらえるので、適当にこなして終わりとやってしまっていました。普通に考えればわかるけど、インターン中に後講義+演習があるし、その後の過程でもperlを使う可能性は高いので、じっくりやっておくべきでした。おすすめ本として

「初めてのPerl」「 続初めてのPerl

f:id:tom__bo:20150906232627p:plainf:id:tom__bo:20150906232637p:plain

が上げられていて、これとか「プログラミングPerl

f:id:tom__bo:20150906232649p:plain

を読んで理解できていると、インターンまでperlの経験がなくても、より最高な夏を過ごせると思います。大学の都合もあって、そう簡単ではないと思うけど、、、

講義と演習の時になって、標準関数の仕様を1個1個調べていたり、cpan, cpanm, cartonがよくわからない!となると課題も大変になってきます。ただ、メンターさんが丁寧に教えてくれるので、時間がなくてわかっていなくても、なんとかなると言えばなんとかなります。

僕は上の本の写経をしたり(頭に入ったとは言っていない)、後半課題に向けていろいろな参考書を上げてもらえたので、これに加えて、僕の後半過程の課題になりそうだったPostgreSQLの本を読んで、「読んだ記事」を書いたりしていました。

インターン前に読んだ本 ↓(昔読んでいた本も含む)

  • Webエンジニアが知っておきたいインフラの基本

f:id:tom__bo:20150906232705p:plain

  • データベース技術実践入門

f:id:tom__bo:20150906232715p:plain

  • サーバ / インフラを支える技術

f:id:tom__bo:20150906232723p:plain

f:id:tom__bo:20150906232734p:plain

f:id:tom__bo:20150906232742p:plain

この辺りは興味次第だし、PostgreSQL以外は直接役にたったわけでもなかったので、好き好きにといった感じです。

 

 

3. 周辺環境

さあ、京都に到着しました!僕は東京からの参加だったので、ホテルを用意して頂いたホテル勢でした。今年は周辺のホテル事情で例年より若干遠い(歩いて20分弱)でしたが、1人部屋を用意していただいたので、1人でゆったり出来ました。最高(=゚ω゚)ノ

約1ヶ月もホテルで生活するといろいろな現象が起きて盛り上がります。

 

その1:増え続けるアメニティグッズ(写真はシャンプー・リンス・ボディソープ)

f:id:tom__bo:20150906234103j:plain

f:id:tom__bo:20150906234140j:plain

f:id:tom__bo:20150906234201j:plain

f:id:tom__bo:20150906234227j:plain

f:id:tom__bo:20150906234241j:plain

 

その2:なぜか増えたガウン

f:id:tom__bo:20150906234748j:plain

f:id:tom__bo:20150906234751j:plain

f:id:tom__bo:20150906234756j:plain

f:id:tom__bo:20150906234828j:plain

 

このほか、清掃して下さいボタンとか、清掃員の片付け方の違いとか、くだらないことで盛り上がれます。ホテル生活楽しい。ワーイヽ(゚∀゚)メ(゚∀゚)メ(゚∀゚)ノワーイ

 

紹介する必要もないかもしれませんが、ドリンクは飲み放題、お昼ごはんはMacanaiが出ます。僕の盛り付けは下手だったので、こちらで確認してみてください。

twitter.com

美味しすぎて太ります。困る。

周囲の美味しいお店は社員さんから教えてもらえるし、連れて行ってもらえます。前半過程の忙しい時はお寿司のデリバリーが届いたりと最高です。

日本屈指の観光地で自分で店舗を発掘するのはやめたほうが良いです。ホテル近くのインドカレーが美味しそうで入ってみたら、ディナーで3000円かかりました。。。旨くないし( ≧Д≦) 

そしてなんといってもボルダリングジムが本社のすぐ近くにあります。これはこれで記事にすると思うので、興味のある人は是非!(今年のインターン生は誰も行ってくれなくて、普段からボルダリングされている社員さんと行きましたw)

 

4. 前半過程

初日はオリエンテーションと事前課題の講評があり、夜は歓迎会に参加します。

自己紹介の時に「DBに興味があって、、、」と言っただけで自分のメンターからまさかり?(厳し目の質問)が飛んできたりしてあわてましたw

 

前半過程は今年は約1週間で、perl/scalaでの簡易ブログアプリを構築していきます。これまでの教科書が公開されているように、はてなの教科書を使って行われます。

PerlScalaチームで当然異なりますが、簡易版ブログを作ることは同じで、共通の部分は一緒に午前の講義を受けます。

今年の内容と担当講師

午後からは課題が待っていて、必須・応用にわかれた課題をがりがりこなしていきます。この必須課題をこなせないと後半過程に進めないので、定時の19時を過ぎても必須課題すら終わってないー((((;゚Д゚))))となりながら作業していきます。

この教科書は最高で毎年改良され続けられた結果、定時に終わるのは厳しいだろうというくらいに設定されているそうで、大半の人は黙々と作業をし続けることになります。が、一部のすごい人は速攻で終わってテストのカバレッジを100%にしようか。とか言ってたりします。さすがははてなインターン!!

メンターの方や周囲の社員さんが優しくなんでも教えてくれて、細かくコードレビューをしてもらえて最高の環境です。

ただ、perl初心者には分量も多いので、僕のように必須課題がぎりぎりなひとだと、

( ゚д゚)ハッ! ええええええ!?なんで!?19時(定時)なんで!?

となったり、

ココらへんだめだなーとわかっていながらも、とにかく必須課題までは実装してコミットするしかない!となって、その部分をメンターさんに指摘されるし、そもそもこんなクソコードをレビューさせてしまっているし、、、と最悪な気分になったりします。

まあ、そういう時が一番成長してるんだとか意味不明なことを思い込んで頑張るしかないです。

そんな中で、研究室の進捗も出さないといけなかったりすると、寝起きの血圧が低くて朝ごはんを吐いたりしますが、冷静にうがいをして歯を磨いて、また朝ごはんを食べれば大丈夫です。研究室の進捗は出してからインターンに行こう(O_O) 

さあ、なんとか前半過程を乗り越えられたかな。

おめでとうございます。 ありがとうございます。

前半課題は忙しいけど、実は独自機能の実装という課題があったり、土日があったりで、後半過程にいけないことはないと思います。メンターさんが親身に教えてくれます。後半過程もがんばろう!

 

5. 後半過程

後半過程はチームごとに別れて本番の環境でコードを書いていくことになります。そして、最終成果発表はチームごとに投票して優勝を争うので、いよいよインターンも盛り上がってきます。

応募時のチームへ2人1組で配属され、新機能を実装していくことになりますが、僕が参加した大規模システムコースはいくつか提供されたインフラの課題をそれぞれバラバラに取り組むという方針でした。インターン生の興味や能力に応じた課題に取り組ませて頂いて感謝感激でした。僕はMackerelのDBであるPostgreSQLの運用改善、ツール開発を行うことになり、同じコースのid: Lepton君は仮想化基盤の性能改善をテーマにしました。

ここで僕の取り組んだ内容はもう少しまとまってきてから別途記事として書こうと思うので、ここではその成果とLepton君の成果で技術賞をいただけましたとだけ書いておきます。ワーイヽ(゚∀゚)メ(゚∀゚)メ(゚∀゚)ノワーイ

後半過程では本番の環境に触ることになり、はてなの裏側を見て回れるのでとにかく最高です。

 

6. はてなインターンのススメ

はてなインターンは最高です。なので応募しない理由はないのですが、迷っている人のために良さを書いてみます。

 

・ インターン生が最高

 インターン生にすごい人だらけ。何かしらの得意分野で尖った実績や経験があって素直に尊敬できる。その中で1ヶ月間課題をこなしたりプログラミングの話ができるのは最高 。

 

・ 社員さんが最高

 社員さんのレベルはすごいインターン生以上に高く、インターン中にhitodeさんが最後のYAPCでベストトーク賞をとっていたり、有名な人達ばかり。元インターン生だった人も多くて、年齢もそう離れていないので、入社数年後にこんなにできるプログラマになれるのかな?と刺激を受けられます。そんな先輩方になんでも質問をすることができて、自分のコードや考えのフィードバックもしてくれる環境は最高としか言いようがないですね。

 インターンの制度が充実していて、インターン中の給料が良かったり、福利厚生を受けられるインターンは他にもあるだろう。でも、メンターの社員さんがインターンにすごい熱量を注いでくれていて、通常業務はどうなっているんだろう?と思うくらいに手をつくしてもらえるのは、インターンの熱狂を体験しているメンターさんが多いことと、はてなの最高な文化のおかげだと思います。プログラミング、と言うか良いサービスを作ることに真摯に向き合っている社員さんたちがすごい密度でいる社内の雰囲気を是非感じて貰いたい!

 

・ カリキュラムが最高

 はてなの教科書が充実していることと講義を受けて、実際に実装していく前半過程があって、それを乗り越えて本番の環境で作業ができるので、大半のperl初心者でもきっちりと勉強した上で最前線でコードを書けるのできちんとプログラマとしての経験をつめると思います。

 

・ 食事が最高

写真を取らなすぎて残念ですが、(他の同期のインターン生が上げてくれると思う)美味しいお店に連れて行ってもらおう!焼き肉とか寿司とか、いいものを食べ過ぎて胃が疲れてくるはずだ!そして何よりMacanaiが最高!美味しい昼食もそうだけど、社員さんたちに混ざって食堂でわいわいご飯をたべるのも楽しかった!

 

・ 京都最高

ずっと東京に住んでいる僕が一番驚いたのが、通りが完璧に格子状になっていることでした。綺麗に東西に走る通りが一条、二条、、、となっていて、南北に走る通りの名前と合わせた名前が交差点の名前になっているというわかりやすさ!歴史的な理由なはずなのに近代的な感じがしました。一方で、通りを歩いていると本能寺があったり、これぞ日本と言った感じの建物の多い京都の町並みが最高でした。

 

・ ホテル生活最高

 日本にいる人の大半の人は京都に住んでいないわけで、そうなるとホテルからインターンに参加することになる。ホテルで1ヶ月も生活することは殆ど無いだろうし、旅行気分で楽しい。

 

最高最高かいて気持ちわるい感じがしますが、インターン後の高揚感が残っているので、この変な高揚感が残っているうちに最高最高を連発しておくことにしました。

 

インターン最終日に飲み過ぎて最高最高言っているツイート↓

f:id:tom__bo:20150907015430p:plain

これの後に「はてな最高」「最高でしかない」「さささささ最高」とかをずっと書き続けたブログを書いていました。(次の日速攻で消したけどw)

まあなんというかそれくらい最高なインターンでした。

 

 

7. 最後に

この章は「まとめ」としていたんですが、ここまで思うままに書いてきて、インターン紹介なんだか、感想なんだかよくわからないものになってしまったので、「最後に」にしました。。。

ここまで読んで頂けたのなら2015年のはてなインターンの様子とそれが最高だったということが伝わったのではないでしょうか (。・д・)

 

はてなインターンは前半過程の大変さも、同期のインターン生や社員さんたちのレベルも、楽しさも得られる経験も参加前に自分が予想していたものをかなり上回っていました。

↓ 貴重な体験が押し寄せて壊れたスーツケース

f:id:tom__bo:20150907020844j:plain

来年以降のインターンに応募する機会があれば迷わず応募することをおすすめします。

 

そして、はてなの皆さん本当に最高の夏、最高のインターンをありがとうございました。

 

 

 

 〜同期のインターン生の記事(まだ上がっていないようなので、更新していきます)〜

kumocast.jp

swimath2.hatenablog.com

emon18.hateblo.jp

tyage.hatenablog.com

 

 

 

↓ 帰っていく同期のインターン生たち

 f:id:tom__bo:20150907020908j:plain