はてなダイアリーに移転します、そして
2009年春より、株式会社はてなでWebアプリケーションエンジニアとして勤務することになりました。
http://d.hatena.ne.jp/ninjinkun/
それに伴い、ブログをはてなダイアリーに移行することにしました。RSSリーダなどに登録していただいている方は、お手数ですが再登録をお願いします。このドメインは今後も何かに使っていく予定です。
2009年春より、株式会社はてなでWebアプリケーションエンジニアとして勤務することになりました。
http://d.hatena.ne.jp/ninjinkun/
それに伴い、ブログをはてなダイアリーに移行することにしました。RSSリーダなどに登録していただいている方は、お手数ですが再登録をお願いします。このドメインは今後も何かに使っていく予定です。
9/13に行われた「エンジニアの未来サミット」に聴講者として参加してきました。遅ればせながら、まとめを書きます。
個人的に、第1部の「アルファギーク vs 学生」について思うところが多いので、そちらについて書きます。進行や議論の流れなどへの批判は、他の方が既にたくさん書いているので、あの混乱の中でも重要だと思った話がいくつかあったので、それを取り上げたいと思います。なお、アルファギークの方はブログなどを通して、少なくとも名前は全員知っていたので、多少の前提知識がある者の弁としてお聞きください。
今回、討議された中で最も重要だと思ったのが、最後に金子さんがまとめで仰った
学生と企業側間での情報の非対称性
だと思います。naoyaさんの「学生がブラック企業に行かないようにすることが、業界にとって大事」という発言を受けて出てきた議論だと記憶しているのですが、学生はそういう企業を探す方法を知らない、という話。これは僕自身の経験からも、大いに頷ける内容でした。
そして、それを受けて出てきた、ひがさんの
社員がこういうことをしている、と伝えるのが大切
社員が情報を外に出しやすい空気を会社につくる
という発言が、一番生産的な結論だと思います。惜しむらくは、この議論が全く盛り上がらずに流れてしまったことですが・・・。
逆に、danさんやよしおかさんが自己責任を強調されるのは、どう見てもマッチョ論で、あまり生産的な議論につながるとは思えなかったです。
結局自分でやるしかないなんてことは、みんなわかってるに決まってるじゃないですか。それを強調しすぎたのは、明らかにマイナスな印象を生み出したと思います。だからどうするのか。どこから始めたらよいのか。そのためにOSSの話などが出てきたと思うのですが、うまくそちらに繋がらなかった印象があります。
以下、ログです。途中、danさんとよしおかさんの掛け合いで混乱した部分はあまりメモをとれませんでしたが、それ以外は概ね再現されていると思います。しかし開催の趣旨、全く無視されてましたね・・・。
開催の趣旨
IT業界へのネガティブなイメージを振り払う
このイベント開催の経緯
先日、IT業界のネガティブなイメージが拡大したイベントがあった・・・。それに対して、ひがやすをさんがアルファギークと学生を対談させればよいのでは、と発言。それに対して、技評が応えた。
パネラー紹介
ギーク側
dankogaiさん (以下、dan)
にぽたんさん ライブドア (以下、にぽたん)
naoyaさん (以下、naoya)
よしお ひろたかかさん (以下、よしおか)
ひがやすをさん (以下、ひが)
学生側
益子謙介さん (以下、益子(メガネスーツ))芝浦工大3年 IT系を目指している 会場ではメガネスーツと呼ばれていた
新井貴晴さん (以下、新井)芝浦工大3年
田村健太郎さん (以下、田村)一橋大 モバイルの会社でCTOやってる
源馬照明さん (以下、源馬)名古屋大学大学院 8月にはてなでインターンやってた
ひが
IT業界が泥ばかりでもないが、光ばかりでもない。
光の部分だけを協調しても意味がない。
いいところも悪いところも見て欲しい。
将来は学生の方にもIT業界に来て欲しい。
dan
SIに関してはあまりよく知られていない
よしおか
IT業界について整理したい。
ドメイン別
ビジネス形態別
それぞれの業界で、意見が違うという前提の元で討議してみたい。
ひが
SIer系
自身は自由に何をやっても良い立場
OSSをずっとやってる
いちおうSIerのこともわかっている
しかしプログラムを書くことを認めてもらっている
よしおか
ソフトウェア製品のサポート
OSやコンパイラを20年ほどやっていた
naoya
Webサービス
クライアントさんがいるというよりは、ユーザサイド
独立系
前職のISPでは協力会社がいたので、その立場もわかる
にぽたん
Web系
データセンターを持っている
インフラっぽいこともやっている
昔はWeb系の受託開発もやっている
かつてはそちらの方が中心だったが
dankogai
組み込み以外は全部やったことがある
現在はしいて上げればコンサルティング
しかし手を動かしている
まだ誰もやっていない
人が手をつけていないことをあえてやっている
泥のように働くってどういうこと?
はてなキーワードが表示される
にぽたん
肉体労働をやって泥まみれになったこともある
いろんな人のイメージがあるので、勝手に定義してしまうのはどうかと
naoya
記事を読んだ 少し泥を協調しすぎかな、と
金融などはフローを覚えるのに10年くらい働くのが必要と言う意味だったのでは
学生は自信満々で即戦力でいろいろやりたがる
そこにギャップがあったのではないか
自分も入ってすぐプログラムをばりばりかいて第一線で働きたいと思っていた
実際はあまりうまくいかなかった
大人数でものを作らないといけない
趣味のプログラムと業務のプログラムは結構違う
よしおか
IPAのひとが不用意に発言しすぎた
IT業界が協調されすぎた
メディアがおもしろおかしく書くのは当たり前
OSSに参加するのがオススメ
学生のうちからできる
企業に勤めているひとも、したたかにやっていく方法はある
下積みというところもあるが、自分でやるひとはいろいろある
ひが
学生に喋らせよう
益子
なぜこの業界だけ泥が協調されたのかよくわからない
dankogai
その間日も当たらない
泥の中には「評価されない」も入っている
新井
ITは最近になって注目されはじめた
田村
銀行とかもたぶん泥のように働いている
源馬
たぶんどの業界でもある
ドクターに進んでも、ニートになってしまう人もいる
自分の今の生活も、朝パソコンを立ち上げて、論文を読んでと、いろいろやっている
これは仕事だとすれば泥かも
dankogai
論文は外に出して評価されるから良いのでは?
源馬
(ドクターを出ても)就職する際には、論文より実務経験の方が重視されている気がする
35歳定年説
大学を卒業して10年働くと32歳だ
陽の当たるのは3年だけ?!
ひが
(自身は)プログラマーとして外に出だしたのが35くらい
プログラミングに価値を付けられれば、35歳とか関係ない
よしおか
ひとのせいにしてはいけない
35歳定年は(もちろん)法律で決まっているわけではない
いつになってもデビューできる
naoya
入社して1年くらいは下積みをやっていた
入社して3年目くらいでプロダクトが評価された
自分でプログラムが書き続けられるひとなら問題ない
しかし、どうやったらひがさんやよしおかさんのようになれるのかわからない人は不安になっているのではないか
31が目の前だが、だんだんマネジメントも増えてきた
これはこれで結構面白い
無自覚に管理職になってしまうのは結構辛いかも
35くらいまでに自分はなにがしたいのか、何が面白いかを自覚しておくのが重要
にぽたん
デザイナになりたかった
デザインセンスがなくてプログラマになった
プログラムが面白すぎた
下積み時代があったから今がある
某SIerの人と話したら、若いひとが早く上流に行きたがってた
コード書くのがいやなひとは上に行きたがる傾向にある
コードを書きたい人は、そういうことをさせてくれる場所を探す、作るかしないといけない
よしおか
OSSと受託では結構違う
受託で書いたコードは相手にもっていかれてしまう
OSSやWebサービスは自分がattachした充実感がある
OSSが受託開発より気持ちいいのは、書いたコードが自分のものになるから
田村 (CTO)
できるものに感心があるので、コードにはあまり興味がない
dankogai
ショック!
田村
プロダクトが目的であって、コードではない
dankogai
CTOがコードに興味がないってのは珍しい
naoya
コード自体に興味があるひとと、そうでない人は確かにいる
しかしCTOは興味を持った方が良い
源馬
コンピュータサイエンスの知識はある
はてなのインターンに参加して、あまり知識だけでは通用しないことを感じた
社会に貢献したいとは思うが、漠然としている
新井
アルバイトをしていて、お客様にサービスを提供して、お客様に喜ばれると嬉しい
益子
プログラムをやりたくて大学に入った
でも、だんだんコードだけではなく、製品のプロセスに興味が出てきた
コミュニケーションを取るためにプログラムを書く
naoya
世の中に新しいものを提供するには、技術を知っているひとの発想が必要
世界を変えるプロダクトを作るには、プログラマの力が絶対必要
益子
(技術を)知っているからこそ限界を感じてしまったりもするのでは
よしおか
それはないです
限界を決めているのは自分
言葉で説得するのではなく、コードで語るひとたちがハッカー
源馬
コードを書くこと自体が好き
外からやれって言われるのが嫌い
dankogai
コードを書いているうちにいつの間にか有名になってしまうのがアルファギークという理解でOK?
源馬
そうですね
自分はktkrリーダをOSSでリリースしている
dankogai
素晴らしい
そういうことをしていれば、学生のうちに注目されてしまうこともあるね
OSSにコミットしている人の中には、泥の段階をすっとばしている人もいる
好きなことをやっているうちに、起業してしまったひとなどはいるのか?
源馬
あまり知らない
dankogai
自分は嫌いなことを避けているうちにこの立場になった
にぽたん
アルファギークのことがよくわからない
自分はアルファギークだとは思っていない
ひが
泥にこだわってもあまり生産的にな話にならない
よしおか
ひがさんは10年間業務をしつつ、Javaに巡り会った
そしてそれを会社の主力事業にまでして、自由な立場を得た
自分で勝ち取った立場
ひが
Seasarやるまでは、普通のひとだった
プログラミングは好きな方だったが、会社の評価はあまりよくなかった
設計するひとたちがコードも理解できないといけない
丸投げモデルはいずれ崩壊するという危機感を抱いていた
会社がもっとコードを書ける人を育てていかないといけないという風潮になった
会社にもOSSを出して、コードをかけることをアピールした
よしおか
自分でやったというところがポイント
たいていのひとは手を動かさずに文句を言うだけ
ひがさんは成功例を出したというところが素晴らしい
ひが
一般的なエンジニアのキャリアパスが気要らないけど、どうしようもないと思っている人は結構いるのではないか
OSSなどで出して行けば、アピールできるかも
dankogai
OSSでは実はマネージャが不足気味
naoya
マネジメントは非常に重要
技術を極めたいと思っているひとがいて、世の中に貢献したいと思っているとする。
製品に結びつけて、世に出せるひとが必要。
マネジメントをする人にも技術力が必要
そうでないと技術の有無が見極められない
よしおか
経営や管理の重要性
ギークは技術技術と言いがちだが、マネジメントの重要性も認めるべき
技術をお金に換える人が少なすぎる
OSSが金になるか、という質問には意味がない
お金に結びつけるセンスがないひとが多いだけ
ひがさんに質問
なぜOSSか
ひが
オープンソースにするといろいろな人からのフィードバックが得られるから、出した
会社がきちんと認めていてくれても、OSSの考え方が好きなので外に出したと思う
ひがさんに質問
会社は変わったのか、特に丸投げの空気などは
ひが
変わっている。実際に新人研修でも、コードをきっちり教えるようになった。
質問
プログラムなどをあまりやらずにSIerに入ってしまうのが問題なのではないか
よしおか
それに対する回答はない
就職先は自分できちんと選ばないと
自分の人生
naoya
みんなちょっと自己責任論に偏りすぎ
会社に入ってからプログラムを書き始める人は結構いると思う
自分は会社に入ってから自分で勉強した
しかし忙しすぎて勉強できないところもあると思う
会社を辞めても良い
よしおか
教育やOJTを与えるのは経営者
それを与えないのは馬鹿な経営者
自分の人生は自分で決めなきゃ
SIerにいる人からの質問
入って数年は新しい技術に敏感だったひとたちが飼い慣らされてしまった
ビジネスモデルに負けている感がある
よしおか
それはその方がぬるま湯的で楽だから
ひがさんがはそこに危機意識を持っている
ウリがないところは、そのうち単価が安いところに駆逐されてしまう
よしおか
業界の中で、すごく苦労しているひとたちがいる
上流指向だけでは、差別化する要因がなくなる、ただの価格競争になる
全部自分たちの中でやれるSIerが付加価値を出せる
dankogai
外注が始まったのはいつ頃からか
ひが
就職する頃には既にあった
なぜSIerが存在するのか
日本企業は社員を勝手に解雇できない
社員を遊ばせておくのはもったいないので、下請けを使わざるを得ない
dankogai
SI業界はなぜ建設業界や公共事業的な流れに似ているんだろう
なぜ自分たちの中でやらないの?
ひが
簡単に首にできなにので。
dankogai
DECやIBMはそんなに簡単に首にしてたっけ?
よしおか
企業は利潤を生むために存在している
人件費を削ると、価値を生み出す力がなくなってデススパイラルに陥る
中国やインドなどでは一次受けがかなりの人数を持っているんで、あまりピラミッドは深くならない
よしおか
日本には技術を蓄積しないで、舌に流せばよいと思っている人たちが多い
中国やインドのひとたちは自分たちの技術をさらに磨こうとがんばっている
経営の問題
価値があることを認めさせるギークも少ない
みんなで高めあってもっともうけようとする人も少ない
スーツもギークもどちらも必要
技術者側がアピールしないだけ
益子
(業界が変わらないのは)ぬるま湯が気持ちいいからか
よしおか
そうだ
少しでもいい生活がしたいなら、したたかに自分から変えていくしかない
いやだと思うなら、自分が変えていくしかない
dankogai
ソフトウェアと製造業を単純に比較することは出来ない
中国で会社を作ったことはあるが、教育をしていない段階では、(中国人社員の生産性は)比べものにならないくらい低かった
よしおか
OSやコンパイラなどはそこまで進化していないのだから、経験のあるひとがOSSなどに集えば何かが起こるのではないか
dankoga
それには反対する!
彼らの知識が邪魔になることもありうるのではないか。
過去のコンピュータの知識が邪魔になることも
GFSを見ろ
よしおか
RDBMSなどは変わっていない
(混乱中)
田村
自己責任を押しつけてくるのはいやだ
naoya
どうやってそういう会社を探す?
田村
リクナビなど以外の情報の取得方法がわからない
naoya
学生がブラック企業に行かないのが淘汰に繋がって良いが、企業もどうやって伝えれば良いのかわからない
益子
離職率が36%
ネガティブ転職が多い
ビジョンが見えてなくて適当に入った会社だから、簡単にやめる
次のビジョンもない
自分が何ができるのかわかっていない
自己分析能力が欠けている
源馬
起業することで社会を変えることが出来る
日本は起業するのに優しい社会か
田村
企業すること自体は難しくない
ただ、学生間での情報の格差がすごい
自分はたまたま起業系のサークルにいたから情報が豊富にあったが、普通にしていたら考えもつかないと思う
益子
就職サイトでみてもどこか良いのかわからない
文で差別化なんかできない
職場を見せるインターンのようなことをどんどんやるべき
よしおか
それは本当にその通り
ひが
社員がこういうことをしている、と伝えるのが大切
社員が情報を外に出しやすい空気を会社につくる
ひが
ピラミッドのトップにいるSIerは潰れてしまえ、と思っている
SIerにいるなら会社を変えてみる努力もするべき
dan
会社いやならやめればいいじゃん
日本の業界がどうの、とか言うな
にぽたん
みんなこの感じでは残糞感があるんじゃない?
目を付けた会社に自分から動いていく勇気を持つことが重要
naoya
自分ができるのは、自分がいる産業を大きくすること
そこでエンジニアがハッピーになれる業界にしたい
はてなは現在拡大路線
よしおか
自分の人生は自分のもの
東京は勉強会がすごくある
今日みたいなセッションも雇用と思えばこれる
ustでも見れる
自分で何かを変えようと思えば変えられる
最終的には自分の人生は自分で決めよう
ひが
まずは行動しよう
月に一回ひがやすを飲み会をやろうと思っている
益子
最初の方は言っていることがよくわからなかった
最後のほうは学生目線でいろいろ言えて楽しかった
学生が足りない部分もある、それは認める
しかし、企業側にも足りないところがある
田村
情報の非対称が問題
改善したい
源馬
はてなのような会社ががんばると良いと思います
がんばってください
終わり
出演者の方の感想リンク
エンジニアの未来サミットに行ってきた - 未来のいつか/hyoshiokの日記
エンジニアの未来サミットについて、色々考えてみました - にぽたん研究所
エンジニアの未来サミットで学生役してきた - タムケンブログ
まとめ
感想追記
個人的には、知人である源馬さんが、はてなマンセーを言い過ぎているような気がして、多少気になりました・・・。はてなだけ良くても意味がないので、業界全体にどうやって繋げていくのか、という流れで話をして欲しかった。
源馬さんと知り合いだったため、終了後の楽屋に潜り込むことができたのですが、みんなぐったりしていました。お疲れ様でした・・・。
本日付で、リニューアルしたはてなキーワードがリリースされました。そのキーワードの右下にある「人気ブログ」ランキングが、僕とid:nanto_viががインターンで手がけた機能です。
はじめにアイデアと大まかな実現を方法が示され、後は2人でペアプログラミングをしながら作っていきました。仕様書などはなく、作っては面白さを追求して改良を重ねる開発、ユーザビリティテストの結果をフィードバックさせて良いものに仕上げる仕事は、とてもエキサイティングでした。
技術的な相談はもとより、様々な面で良くしていただいたid:antipop, id:motemen (Git神), 我々の気づかないところまでディレクションをしてくれたid:nmy, 見やすいデザインでランキングの魅力をアップさせてくれたid:tikedaに感謝します。
そして何より、インターンのペアに恵まれました。僕の稚拙なコードや設計のあらを指摘してくれ、ペアプログラミングを通じて多くのことを教えてくれたid:nanto_viに感謝します。ありがとう。一緒に仕事ができて楽しかったです。また銭湯行きましょう。
なにぶん速度面やバグなどでご不便をかけることがあるかもしれませんが、その際はサポートやはてなアイデアにフィードバックをお寄せ頂ければ幸いです。その際にはキーワードチームの皆さん、よろしくお願いいたします。
キーワードチームの皆さんと、オフィスにて 撮影cho45さん
インターンも2週間が終了し、これからが後半戦です。僕は合格点ぎりぎりでしたが、後半に進むことが出来ました。その前半全10日、OOPからMapReduceまでの模様を振り返りたいと思います。
1日目: はてなイントロダクション
id:jkondoからはてなの概要とインターンの趣旨について、id:naoyaからはてなの大規模システムについて、それぞれプレゼンテーションがありました。その後はウェルカムパーティー。
メンバーがかなりすごいバックグラウンドの人ばかりで、気後れするも、ビールの力でわいわいやっているうちに時間は過ぎていきました。
2日目: Perlオブジェクト指向プログラミング
id:antipopからPerlでのOOPについて解説。OOPとは何か、なぜOOPかという説明からはじまって、実際のコードを使った解説へと進みます。デザインパターン、テスト駆動開発等についても触れていきます。(テストがない状態でのリファクタリングは、すぐに泥沼化すること等)
恥ずかしながら普段はC言語しか使わないので、OOPには馴染みが薄かったのですが、一応Objective-CとC++を使ったことがあるので、その知識を動員してなんとか乗り切りました。Observerパターンを使う課題があって、とりあえず本の通りに実装したら綺麗に動いて感動。この日は割と遅くまで残って課題をこなしました。
3日目: ORマッパー
id:onishiからはてなの内製ORマッパーであるDBIx::MoCoについて解説。MoCoはid:jkondo開発とのこと。社長がライブラリを作っている会社・・・。ライブラリを自作すると、必要な機能をコンパクトに実装できて良いらしい。対応DBはMySQL。名前の由来は、近藤家にあるいい感じのクッションらしいです・・・適当!
この日はTodoリストを管理するCLIアプリケーションを作成。この日の課題を5日目まで使い回すので、もう少し頑張っておくべきだったか・・・。
4日目: MVCによるWebアプリケーション作成
昨日の課題をModelとして、ViewとControllerを実装します。これまた自社フレームワークであるRidge (id:naoya作) を使う方法を、id:motemenのご指導のもとで学んでいきます。Ridgeには簡易サーバも付いているので、自分のローカル環境で試すことが可能です。ViewにはTemplate Toolkitが使われていました。
昨日のORマッパに比べて結構簡単に感じたのですが、画面遷移のセオリーがわからず、アクションがごちゃごちゃのまま設計したところ、厳しく採点されてしまいました。また、ちょっとつっこんだことをやろうと思うとすぐにControllerが汚くなってしまうので、Modelをまた弄り直して・・・と結構手戻りが発生して意外と消耗。
5日目: ユーザインターフェイス
この日の講義はid:secondlifeから。JavaScriptを使って、昨日までの課題のUIを改良します。言うまでもなく自社ライブラリのTen.jsを使います。このTen.jsも、社内に様々なJSライブラリが氾濫していることを憂慮した社長が勉強しまくって(id:onishi曰く、id:jkondoは非常な頑張り屋とのこと)作ったそうです。
先週も書きましたが、JSとDOMの概念を全然知らなかったので、僕はここで結構躓きました。。id:GemmaにHello Worldから教えてもらって頑張ってみたのですが、その日のうちに課題終わらず。一応完成した人も、土日で完成度を上げていたようで、どうやらみんな土日に休むという概念はないらしい。
6日目: ThriftでRPC
この週から発展課題に入り、はてなの中でも割と導入してから日が浅い技術を扱います。この日はFacebookによるRPC実装Thriftが題材。異なる言語や処理系の間でRPCできるのですが、IDLをちょろちょろ書くと(サポートがあれば)スケルトンを生成してくれて、そこに処理を書くだけになっている親切設計。これは研究でも活用できるかも。
課題は異なる言語でサーバとクライアントを書くもの。呼び出す処理自体はただの加算と乗算なので簡単だったため、余った時間でいろいろな言語に走る人が多かったです。人気はC++とRubyでした。Scalaでサーバを実装したcho45さんやCocoaでクライアントを実装したhakobeさんのような猛者も現る。
この日は時間が余ったため、先週終わらなかった課題を実装・・・。
7日目: 大規模データ設計
id:naoyaから、大規模なデータを扱うシステムについての講義。DB設計や、Linuxのキャッシュについての話が前半で、後半は課題で使うアルゴリズムの説明でした。
課題は2つから選択可能で、僕ははてなブックマークから抽出したキーワードの転置インデックスを用いて、キーワードからブックマークの検索を行う課題をチョイス。Cosine Similarityという尺度を使って検索するのですが、データファイルが数百MBあるため、ナイーブに実装するとメモリ消費量が大変なことになります。そこで・・・というところまで含めて課題です。
8日目: HadoopによるMapReduce
id:stanakaからMapReduceを使ったデータ処理について講義を伺いました。GoogleのMapReduceのオープンソース実装Hadoopを使って、実際にMapReduceプログラミングをするところまでが内容です。Java以外の言語でHadoopを使うHadoop Streamingについても詳しい解説アリ。
課題では、RFC仕様書のテキストデータすべてを読み込んで転置インデックスを作り、検索まで実装。僕はn-gramを使って順位付けを行う方法でやりました。MapReduceを二回回せば、n-gram入りの転置インデックスができます。MapとReduceの進行表示を見てにやにやする、異様な一日。ほとんどの人がMapReduce初体験だったので、盛り上がりました。
9日目: はてなを支えるインフラストラクチャ
id:hideokiからはてなのインフラについての講義。冗長化でいかにSPOF (Single Point of Failure) を回避するかという話や、ロードバランサ等のお話を伺いました。また、分散ファイルシステムMogileFSや、内製のサーバ管理ツールについても説明。1OSしか搭載しないサーバでも仮想化しておくと、ゲストOSがコケた際にホストOSから再起動できて便利、などのノウハウも。
この日は課題はなしで、昨日までの課題の再提出や、復習に充てる日になりました。僕はこの隙に課題を再提出して、なんとか及第点に到達。
10日目: 結果発表、配属決定
この日までの課題の評価で、後半に進むことが出来るかが決定されます。残念ながら10人のうち、1人が後半に進むことができませんでした。
その後、後半で配属される各チームのプレゼンテーションを見てから自分の希望するチームを選び、人数調整のあと晴れて配属先が決定となります。みんなそれぞれこだわりがあるので、この作業が結構難航。15分くらいわいわいやった末に、無事チームが決定。
僕ははてなダイアリーキーワードチームに配属になり、id:nmy, id:antipop, id:motemenにお世話になることになりました。id:nanto_viとはチームメイトです。皆さん、来週からよろしくお願いします!
以上までがこの2週間の流れでした。インターンのページにカリキュラムがなかなか出てこないので、日報を頼りに書いてみました。読み返してみると、やはり相当詰め込まれてますね (^^;) これでインターンのイメージが多少なりとも伝わると良いな、と思います。9月のインターンは明日が8/20が申込み〆切のようなので、迷っている方はお早めに!
インターンが課題でどういうものを作ったかは、id:Gemmaの日記で見られます。
http://d.hatena.ne.jp/Gemma/20080814/1218709185

後半もよろしくお願いします!
8/17追記
インターンの申込み〆切は18日ではなく20日でしたので訂正しました。
はてなインターンの 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