はてなリモートインターンシップ2022 の参加記です。
選考
学部生のころから、たまに目に入る参加記を見てはてなインターンには興味を持っていました。
そろそろインターンへの参加を本格的に考えなければと焦りはじめた修士1年の5月の頭のことです。はてなインターンの募集要項を調べてみたら、なんと既に第一次選考が始まっているではありませんか。私は慌てて準備を始めました。
エントリーには勇気が要りました。インターンでの「使用技術・あると望ましいスキル」が技術スタック - エンジニア採用 - 採用情報のページに挙げられているのですが、私はそれらのスキルの多くを持っていませんでした。
はてなブログの技術スタックを見てみましょう:
言語/フレームワークに注目すると、TypeScriptだけは……JavaScriptならよく書くから……何とかなりそうですが、PerlとGoは全く書いたことがありませんでした。Scalaは大学の授業でほんの少し触った程度です。GraphQLも使ったことがなくて、関連技術であるApolloはその存在すら知りません。
ミドルウェアやクラウドサービス等はもう壊滅で、MySQLはともかくAWSに触れたことはないし、RedisやEnvoyやLet's Encryptとは何なのか見当もつきませんでした。
このようにスキルには心許なさを感じていましたが、ここでエントリーできなければ私は一生インターンに行けないだろうと気を強く持ち、今までの活動をかき集めてポートフォリオを作りエントリーしたのでした。
面談は私のGitHubのリポジトリやこのブログの記事をもとに話が進みました。自分の作ったものや書いたものにフィードバックを貰える機会はあまりないものなので、面談ではたくさんのフィードバックを頂けて有難かったです。
講義
講義パートは座学と課題にわかれていて、2.5日間でWebサービスの開発・運用の話題を座学で叩き込まれたあとに1.5日間で課題に挑みます。
インフラやマイクロサービスなど一人では手を出しにくい分野の話を聞くことができて非常に勉強になりました。エントリー時に眺めては唸っていた技術スタックのページに書かれている話題がしばしば出てきて、面接前に付け焼き刃でGoogle検索したときより理解が深まった、などと思いながら聞いていました。
課題ではkubernetesでマイクロサービス化された簡易ブログサービスの雛形に機能を追加していきます。丁寧にテストを書いたりコードレビューに対応したりするのが私にとって新鮮でした。なお1.5日という期間は相当に短く、いきなり締切直前の状況に放り込まれたような感覚になります。刺激的です。
実践
講義パート後に id:smallkirby さんとブログチームに配属されました。ブログというのはもちろん私が今こうして書いているはてなブログのことです。すごいですね。
今回私たちが行った業務はスマートフォン版(≠アプリ版)の編集画面の強化です。プロデューサーやデザイナーの方との打ち合わせから始まり、次の2つの機能をリリースすることができました。
図付きで説明しましょう。実践パートが始まる前、2週間前のスマホ版の編集画面はこんな感じでした↓
それが今はこうなっています↓
要するにPC版と比較して非力だったスマホ版の編集画面がだいぶPC版に追いついたということです。今では太字とか使い放題で嬉しいので、外出先なんかで機会があればぜひ使ってみてください。
業務中はメンターの id:Furutsuki さんと id:nanto_vi さんが付きっきりで面倒を見てくださって大変助かりました。深く深く感謝しております。また、たくさんのコードレビューや品質保証のフィードバックを頂けて勉強になりました。
そういえば、エントリー前に技術スタックのページを見て震え上がっていた件について補足しておくと、私たちは今回の業務ではほぼずっとTypeScriptを書いていました。他には一部端末(Androidとか3DSとか)で見たままモードでの新規投稿ができなかった仕様を解消するためにPerlを少しだけ触ったくらいでしょうか。
はてなブログは大きなサービスなのでインターン生が全ての技術に同時に触れることはないわけです。同じチームでも時期によってタスクは違って、それによって使う技術も変わるから、たぶんPerlかGoかScalaをたくさん書いてフロントエンドにはあまり触れない年もあるのだろうと思います。
終了
3週間の日程が終わりました。たくさんのフィードバックをもらえる環境で大きなプロダクトに触れるという、貴重な経験をすることができました。
お世話になったメンターのお二人、ブログチームの方々、インターン関連のスタッフの方々に感謝を申し上げます。ありがとうございました。
展示
本番環境での動作確認の結果マリオのパチモンに制圧された id:rood_ni のはてなフォトライフの図↓