井の中の蛙がはてなインターン(基礎コース)に参加してきた話 〜リャマとアルパカとCPAN GAME〜

 「精神と時の部屋」とかで有名なはてなインターン。これまで一人で趣味プログラマーとしてキーボードカチャカチャしてた僕がそのインターンに参加してきました。そのまとめです。ちなみに僕は基礎コース(2週間)に参加しました。

事前課題

プログラミング課題

f:id:funnelbit:20120903175927p:plain
 ・インターン参加が決定するとまずはじめに現れるのが事前課題です。さすがにPerlとjs何も知らないまま飛び込むと何も出来ないので、ここで自分なりに基礎を学ぶことになります。詳細は秘密ですが、それなりに時間があるので必ずできるはずです。ただ期末考査、レポートの期間にかぶってくるので注意が必要です。

本を読む課題


 ・また、プログラミングに加えてオライリーPerl本を読んどいてね、とインターンのページに書いてたので購入して読みました。ただ僕は結構本読むのをでたらめにこなしてしまってて、「ハッシュ?うーん配列でいいじゃん。いらない!!」などというとんでもない事をしていました。あの時の自分を叱責したい。

初日

f:id:funnelbit:20120903180021p:plain
 さて、はてなにきて初日はオリエンテーションです。スタッフと顔を合わせたり、インターンの説明を受けたりします。そのあとは歓迎会です。歓迎会ではインターン生の自己紹介があります。前日までにプレゼンを作っておきましょう。またピザやお寿司を食べることができます。早く食べないと無くなるので注意が必要です。特に寿司を優先して食べていくことをお勧めします。

前半


 前半は講義があり、1日一回課題が出ます。課題の内容は絶対にこなさなければならない基本課題と、オプションでやれば点数upな応用課題があります。ほとんどの人がオプションまでこなしていますが、僕はオプションが出来ない日もありました。このあたりは個人の力量にかかってます。

 はてなインターンで一番大変なのはこの前半かもしれません。少なくとも僕はそう思いました。Perlというインターンまでは使ったことのない言語でフレームワークを使って課題をこなすので、Perlの知識+フレームワークの知識が要求されます。提出日は大抵次の日の10時までなので、多くの人は会社にギリギリまで残って課題をこなし、さらにできてないところは家に帰ってやる、というスタイルです(会社に残れるのは夜10時まで。高校生は9時まで)。

 僕は初日こそそれなりに良かったものの、2日めから苦しい日が続きました。周りの人たちは結構スムーズにできているのに、自分はなかなかできない。「本当にここにいていいのかな?」とすら思いました。それでもわからなかったら周りに聞いたり、メンターの人にお世話になったりで、なんとかこなすことが出来ました。

後半

f:id:funnelbit:20120903180109p:plain
 そんな嵐のような前半を乗り越えたら後半戦です。後半は前半とはまた違った講義がありこれがまた面白いです(デザイン、サーバ、経営など)。後半の課題はは1週間を通して「ブログをパワーアップさせよう」というもので、自分で考えた物を作れるので、課題というより開発という感じです。月曜日から始まりますが、土日からスタートを切っても構いません。僕は日曜日に始めましたが、構想が気に入らず2回やり直しました。結果ブログでないものが出来上がりました。


 この課題は、実際にサーバにデプロイして発表します。その発表時には、はてなスタッフやインターン生に使われます。そして攻撃も行われるため、最低限のセキュリティは確保して置かなければなりません。僕は適当にサーバにあげた時、id:uiureoさんに狙われ、文字列を全部流されました。

 ラスト1日になった時は大抵の人が切羽詰まってました。「脆弱性!!脆弱性!!」「バグ見つかったヤバイ」「仕様です」とか言い合ってたのもこの頃がピーク。理系の大学院生は卒業研究の切羽詰まった感じを経験してきた方が多いと思いますが、それに近いです。

 なお、この課題には賞が用意されてて、入賞するとアマゾンギフト券がもらえます。残念ながら僕はかすりもしませんでした。

メンターという存在について

 インターン生にはメンターという、プログラミングについて教えてもらえる人が付きます。スペック半端無いのでどんな質問にも答えてくれます。僕は若干緊張してて

id:hakobe932さん「〜〜してください」
僕「えっ...えーと...あ、アウアー^q^」

とかなってましたけどそれでもちゃんと教えてくれます。間違えて.gitディレクトリをrmで抹殺しようとしましたがid:hakobe932さんのおかげで助かりました。

インターンにはどんな人達が来るのか?

 

年齢について

 年齢はバラバラです。ですがそれを意識したのはほんとはじめの方だけ。後半とかもはや年齢などほぼ考慮してません。今回は高校生が「先生」と呼ばれていました。

