色々書いてたらめちゃくちゃ長くなった
はてなの夏は暑い。鞄を背負って出社するだけでこの有様だ。
はてなインターンでの学びは質・量のどちらをとっても圧倒的です。質的な面としては下記引用の通り。
- ただ濃いだけでなく,広く学べる
- 密度が尋常じゃない上に幅まで広い.あれほどのプログラミングカリキュラムはそうそうないはず
- 1日1フレームワークを学び,それを使って動く物を作る.なかなか激しい
- インプットした後すぐにアウトプット→フィードバックがある
- どれだけ身に付けられているのか,またどこが理解できていないのかがすぐにわかる
- 点数を付けられることで,主観ではない判断基準のもと弱点を見つけられる
- コードを見られ,点数を付けられるというプレッシャー
- 自分しか見ないような趣味プログラミングと違って,妥協できない開発
- 「できた(つもり)」「(よくわかんないけどとりあえず)動く」はダメ,ゼッタイ
量的な面としては、インターン期間中は朝10時に出社し、夜の10時に退社し、家に帰っても画面に向かうような日々を過ごしました。美しいコードを書けば、それが即翌日の評価として返ってきます。自分の納得がいくまで一つのことにとことん向き合い、突き詰めていくのは楽しいです。
講義は1回120分の全10回で、これは大学の授業であれば1学期分に近い分量です。それを約2週間でこなすことはなかなかハードですが、その分多くのことを吸収できました。
後半お世話になったはてなココ開発島。
id:chris4403さんの指揮の下、はてなココは日夜開発されている。
後半は各チームに分かれて実際のプロダクトコードを書きます。普段僕たちが書くコードは基本的に自分のためのものですが、ここではユーザの為にコードを書きます。
はてなのサービスを作るということは、そのまま数万人に自分の作った物を利用してもらえるということを意味します。そんなにも多くの人に見られると考えれば、コーディングに向かう姿勢も自ずから変わってきますし、家にこもっていても決して味わうことのできない経験です。
ともに頑張った仲間達。はてな社員及びインターン生に肖像権の3文字はない。
自分より優れた能力の持ち主しかいないような環境で僕は仕事がしたいと思っているのですが、はてなという職場はまさにそういう環境でした。すばらしいです。
また同じ道を志す仲間の存在も多くのものを与えてくれます。時にはクラス設計について議論したり、アルゴリズムについて教え合ったり。もしインターンの参加者が僕一人だったとしたら、途中で発狂していたかも知れません。
インターン最終日に出てきたオウムライス。はてなは遊び心も忘れない。
どんな人見知りさんも心を開いてしまう魅惑のオフィスランチ。これを食べて頑張れない人はいないでしょう。
インターン期間中に使っていた名札。本名なんて飾りです。
はてなで働いていてとても印象的だったのは社員同士が本当に仲が良い、ということです。居心地が良すぎることを理由に退職する人がいるというのもうなずけるのですが、仲良しコミュニティが既に形成されていると後から来た人は逆に疎外感を感じる場合がありますよね?
なのに、僕等インターン生はあっという間にはてなに馴染むことができました。そこには当然社員の方々の心遣いなどもあったのですが、僕は「IDで呼び合う文化」こそがそんなはてなの雰囲気を形作るとても重要な要因なのではないかと思いました。はてなでは自己紹介をした瞬間からIDで呼ばれます。
僕は名前が珍しいこともあって、生まれてこの方あだ名を付けられたことがありませんでしたが、IDで呼ばれながら「あだ名で呼ばれるのってこんな感じなのかなぁ」なんて、ちょっと感慨深く感じたりしてました。
「あだ名で呼び合う」≒「仲良し」
という感覚が少なからず僕にはあります。この「半強制あだ名システム」のお陰で後から来た人もすんなりとコミュニティの中へ入っていけるのではないでしょうか。はてなのとても優れた文化です。
id:hatenacinnamon会長。ピンク色の肉球には長年はてなを牽引してきた貫禄すら漂う。
もしあなたが
などを理由にインターンに挑戦することを不安に思ったり、参加しようか迷ったりしているとしたら、それは見当違いです。
噂の卓球会議室。社員さんも皆お茶目で楽しい人ばかり。
今年は半数以上の参加者が事前にPerlをほとんど触ったことがない状態でインターンに突入しましたが、苦しみながらも無事に全員最後までやり遂げることができました。なので、自信のないあなたでも準備さえすればきっと大丈夫です。以下の本を読んでおくといいでしょう。
遠方からの参加者には、はてながマンスリーマンション?を手配してくれます。今年は関東や東北地方からの参加者もいました。
はてなインターンで優れた成績を収めると内定を貰えます。実際、はてなの社員の中にはインターン出身の人が多くいます。就職活動を兼ねていると思えば少々の予定よりは優先できるのではないでしょうか。
後半戦のチーム分け。インターン後半は実際のサービスを開発する。
個人的な備忘録を兼ねて
自分が既に使える言語との比較表がとても便利。
id:birdie7さんが担当したインターン講義8日目「データ構造」 - Hatena::Engineeringの課題でPerlの細かい配列操作を行ないましたが、これらのページがなければ乗り切ることはできなかったと思います。
インターン講義4日目「JavaScript で学ぶ イベントドリブン」 - Hatena::Engineeringを担当した
id:cho45さん曰く
このページの検索はダミーですw検索しても何もひっかかりませんww
検索するにはsite:https://developer.mozilla.org/EnオプションをつけてGoogle検索してくださいwww
とのこと。JavaScript書くには必須のページです。
id:nanto_vi さんが担当したインターン講義5日目「ユーザインターフェース,HTML5」 - Hatena::Engineeringに出てきたページ。前者はHTML5についてのおさらいというタイトルだけどこれから学ぶ人にもオススメ。後者はリファレンスとして。
題名の通り。一通り読んだらJavaScriptをそこそこ書けるようになった気がします。
後半の実装でSQLのチューニングに使いました。ここら辺の知識はエンジニアとして必須だと思われます。
はてなのバージョン管理はGitで行われます。使いこなすと本当に便利ですね。
知らない機能が色々見つかりました。vim初級〜中級の人は一度見てみるといいと思います。
これを見てFuzzyFinderとQuickRunを入れました。補完機能にはneocomplcacheを導入しましたが個人的にはこっちの方がいいと思いました。
id:Csideと共に取り組んだはてなココの検索機能は投票の結果見事1位を獲得。素直に嬉しい
前後半に渡ってhakobeさんにはお世話になりました。どんなに感謝してもしきれません。本当にありがとうございました。hakobeさんの幸せを陰ながら祈っています(笑)
はてなココ開発チームの皆様のお陰で僕はとても楽しく機能開発を行うことができました。お茶目なchrisさんと寡黙なwakabatanさんのやり取りをニヤニヤ見てるmechairoiさん。本当に楽しいチームでした。2週間の間ありがとうございました。
楽しい講義&課題と、真摯な採点をありがとうございました。その真摯な採点があったからこそ、僕は本気で課題に取り組むことができましたし、多くのことを学ぶことができました。ただただ感謝です。
やり通せるか不安な気持ちを抱えて始まったインターンも、皆様の支えがあってなんとか最後までやり通すことができました。はてなが醸し出す雰囲気はとても居心地が良くて、毎日出社するのが楽しみでしかたがなかったです。いや、お世辞抜きに。ありがとうございました。
皆と過ごせて僕はとても楽しかったです。ありがとう。次ははてなのサービス上で会いましょう
今回のインターンでは多くの貴重な出会いがありました。その全てに出会いに感謝しつつ、まとめと呼ぶには長すぎるインターンのまとめ記事を終わろうと思います。
ここまで読んでいただきありがとうございました。
しがない大学院生が綴る戯言集。はてなでアルバイトをしつつ、京都大学で情報検索の研究をしています。