私が歌川です

@utgwkk が書いている

はてなインターン2019で優勝した

はてなという会社で1ヶ月インターンに参加していました。 はてなのサービスは普段使っているものが多く、じぶんが使っているものを便利にしたいなと思っていたことや、今年のインターンどうしようかなと思っていたところまだ応募できると聞いたことなどが応募・参加するきっかけでした。

要約すると、めちゃくちゃ充実した4週間が送れて最高でした。

やったこと

応募

インターンに参加するには応募をしないといけません。 応募するために、ポートフォリオを書いてROT13を実装しました。 よく手になじんでるPythonで実装したのですが、そういえばPythonの標準ライブラリにはROT13があります。

import codecs
codecs.encode('hoge', encoding='rot13')  # => 'ubtr'

これでも確かに要件は満たしていたと思いますが、拡張性に乏しいのでこれは没にしました。

引数からオフセットを指定できるようにし、テストも書いて提出しました。

前半

GoとTypeScriptを使って日記サービスを実装する、という課題をやっていました。 どちらの言語も静的型やlinterがあるので、VSCodeを入れて拡張機能をぽちぽち入れるとすごく快適に書けました。

1週目は、午前中に講義を聞いて、午後は講義をもとに機能を追加するということをやっていました。 なんとなく知ってることから初めてのことまでいろいろやっていて、たぶんこの週がいちばん疲れていたと思います。 とくにGraphQLやReactなどは雰囲気はなんとなく知ってるみたいな感じだったので、講義で体系的に知ることができたのでよかったし、実装で致命的に詰まるみたいなことはありませんでした。

2週目は、日記サービスに好きな機能を実装していました。 私はbuilderscon tokyo 2019に行く予定にしていたので、実装時間がかなり短かったです。

utgwkk.hateblo.jp

後半

id:ergofriend とともにブログチームに配属され、GoとTypeScriptを書く暮らしから一変し、Perlを書くことになりました。 7年ぐらい前までPerl掲示板を作って大喜びしていた*1という感じなので、実質本格的にPerlを書くのは初めてでした。

Perlが難しくてめちゃくちゃ困るみたいなことはなくて、はてなブログのコードベースは大きいけど丁寧なので、id:hogashi に見てもらいながら関数定義を見つつやっていく、という感じで実装できました。 DESTROY はおそらくリファレンスが回収されたら走るのだろうな、みたいなことにどんどん詳しくなっていきました*2

手元のDocker環境がときどき壊れて再起動したり、負荷が高いとテストが落ちるなどがあったりしました。たぶんマシンパワーで殴る必要があります。

成果

この記事がTwitterにシェアされた様子を見てなにか気づきませんでしたか?*3 これはアイキャッチ画像自動生成機能といって、アイキャッチ画像が指定されていない記事のタイトルと本文から自動でアイキャッチ画像を生成する機能です。

staff.hatenablog.com

作例です。

社内でもウケが良い機能になったと思っていて、発表もかなりうまく・おもしろくできていたと思います*4。 おかげさまで投票の結果優勝することができました。

Tシャツ

utgwkk.hateblo.jp

utgwkk.hateblo.jp

utgwkk.hateblo.jp

私はおもしろいTシャツを買って着るのが趣味なので、インターン中は毎日違うTシャツを着て出社していました。

utgwkk.hateblo.jp

感想

はてなインターンは一貫して丁寧だなと思いました。 前半でも後半でも、問題が解決するまでメンターの方が付きっきりでサポートしてくれました。

参加するのを迷っているのであればとりあえず応募してみることを強くおすすめします。 とくにあなたが普段はてなのサービスを使っているのならなおさらおすすめです。 一部日程だけどうしても予定があるという場合でも、数日ぐらいならなんとかなると思います(なりました)。

京都に住むのは5年目で、自宅からオフィスまで通う生活をしていました。 やっぱりよく慣れた土地だと調子がめちゃくちゃになりにくい気がします。 そういえばほぼ毎日飲酒してた気がするけど遅刻することはありませんでした。

まかないがおいしいので昼食どうするか考えなくてよいのがいいですね。参加前に比べて体重が増えました。

参加してみて分かったことは、じぶんが普段よく使っているサービスに直接コミットできてフィードバックが得られるのはあまりにも体験が良いということです。 じぶんのモチベーションの源がどこにあるのかのヒントが得られた気がします。

繰り返しになるんですけど、参加するかどうか迷っているならまずは応募しましょう。 こんなに充実した4週間はなかなか送れるものではありません。

その他インターン中の出来事

  • 社員みたいだねと言われる
  • id:cohalz にアニメ娘エイレーンのクッションをもらう
  • Kyoto.なんか を遅刻して見にいく
  • ビルコンを見にいく
  • id:Furutsuki のおかげでさだまさしの歌詞をちょっと知る
  • ISUCONの予選で敗退する
  • PerlのLanguage ServerがDocker上で動くようになる
  • ぶどうジュースを飲みまくってたら自販機のぶどうジュースが増える
  • id:sobreera が最終日についにはてなIDを変える*5
  • カードキーを返却した後にトイレに行って涼風青葉状態になる
  • 最終日にオフィスのソファでくつろいでたら id:motemen に「来週もよろしくお願いします」と言われる

あわせて読みたい

furutsuki.hatenablog.com

blog.hokkai7go.jp

lunastera.hatenablog.com

blondenamazu.hatenablog.com

ergofriend.hatenablog.com

10-1.hatenablog.com

tomato3713.hatenablog.com

noy.hatenablog.jp

*1:そのころはモジュールとかパッケージとかなにも知らなかった

*2:こういう言語機能の挙動を見るのは実際面白い

*3:この機能のために、この記事では一切写真を入れないように注意しました。

*4:id:ergofriend が自己紹介でいきなり韻を踏んだときは度肝を抜かれた

*5:id:lunastera になった