サイトリライアビリティエンジニア(SRE)の面接を準備する方法

Observability Stephen Watts

ソフトウェア開発とITの分野では、サイトリライアビリティエンジニアリングの重要性が高まっています。ソフトウェア開発とIT運用が交差する場所が、まさにサイトリライアビリティエンジニアリングであるためです。Ben Treynor氏の言葉を借りると、サイトリライアビリティエンジニアリングは「ソフトウェアエンジニアに運用機能の設計を依頼する際に生じる仕事」です。

サイトリライアビリティエンジニアリングは、人、プロセス、技術システムのレジリエンスを向上させるために、開発者がイニシアチブを取ってサービスや機能を構築する方法です。サイトリライアビリティエンジニアリング自体は目立たない活動ですが、チーム全体の生産性およびチームのアプリケーションとインフラの信頼性の向上に大いに寄与します。ソフトウェアデリバリーライフサイクルの効率性とレジリエンスを継続的に改善することに魅力を感じているのであれば、サイトリライアビリティエンジニア(SRE)の仕事に就くことを強くお勧めします。

そこで、候補者と採用マネージャーの両方に役立つSRE面接ガイドをこのブログ記事にまとめました。次回のSRE面接の準備にぜひご活用ください。

SREの役割の概要

SREは基本的に、ソフトウェア開発者と従来のIT運用部門を完全に融合した役割を担います。

SREは本質的に、先進的で効率的なDevOps文化を尊重します。信頼性の問題を時間をかけて特定し、それらに取り組む専任チームを編成すれば、信頼性の確認とテストを開発ライフサイクル内の初期の工程に組み込むことができます。さらに、SREはIT部門からの懸念や情報を開発チームにフィードバックする役割も果たします。これは、レジリエンスに優れた迅速なソフトウェア開発につながります。

SREは、自分たちが構築したサービスの説明責任を負わないという開発者の固定観念を覆すのに役立ちます。SREがDevOpsの方法論を活用すれば、IT部門と開発者の間にある溝を埋めることができます。また、従来のIT部門と開発者の間に「十分な意思疎通もなく壁越しに仕事を投げる」という風潮が依然として存在していると思われる場合でも、SREチームはシステムの価値を遡及的に高めていくことができます。SREチームは、本番環境でテストを実施し、レジリエンスに特化した新しい機能を継続して追加することで、人、プロセス、テクノロジーを向上させる新しい方法を絶えず見つけていきます。

SREの主要な役割と責任

最初に「自分はSREとして働きたいと思うか?」と自問しなければなりません。この質問に答えるには、これからどのような仕事をするのかを知る必要があります。SREの役割についての面接を始める前に、以下のようなサイトリライアビリティエンジニアの一般的な任務を理解する必要があります。

サイトリライアビリティエンジニアの面接で聞かれる質問

どのエンジニアリング部門やIT部門でも業務内容が同じであるとは言えませんが、SREの面接で予想される共通の質問がいくつかあります。以下の質問と説明は、SREの面接に臨む際の準備に役立つでしょう。

SREとDevOpsの違いは何ですか?

この質問に対する答えはチームによって異なりますが、通常は以下の点を強調するとよいでしょう。

専任のDevOpsチームを設立する組織もあれば、DevOpsの方法論に従うだけの組織もあります。これまでSREを活用してきた方法と、将来のITやソフトウェア開発の全体的な信頼性と効率の向上にSREがどのように貢献するのかについて深く考えていれば、面接担当者は納得します。

SREになることの魅力は何ですか?

他のほとんどの就職面接と同様に、仕事の役割に魅力を感じている理由を述べることは重要です。SREは必ずしも華々しい役割だと見なされているわけではありません。多くの開発者はむしろ敬遠するでしょう。そのため、システムの信頼性を高め、顧客や従業員の満足度向上につながるサービスを構築する役割になぜ魅力を感じているのかについて話すことが大切です。

SREチームへの加入はワクワクするような経験です。プロダクトマネージャーからエンドユーザーまで、すべての人に大きな影響を及ぼせる仕事だからです。

現在のデプロイパイプラインについてどう思いますか?最大の問題は何ですか?

単純な質問に思えますが、注意が必要です。これは意味の深い質問です。面接担当者は、デプロイパイプラインを分析し、それを変更する場合に賢明な決定を下せるかという候補者の能力を判断したいと思っています。その理由は、SREチームが以下のような仕事を全面的に任されるためです。

  1. 監視の不備やデプロイのボトルネックを特定する。
  2. 信頼性に関する懸念を関係者に示す。

