【第7章】サイトリライアビリティエンジニア(SREng)に必要とされるスキルとは
多くの企業でSREの考え方を導入する動きが見受けられます。DX(デジタルトランスフォーメーション)が急速に進む中、クラウドネイティブを一つの目標として設定し、インフラのクラウド化だけでなく開発手法やカルチャー変革などにも取り組む企業が増えてきています。特に欧米企業との競合が避けられない企業にとっては死活問題となってきています。
一般的に欧米では日本よりも4年以上クラウド化が進んでいると言われており、それらの企業とのサービス競争にはインフラのクラウド化だけでなく開発・リリース手法にSREを導入しなければならないと考える企業が増えてきている要因となっています。しかし現時点でSREng人材はGoogleでさえも潤沢に採用できるているとは言えない状況です。逆に言えばSREng人材はブルーオーシャンつまり売り手市場となっているのです。
優秀なIT人材自体が今後売り手市場になり、その中でもクラウドファースト、クラウドネイティブを目指す企業には開発スキルとインフラ運用スキル、そしてインシデント対応スキルまで最初から持っているエンジニアを採用で補うのは難しいと言わざるを得ません。多くの企業は自社のエンジニアを再教育してSRE人材を育成するとこも視野に入れないといけない状態です。それではSREngに必要とされるスキルとはどのようなものなのでしょうか。
ソフトウェア開発+クラウドインフラ運用+インシデント対応=SRE?
まずGoogleのSREng採用情報*を見てみましょう。
最低限の資格:
- コンピュータサイエンスの学士号、ソフトウェア/システムエンジニアリングを含む関連技術分野、または同等の実務経験
- C、C ++、Java、Python、またはGoの少なくとも1つの言語でのプログラミングの経験
- アルゴリズムとデータ構造の経験
優先資格:
- 大規模分散システムの設計、分析、およびトラブルシューティングに関する専門知識
- コードをデバッグ、最適化、およびルーチンタスクを自動化する機能
- 体系的な問題解決アプローチと、効果的なコミュニケーションスキルおよび意欲の感覚
- Unix / Linuxオペレーティングシステムの理解
基本的にはプログラミングの経験とデータに関する知識が必要となっています。また優先資格のうち一つ以上の項目に該当する経験、スキルがあればさらにいいと言った感じでしょうか。ソフトウェア設計からプログラミングそしてやはり自動化の経験が必要とされています。またさらに以下のような情報も提示されており、GoogleがSREngに期待するスキルの一部を知ることができます。
この求人(SREng)について
サイト信頼性エンジニアリング(SRE)は、ソフトウェアとシステムエンジニアリングを組み合わせて、大規模で大規模に分散されたフォールトトレラントシステムを構築および実行します。SREは、Googleのサービス(内部的に重要なシステムと外部から見えるシステムの両方)に、信頼性、ユーザーのニーズに適した稼働時間、および迅速な改善率を保証します。さらに、SREは、システムの容量とパフォーマンスを常に監視します。当社のソフトウェア開発の多くは、既存のシステムの最適化、インフラストラクチャの構築、および自動化による作業の排除に重点を置いています。
SREチームでは、コーディング、アルゴリズム、複雑さの分析、大規模なシステム設計の専門知識を活用しながら、Google独自のスケールの複雑な課題を管理する機会があります。
SREの多様性、知的好奇心、問題解決、開放性の文化は、SREの成功の鍵です。私たちの組織は、さまざまな背景、経験、視点を持つ人々を集めています。私たちは、彼らが協力し、大きく考え、責任のない環境でリスクを冒すことを奨励します。私たちは、有意義なプロジェクトに取り組むための自己方向性を促進すると同時に、学び、成長するために必要なサポートとメンターシップを提供する環境の構築にも努めています。
ユーザーがオンラインで目にするものすべての背後にあるのは、技術インフラストラクチャチームがそれを実行し続けるために構築したアーキテクチャです。データセンターの開発と保守から次世代のGoogleプラットフォームの構築まで、Googleの製品ポートフォリオを可能にします。私たちはエンジニアのエンジニアであることを誇りに思っており、物事を分解して再構築できるようにすることで保証を無効にすることが大好きです。私たちはネットワークを稼働させ続け、ユーザーが可能な限り最高かつ最速のエクスペリエンスを享受できるようにします。
業務内容
- サービスの開始と設計、展開、運用、改良に至るまで、サービスのライフサイクル全体に関与し、改善します
- システム設計コンサルティング、ソフトウェアプラットフォームとフレームワークの開発、キャパシティプランニング、ローンチレビューなどのアクティビティを通じて、サービスを開始する前にサービスをサポートします
- 可用性、遅延、およびシステム全体の状態を測定および監視することにより、サービスが稼働した後もサービスを維持します
- 自動化などのメカニズムを通じてシステムを持続的に拡張します。信頼性と速度を向上させる変更を推進することにより、システムを進化させます
- 持続可能なインシデント対応と非難のない事後分析を実践します
SREはブルーオーシャン?
これらの内容を見ると、SREに求められる本質が見えてくると思います。SREに期待されるスキルは非常に多義に渡っており、これをすべて満たすことができるエンジニアは非常に限られていると思います。
まずはソフトウェア開発スキルから始まり、最終的には信頼性維持向上に寄与するすべてのスキルを実践で学んでいくことができれば、今後さらに市場に求められるエンジニアとしてキャリアを築くことができるのがサイトリライアビリティエンジニアというポジションなのかもしれません。
しかし一方で非常にハードルの高いスキルが求められているように思います。こんなスキルを全部持っているスーパーマンどこにいるの?と考えるかもしれません。私自身もGoogleでいろいろな方を採用する側で面接してきましたが、もちろんすべての項目にパスする人だけを採用していたわけではありません。
これはあくまでもGoogleが定義している各ポジション、ロールに対するベストケースであり、この内のいくつかの項目に合致していれば候補としては十分検討の余地があると考えます。逆の考え方をすれば今あなたがエンジニアでさらなる高みを目指しているのであれば、SREというロールはまだまだ新しい分野でありチャレンジする勝ちがあるかもしれません。
今後SREというポジションが一般的になってくれば、今このスキルを付けることは、ブルーオーシャンに飛び込むことと同じかもしれません。
*本情報は最新ではない場合があります。https://careers.google.com/最新情報はにてご確認ください