はてなで働くエンジニアにアンケートシリーズ第9回 cohalz

こんにちは、Hatena Developer Blog編集部です。「はてなで働くエンジニアにアンケート」シリーズ、今回ははてなブログチームのSRE、id:cohalzに話を聞きました。


id:cohalzにアンケート

はてなidとその由来を教えてください

読みは「こはる」と呼ばれることを想定しています。

読みとしては日本語としてありふれた名前にしつつも、idとしては被らないものにしたいという意図を持っています。

idはco + hal + zの3つの要素からできていて、それぞれに由来があります。

  • coは、接頭辞にcoが付く単語が好きなのでそこから取っています
  • halは、父親がよく使っていたidから継承しています*1
  • zは、idとして被らないように何か文字を付けたくて所有格の 's から連想して付けています

読み方も由来もあるものの、最近チームメンバーからは「z」だけで呼ばれることも増えています。


アルバイト入社時の写真

いつどんなきっかけで入社しましたか?

「将来エンジニアになるならはてなidは取っておこう」という認識があり、高校生の時にはてなidを作りました。

就職を前に、UGCを運営する会社を視野に入れて考えていた中、Twitterでフォローしていたエンジニアが続々とインターンに行っていたことからはてなへの興味が強くなりました。

そして2017年にインターンに参加しMackerelの開発を行った後、アルバイト入社を経て新卒入社しました。

今のキャリアの基となった出来事は、アルバイト応募の際にインターンとMackerelチームで応募したところ、当時は東京オフィスにMackerelチームのエンジニアがいなかったために受け入れができず、システムプラットフォーム部への配属を提案されたことです。

そのタイミングまでミドルウェアやインフラ周りの話題は全然知らなかったのですが、新しいことをやるチャンスだと前向きに捉え承諾しました。

この辺りの話については「Hatena Engineer Meetup #1 in Okinawa」で話したことが詳しいです。

現在の仕事を教えてください

2019年8月にはてなブログのチームへ異動し、Site Reliability Engineeringに関係するものを中心に、開発・運用の仕事をしています。

以下の記事を参考に作成した指標「SRE成熟度レベル」が社内で運用されており、その指標に沿ってチームで足りないところを改善している最中です。

cloud.google.com

具体的には以下のようなものを進めています。

  • はてなブログとそのサブシステムのSLI/SLOの策定
  • 障害対応&振り返りのファシリテート&テンプレートの改善

Hatena Engineer Seminar #13の様子

チーム内の立ち位置を教えてください

チーム内において、はてなにおけるインフラとそのオペレーションに一番詳しいということもあり、メンバーの相談相手やオペレーション見守り役として振る舞うことが多いです。

PWG(Performance Working Group)などのタイミングでチームメンバーが見逃していた課題を見つけるということもやっています。

ディレクターやチーム外(システムプラットフォーム部など)とのコミュニケーション役として、非公式にテックリードのような動きを任されることもあります。

ちなみにチームメンバーにも同様に聞いたところ「風林火山でいうと風」という返答をもらいました。

1日の仕事の流れを教えてください

現在「はてなブログBusiness」のサブディレクトリオプションの開発に関わっているため、その朝会に参加します。

はてなブログBusiness「サブディレクトリオプション」先行β利用申込みを受付けます - 週刊はてなブログ

その後しばらくタスクを進め、少人数のアプリケーションエンジニアと昼会を行い、相談やペアオペ*2をそのタイミングで行います。

社内ではチーム内での業務の他に「SRE会」や「CloudNative推進会」といった有志で集まった横断の会に参加しその準備も行うことがあります。

Mackerelからのアラートが出た場合には、様子を見て一次対応を行うこともあります。

定時に近くなったらまたアプリケーションエンジニアと会を行い、翌日やることを話します。

そしてそのまま定時10分前になったらチームメンバーと雑談する「帰りの会」を行って終業します。

最近うまくいったことは何ですか?

9月に開発者ブログの記事でも書いたのですが、はてなブログのキャッシュ周りに関して大きな改善ができたことです。

developer.hatenastaff.com

また上記の取り組みのすぐ後に、はてなブログで使っているElasticsearchのバージョンを1.7(on EC2)から6.8(on Amazon Elasticsearch Service)に無停止で切り替えることに成功しました。

実はこれらの取り組みまでVarnishやElasticsearchを触ったことはなかったのですが、知らないながらも安全に進める方法を取れたことで、ミドルウェアの知識の習得や大きなインフラタスクの進め方など大きな学びがありました。

社内でもこうした取り組みが評価され、新人賞をもらえることになりうれしかったです。

最近うまくいってないことは何ですか?

CTOや本部長による旗振りのもと、全社でSite Reliability Engineeringに取り組んでいこうという動きが活発になりました。

今まではインフラ/Webオペレーションとして主にシステムを対象としていたところを、人や組織も対象にする、データによる意思決定のための取り組みをするなどの動きが必要になってきています。

そうした中で今まで行ってきた新規インフラの構築・信頼性やパフォーマンスの改善のタスクと併せ、どう優先度を決めて取り組んでいくかが難しいなと感じています。

その他、チームメンバーにさまざまなバックグラウンドを持つ人がいる中で、どのようにしてSite Reliability Engineeringやインフラ関連の知識をチームに広めていくかについても課題だと思っています。

f:id:hatenatech:20201027191056j:plain
外部キーボードなどは使わない

普段大切にしていることは何ですか?

自分を含めチームメンバーとの壁を作らないことです。

もともと入社するまではアプリケーションを書いていて、ミドルウェアやインフラに詳しくなかった経歴もあるため、必要ならアプリケーションコードを書くということをしていきたいと思っていますし、アプリケーションエンジニアにもインフラやSite Reliability Engineeringについてもっと興味を持ってもらいたいなと思っています。

そしてSite Reliability Engineeringはチーム全体で取り組むべき事柄だという意識を持っているため、自分からは、職種である「Site Reliability Engineer」という言葉を使うことを可能な限り避けています。

最終的には各々が信頼性を制御して自律的に動けるようになり、開発と信頼性のバランスを取れるようにできればいいなと思っています。

はてなはどんな会社ですか?

テキスト文化かつオープンな会社という印象です。

他チームの様子もテキストを通じてすぐに見ることができるので、他チームにある良いものをすぐ自分のチームにも導入できるのは良いなと思っています。また、インターネットに知識を還元できていることを尊重する流れもあるため、公開ブログが頻繁に書かれていることも印象的です。

あとははてなバリューズにも挙げられているように、挑戦を応援する文化もあります。本人のやりたいことや新しいものをどんどん取り入れることができているなと感じています。

*1:HAL 9000が由来らしいです。

*2:オペレーションについて2人で確認しながら進めること。