こんにちは、id:masawadaです。これは"はてなサマーインターン2014"に参加した感想エントリです。
はじめに
僕は文章を書くのが下手なので最初に要点を述べておくと以下の通りです。
- はてなサマーインターン2014に参加した
- ホテルにアイロンがなかったのでヨドバシのカード作って買った
- 前半でミクを調教して後半でブログの機能作った
- はてなのみなさま、ありがとうございました
はてなインターンについて
インターンの感想エントリという主旨なので、まずはそれを書きます。
参加前
国立大学法人電気通信大学は夏休みを現状より早く開始させるべきである - あんパン
こんな記事を書いておいて、しかも記事内で"はてなサマーインターン2014"を挙げましたが
@masawada まぁなんとかなるやろ
— サブカルペンネくん (@pastak) 2014年6月17日
という昨年参加の先輩からのありがたいお言葉もあり、ちゃっかり応募しました。なお、参加にあたり2科目の単位を生贄にしております。来年参加を希望される未来ある学生のみなさまの参考になればと思います。
昨年は電話面接があったようですが、今年は無かったようです。なお、大規模システムコース(インフラコース)は面接があったようです。
インターン前半
インターン期間には前半と後半があり、前半で講義を受け、後半でサービス開発をするという流れでした。前半課題についてはサービス開発コース, 大規模システムコースともに同じ講義を受けました。おそらく他のインターン生が詳細を書いてくれると思います。おおまかには日記サービスを一つつくり上げるチュートリアルのような感じで、以下のようなスケジュール感で講義を受けました。
- 1日目: 環境構築
- 2日目: Perlに慣れる (講師: id:aerealさん)
- 3日目: PerlでDBにつないであれこれする (講師: id:hakobe932さん)
- 4日目: WAFに慣れる (講師: id:shimobayashiさん)
- 5日目: JavaScriptであれこれする (講師: id:funnelbitさん)
- 6, 7日目: iOSクライアントを作ってみる (講師: id:sakaharaさん)
- 8, 9日目: 新機能を考えて実装する (講師: id:moretさん)
- 10日目: 発表会
午前に講義を受け、午後は課題をこなすというパターンを8日間続けました。なお、19時を過ぎると自由に帰宅することができますが全員が22時まで残って作業をしていたのが印象的でした。
教科書はGitHub - hatena/Hatena-Textbook: はてな研修用教科書とほぼ同じものを使っており、これに沿って勉強すればある程度の知識を得られるかと思います。とはいえ、インターン中はメンターの方々に気軽に質問をすることができますし、参加するのとしないのでは得られる知見の量に大きな差があると思います。
8、9日目は各々が新機能を考えて実装するという課題で、自分はエントリ間をVimライクなキーバインドで移動する, ポケットミクを鳴らすという2つの機能を実装することにしました。まだPerlに慣れておらず、なるべくJavaScriptでできることを探したという感じです。なお、本当はコナミコマンドでテトリスを出して消したラインの数を競うスコアボードにしようと思っていました。が、ギリギリ時間的に間に合わず捨ててこちらに切り替えました。ヒカリエ倒壊。
10日間、前半のメンターとしてid:skozawaさんにお世話になりました。ありがとうございました。割とトンチンカンな質問を連発した気がしており申し訳ないです。
インターン後半
後半は実際のサービス開発に携わりました。自分は(おそらく)ベータ時代から使っていてかつ周りにもユーザの多いブログチームをほぼ即決で希望し、そのとおり配属されました。
ブログチームはid:mactkg, id:windymelt, id:yebis0942, id:masawadaの4人が配属され、僕はid:yebis0942くんとチームを組んで開発を進めました。メンターとしてid:cockscombさんにいろいろと指導をしていただきました。id:cockscombさんには前半でもiOSのメンターとしてお世話になりました。忙しいなか頻繁に質問してもひとつひとつ丁寧に答えていただきとても助かりました。ありがとうございました。力不足で優勝できずすみませんでした。。
id:mactkgくんとid:windymeltくんはブログカード(記事貼り付け)とOGP対応(開発中はインターネットカードと呼ばれていた)に携わり、僕とid:yebis0942くんはブログカードを利用した過去記事の貼り付け(サイドバーウィジェットの作成)及び言及一覧機能の作成に携わりました。リリース記事は以下の二つです。
はてなブログの記事を紹介しやすくしました。URLを貼るだけで、コンパクトに整ったブログカードを貼り付けることができます【追記あり】 - はてなブログ開発ブログ
記事へのリアクションがわかる「言及の一覧」パネルを追加しました - はてなブログ開発ブログ
この二つの良い感じに表示されているやつがブログカードです。
過去記事の貼り付けはこれにそのままのっかる形で過去記事を検索してそのまま貼り付けられるという単純な機能になっています。25日にチームに配属され、翌日にはそれなりに形になっていてその翌日にはリリース直前のブランチにmergeされるという素早い開発をしました。
後者の言及一覧機能については1週間以上かけて実装をしました。プライベートなブログの内容が外から見えるなどの情報漏れが生じることを防ぐため、入念にテストを書いて実装したのがその理由の一つです。また、表示についてもいろいろと意見が割れ、現在の形になりました。
言及の一覧という機能そのものにもいろいろと意見があり、言及されることが本当に良いことなのか、という考えがあるのも大いに理解できます。インターネットですから当然見ず知らずの人に叩かれる内容の言及が飛んでくることはありえますし、それを見たくないという人がいるのも当然のことです。
自分たちの最終発表のスライドに
はてなのミッション: 「知る」「つながる」「表現する」
という一枚があります。言及をしあうことで書き手が繋がれる、繋がりで承認しあって新しい記事が生まれるという良い循環を僕は望みます。その循環の一端として言及の一覧を用いていただけると幸いです。
インターン期間後
インターン期間全日程を終えた翌土曜日、インターン生だけで三条寺町の三嶋亭本店に行きました。ランチが6000円弱という大変高級な料理店で、すきやきを食べました。以下はすき焼きに沸き立つ様子です。
SUKIYAKI pic.twitter.com/B0m4C7bv5C
— Masayoshi Wada (@masawada) 2014年9月6日
一昨日のすき焼きの様子です pic.twitter.com/OI1xH4xGcw
— Masayoshi Wada (@masawada) 2014年9月7日
肉は1人3枚で、これだけ書くと少なめに見えますが1枚にボリューム感があり僕は全て食べきることができませんでした。肉にボリュームがあるといっても横から殴られるように重たい感じではなく、舌の上で溶けるような極めて上品なもので一口一口が感動でした。
なお、インターン期間中に三嶋亭協定などと称して最終成果発表で優勝した人の金で食べに行く話をしていたら、優勝したid:mactkgくんとid:windymeltくんが本当に賞金でお支払いをしてくださいました。ごちそうさまでした。
表題について
すっかり忘れていましたが、ここで表題について説明をしておきます。
アイロンを買った話について
ぼくは電気通信大学の人間なので、例に漏れずチェックシャツを着ます。シャツというのはアイロンをかけないとシワが目立ちとてもかっこ悪くなってしまうため、アイロンをかける必要があります。部屋にズボンプレッサーが備え付けられていたため、初回のアイロンではそれを代用として用いてみましたが、大層効率が悪く30分でハンカチ1枚をアイロン掛けするのが精一杯という最悪な感じでした。
そのため、1週目の週末にアイロンとアイロンマットを購入するためヨドバシ京都に赴きました。クレジットカードを使用しようとしたところ、限度額に達してそれ以上使えないとのことだったので、その場でヨドバシのクレジットカードを作成し発行された仮カードでアイロンを購入しました。なんとキャンペーンで2000ポイント還元されるとのことだったため、これでアイロン代がチャラになりました。
なお、後日ホテルでアイロンとアイロン台を借りることができるということが発覚したため、来年のインターン生のみなさまはご注意ください。
その他
id:yebis0942くんについて
本当に最高の相方でした。開発は基本的にid:yebis0942くんとペアプロの形をとっていて、これが互いに良い刺激になったように思います。テストとか結構重いところを振りまくってしまって申し訳ないです。
彼は誰かが発したエモい話を控えていて毎晩ブログにまとめてくれたりしていて、それがとてもわかり易く最高でした。過去記事貼り付け機能を作り終えた晩に散歩して新しくつくる機能とか「なんでソースコードはGitHubで修正しあっているのに文章は修正しあう文化がないのか」みたいなこととか結構いろんなことを話しましたが、ああいうことを話せるのもid:yebis0942くんだけだったように思います。
この記事もid:yebis0942くんが作ったワンライナーをもとに作ったりしました。
その他いろいろとお世話になりました。ありがとうございました!
言葉遣いについて
昨年の感想エントリにもありましたが、「最高」「最悪」「すばやい」「めでたい」「じゃあそれで」などの言葉の使用頻度が格段に上がりインフレを起こし、価値が下がります。また、それに伴い使用する語彙の数が極端に減り日本語が不自由になるインターン生が散見されました。昨年も同様だったことからこれは防ぎようがないインシデントであり来年のインターン生はこの点留意して参加すべきかと思います。
欠けた歯について
インターン最終週目前の土曜日に右下前の歯が欠けました。チーズ鱈を咀嚼したところ欠けたため、その部分だけ相当もろくなっていたものと思われます。今回は歯が欠けただけだったためセーフでしたが、はてなのインターン期間は他社のインターン期間よりも長いため来年のインターン生は健康に気をつけていただきたいと思います。
本日、攻殻機動隊ARISE border:4を見た後に歯医者に行こうと思います。
まとめ
約1ヶ月のインターン期間、とても充実していました。普通に一人で開発しているだけだとどうしてもコードの品質がまばらになったり楽をするためにパフォーマンスを落とすようなコードを書きがちですが、実際に動いている大規模なサービスのコードに手をいれる作業はなかなか経験することができず、大規模サービス開発の考え方を学ぶことができたり、レビューでよくないコードを指摘していただけたりと大きな力になったように思います。
来年も継続してはてなインターンが行われる予定です。関西最速のid:hakobe932さんが指揮をとられるとのことですので、来年のインターン生も充実した開発生活が送れることと思います。はてなのインターンに参加して得られることは単位二つ落としてもなお価値があることだと思いますので、来年応募資格のある人は是非ご応募ください。
御礼
インターン生の方々
言いたいことはグループで共有できるので短めに
- id:yebis0942 : 俺たち仲間じゃん?
- id:spring_raining : 同室いろいろご迷惑おかけしました。Twitterクライアントつくるぞ
- id:mactkg, id:windymelt : 三嶋亭ごちそうさまでした
- id:flankyhiro : Dockerするぞ
- id:doughnutomo : 錦市場いくぞ
講師, メンターの方々
インターン委員長のid:shiba_yu36さん、前半メンターのid:skozawaさん、後半チームのid:cockscombさん、id:hitode909さん、デザイナのみなさん、id:onishi 本部長、id:stanaka CTO、id:chris4403 社長、id:jkondo 会長、お世話になりました。講義や開発以外、雑談の中で得る知見も多く勉強になりました。最終日id:hitode909さんと社員の方々にエモい話を聴きにいくイベントがあって、いろいろとエモい話を伺うことができました。この辺のノリがサークルっぽくて、それがはてならしいなぁと思いました。
4週間、本当にありがとうございました!!!
あわせて読みたい
「はてなインターン」という革命について - どーなつの連続性定理
打ちのめされるようなすごいインターン - はてなサマーインターンに行ってきました - Lambdaカクテル
[2014/09/08 11:24:40] id:doughnutomoさんの感想エントリを追加 [2014/09/11 11:50:00] id:windymeltくんの感想エントリを追加