チームが従業員の生産性やプロセスに過度な影響を与えることなく、レジリエンスを最大限に強化できる個所を判断できるということは、そのチームに高い問題解決能力があるという証拠です。

チームはどのようにシステムを監視し、「成功」を追跡していますか?

これは、監視ツールとアラートツールをどのように設定しているか、およびシステムの「正常な」状態の定義をこれまでどのように支援してきたかを判断するための、優れた技術的質問です。

SREチームに加入したいなら、内部および外部の出力を両方活用してシステム全体が正常かどうかを判断する方法を理解している必要があります。そして、その情報をITチームとエンジニアリングチームが活用できるインサイトとアクションに変換できる必要があります。

どのようなツール、プログラミング言語、アーキテクチャに精通していますか?

これは手っ取り早く、単刀直入な質問です。言うまでもなく、面接担当者は、仕事をする際に必要になる言語や技術システムに精通しているかどうかを知りたいと思っています。

ITOpsチームとエンジニアリングチームはどのような関係であると考えていますか?その関係をどのように改善できると思いますか?

SREにはエンジニアリング部門やビジネスの多くの側面が関係するため、生産性における人的ボトルネックを特定できることは重要です。面接担当者はこの質問で、複数部門を横断するチーム間で生じる問題の解決に候補者がどのように取り組むかを判断しようとしています。たいていの場合、これは、さまざまな部門間でコミュニケーションや可視性を向上させる方法を見つけるのと同じくらいシンプルです。必要な情報を必要なときに見つけられるように人々を助けるのです。

あなたにとってオンコール体制はどのようなイメージですか?すべてが理想的な条件であると仮定して、チームのためにどのようなオンコール体制を構築しますか?

どのサイトリライアビリティエンジニアにとっても、その任務の中核をなすと考えられるのは、オンコールの効率と担当要員のQOL (Quality Of Life)の管理です。そのため、SRE面接では、人道的なオンコール業務の構築にどのように取り組むのかを示す必要があるでしょう。オンコール業務を改善するために何ができるでしょうか?

オンコールとは単にプロセスやツールを使用することではありません。この質問に取り組む際には、オンコールのローテーションやアラートルールの設定時に中心とすべきなのは人であるという視点を絶対に忘れないでください。

SREがもたらす自律性と改善

SREは、エンジニアリングチームで担う役割の中で最も充実感の高い役割の1つです。SREは自律的な判断のもとに、組織的な変更を行い、システムの信頼性を高めるための実験を実施する必要があります。SREになれば、自分が顧客や同僚の生活を大いに向上させることができる立場にいると、何度も実感するでしょう。

SREになれば、ITやソフトウェア開発の分野でさらに多くを学ぶことも期待でき、その結果、ソフトウェアデリバリーライフサイクル全体に関する知識を深め、さらに優れた開発者になることができます。

このブログはこちらの英語ブログの翻訳です。

関連記事

ネイティブモバイルアプリに対応したSplunk Mobile RUMの一般提供を発表
オブザーバビリティ
5 分程度

ネイティブモバイルアプリに対応したSplunk Mobile RUMの一般提供を発表

Splunk RUMは、カスタマーエクスペリエンスの監視対象を従来のWebブラウザからネイティブモバイルアプリまで拡大します。これにより、モバイルアプリ開発者やSREは、iOSアプリやAndroidアプリのパフォーマンスを改善し、顧客に影響する問題を特定できます。
開発、運用、そしてセキュリティの各チームに一体感をもたらすDevSecOpsとは?
オブザーバビリティ
4 分程度

開発、運用、そしてセキュリティの各チームに一体感をもたらすDevSecOpsとは?

DevSecOpsが大きな注目を集めています。迅速かつ安全で信頼性の高い開発プロセスを実現するという新たなアプローチ。日本でも導入を検討する企業は増えています。DevSecOpsとは何か。
API監視:解説
オブザーバビリティ
10 分程度

API監視:解説

API監視とは、APIに接続されたリソースが利用可能か、適切に動作するか、呼び出しに応答するかチェックすることを指します。この記事では、API監視の概要と、API監視の一般的な課題とメリットについて詳しく説明します。