インターン生のレベルについて

 みんなレベル高いです。僕が低いだけかもしれませんが、必ずどこかに強みを持っている人が来ます。コンテストで優勝してたり、実装やたら早かったりとツワモノぞろいです。MENSAとかヤバイ。Emacs使いのid:catatsuyさんはControlキーを割り当てていたキャパスロックキーを酷使して破壊するレベルです(id:catatsuy「キャパスロックキー壊れて俺なにもできねえ!!」)。

 インターンの選考基準に大学名は特に関係ないんじゃないかと思われます。結果的に有名な大学に優秀な人が多いってだけで、理系文系も特に関係ないと感じました。

それ以外

 イベントがたくさんありました。

京都観光

 ・京都観光です。伏見稲荷とか錦市場に行きました。伏見稲荷では僕が弾き飛ばしたハチがid:takanamitoさんに当たりました。刺されました。

 全力で観光中

Kyoto.pm

 ・id:shiba_yu36さんが主催するPerlの会です。LT(ライトニングトーク。5分間話し続ける)もあり、インターン生も発表していました。id:Mrk1869さんはAndroidNFC通信について、id:henteko07さんは自分で作ったhenteko言語について話していました。そんな中僕はファボで星空を作った話をしていました。

インターン生同士のやり取りについて

 はじめは探り合いで無難な言葉で牽制しているような感じでしたが、すぐに仲良くなれました。プログラミングが好きな人が集まってるので、話題にも困りません。
 はてな社内は結構静かな感じですが、二週間目にid:catatsuyさんが「もっと喋ろうよ週間」を呼びかけたことにより、リアルでの会話が多くなりました。僕はいらないことばかり喋って周りの作業を妨害してました。

f:id:funnelbit:20120824133251j:plain

 畳スペースでの開発はインターンの醍醐味。

・意識高い系画像



・楽しくお互いの意識を高めていける環境です。


id:catatsuyさんが「ポーズ撮るだけで売れるグラビアアイドルってすごい」って話をしててチャレンジしてみた図。

その光景を見てid:uiureoさん参戦
 後半とかもはや壁とか一切なかったので容赦なかったです。やりとりの一部をご紹介します。

 「ペロペロ」

 「ペロペロさん」

 「ペロペロ先生!!」

 「もうだめぽよ」

 「ロリコン」

 「ロリコンなんですか!?」

 「内定取り消せ!取り消せ!」


 僕はロリコンではありません。それだけは真実を伝えたかった。

 あと僕は就職決まってから参加という変則的な事をしているので、ここで書いた内定というのとは関係ないですが、インターンに参加して高評価だと内定一歩手前までの優先パスが出るらしいです。

はてなの福利厚生

f:id:funnelbit:20120822130756j:plain

ジュース飲み放題

 ジュースやお茶を好きなだけ飲むことができます。種類も豊富で、ドクペ好きのためにドクペも用意されています。たまにみかんゼリーとかもあります。

お菓子食べ放題

 ・お菓子食べれます。うまい棒とかチョコレートとか。

カップ麺食べ放題

 ・カップ麺あるので小腹空いた時など安心です。

交通費が出ます。

 ・でちゃう。

インターンに参加した結果

世界が広がった。

 大きなウェブサービスを展開しているはてなという環境で開発ができます。また全国からいろんな人が集まってくるので、超エキサイティングです。井戸のそこでぴょんぴょん跳ねていた僕にとって衝撃でした。今回のインターンで自分の実力の低さがよくわかりましたし、そのおかげで自分がこれから何をすれば良いのか、というところが明確になったと思います。またこれまで一人でやってきたので、開発者同士のコミュニティなんぞ一切ありませんでしたが、インターン生と出会ったことによって活動の輪が広がったかと。これまでfacebookでプログラミング関係のPostしても彼方に消えて行くだけでしたが、もうそんな心配もありません。一人ぼっちは、寂しいもんな。

インターンに参加する人へ

使用PCはMacにしよう!!

 Macがメインです。Linuxも可能ではあります。

事前に新OSにアップデートするのはやめよう

 新しいOSが土壇場で登場したせいでトラブルがありました。思いとどまろう。

IDEは使わないよ

 vimEmacsです。何も知らなくても何とかなりそうですが予め使っておきましょう。

読めるはてなIDを設定しよう!!

 はてなではID名でお互いを呼びます。人間が発音可能なIDを設定しましょう。今回は発音不可なIDが結構ありました。そういう人には適当なあだ名が設定されます。


 あとどうでもいいかもしれませんがカメラ持ってきたほうがいいです。インターン中の光景を撮れます。

おわりに

 
 本当に素晴らしいインターンシップでした。もし参加を迷っている人がいたらぜひ参加して欲しいです。夏休みは旅行したい、とかあるかもしれませんが、そういう予定を蹴ってでも参加する価値があります。ここでしか出来ない経験や人とのつながりを是非体験していただきたいです。

 最後にid:jkondoさんをはじめ、はてなのスタッフの方々には大変お世話になりました。特にid:hakobe932さんには相当お世話になりました。本当に有難うございました。