はてなインターンの手引き
はてなインターンの id:ninjinkun アサノです。8月4~29日までインターンとしてはてなに勤務しています。
このエントリは、Webアプリケーション未経験者の私が無謀にもはてなインターンに応募し、苦労している視点から書いています。同期のインターンは皆優秀で、私はどちらかというと着いていくので精一杯なのですが、未経験者の視点から書くのも逆に意味があるのかなと思い、インターンに来るまでにやっておいて良かったこと、やっておけば良かったことをメモしておきます。
Perlの知識
はてなはPerlの会社です。「初めてのPerl」(リャマ本)と「続: はじめてのPerl」(アルパカアルカパ本)は読んでから行きましょう。特に「続」の方が重要で、リファレンスやオブジェクト指向はもちろんのこと、テスト等も使った課題が待ち受けています。私はスクリプト言語自体にそんなに馴染みがなかったので、この本を読んでいなかったら正直死んでいたと思います。なんらかのLLを常用している方なら「Perlクックブック」とかでも良いのかもしれません。
*NIXシェルの知識
基本的にターミナルを使って作業することになります。はてなの独自フレームワークをローカルに入れて課題をこなすのですが、自分のPCにインストール or インストール済みVMWareイメージをもらって使う、という選択ができます。いずれにしても*NIXのシェル操作は必須です。zsh + screen厨多し。
エディタの知識
Emacs vs Vimの論争に着いて行けるようにしましょう。基本的にはどちらかの陣営につくことになります。便利なEmacs LispやVimscriptを入れて、自慢し合いましょう。どちらも使ったことのないひとは、とにかく入れてみて、キーバインドを覚えましょう。
JavaScript + DOMの知識
ユーザインターフェイスプログラミングをさせられます。これが結構盲点で、DOMに触ったことのなかった私は現在ここで結構ハマっています。同期ではこの周辺に強い人が多いので、助けられながら何とかやっています。JavaScriptの簡単な構文と、DOMを弄る知識は身につけていきましょう。ライブラリなどを少し使ってみるのも良いと思います。ちなみにはてなは自社製ライブラリです。
はてな社員の知識
id:jkondoやid:naoyaはもちろんですが、id:antipopやid:secondlife、id:onishi, id:nagayama、id:motemen 等、京都でエンジニアとして勤務しているひとたちの知識を仕入れておくと良いです。僕に教えてくれるひとしか書いていません。すみません。ここに書かなかったひとも、今度いろいろ教えてください。
最後のはネタですが、会社に来てからでも良いので、どの社員の方がどの分野に強いのかを把握しておくと、いろいろ聞きやすいかも知れません。社員の方は全員恐ろしく優秀なので、どの分野のことでもさっと答えてくれますけどね!
他にも必須ではないですが、バージョン管理システムに多少慣れておくと良いでしょう。社内のバージョン管理システムはgitなので、自分でしばらくgitgitしてみると良いと思います。この辺はすぐになんとかなると思うので、あまり重要ではないです。
Web系アプリやLLの経験なしで、「はてな面白そうだぜ!とりあえず行けばなんとかなるやろ!」という勢いで応募してしまう人がいると思いますが、全くおすすめできません。勢いで応募してしまった私が断言します。同期は皆なんらかの経験を持っていて、さくさく課題を進めて行きますが、私は結構息切れしています。C言語で画像処理をしている人間には、新しいことが多すぎます。
しかしこのエントリにある事柄を予習してから参加されれば、課題についていくことは可能だと思います。まあ、同期は課題にさらに付加機能を付けて提出しているようですが・・・。
実際のインターンのプログラムも公開を検討していると聞いていますので、もしかしたらそのうち応募ページに掲載されるかもしれません。
最後になりますが、はてなの環境は素晴らしく、社員の方も皆親切です。社長とも気軽に話せるし、手作りのお昼は出るし、冷蔵庫にはドクターペッパーが常備されているし・・・。
そして何より、ゼロベースだった私が飛躍的に成長している感覚があります。上ではおすすめできないと書いたのですが、未経験でもWebアプリケーションに興味を持っている人は、今すぐ応募するべきです。それは、このインターンがWebアプリの開発を学ぶ最短経路だと感じるからです。大学や大学院に通いながら片手間で勉強しているよりも、はるかに早いスピードで知識を身につけることができます。id:umedamochioが言われている、「高速道路」ですね。
はてなのインターンはその辺の「就業体験」とは全く違います。彼らはプロダクションレベルのコードを求めてきます。そして、実際にインターン生のコードがプロダクトに入る可能性があるのです。そのことに、私は今からわくわくしています。
未経験者こそ行くべき、というようなことを言えるほど甘い環境ではありません。しかし、向上心があり、今からインターンに向けた勉強を始められる方なら、飛び込んでみる価値はあると思います。このエントリはそのような方を対象に書きました。Webの世界にわくわくしている、まだ何者でもないひとへ、9月のインターン募集がまもなく始まります。あなたの夏の予定のなかに、はてなを加えてみてはいかがでしょう。
8/11 追記
インターンが発表されていますね。デザイナーのインターンもあるようです。
http://www.hatena.ne.jp/company/staff/intern
むちゃ楽しそうだな
いい。すごくいい。
先生方には言うまでもなく非常に迷惑をおかけしており・・・。こんな僕を置いてくれるロボティクス講座には心底感謝しております。
[...] 0×0018 till I die » はてなインターンの手引き (tags: hatena programming) [...]