スタッフエンジニアとは?仕事内容や将来性、必要なスキルを徹底解説!

スタッフエンジニアとは?仕事内容や将来性、必要なスキルを徹底解説!

日本ではまだまだ普及していませんが、スタッフエンジニアと呼ばれるポジションがあります。アメリカでは少しずつ増えているポジションであり、日本でも知られるようになってきました。実際に、日本で採用されているケースは限られますが、アメリカに倣うならばこれから導入されていくでしょう。

日本で普及していないポジションであるため「スタッフエンジニアなど初めて耳にした」という人は多いはずです。今回は、スタッフエンジニアとはどのようなポジションでありどのような役割を担うのか解説します。

スタッフエンジニアとは

スタッフエンジニアは、エンジニアのキャリアパスにおいて、比較的上位に位置するポジションです。「スタッフ」という表現が、下位のポジションをイメージさせますが、実際にはそうではありません。エンジニアとしてキャリアを積み、ある程度のスキルを持っている状態で、スタッフエンジニアとしてのポジションに就きます。

具体的な役割は、組織によって変化するため注意しなければなりません。例えば、高い技術力を持つことで、特定の分野の課題を解決することが考えられます。また、多くのプロジェクトを経験していることで、プロジェクトのリードとして活躍することも考えられます。また、現場を詳しく理解できている人間として、経営層の意思決定を支援することもあるでしょう。

一般的に、スタッフエンジニアは、レベルの高いエンジニアである「シニアエンジニア」や「リードエンジニア」よりも上に位置するポジションです。ただ、管理職として現場から離れるのではなく、エンジニアとして現場で技術力を発揮し続けます。

スタッフエンジニアの担当業務


組織によってスタッフエンジニアの扱いは異なり、必然的に担当業務も異なります。今回は、一例としてどのような業務が考えられるか紹介します。

技術戦略の策定

組織内で新しい技術を活用するために、技術戦略の策定を支援します。中長期的にどのような技術を活用していくかというビジョンを定め、経営層への提案、策定された場合の展開などを担当するのです。

例えば、Web開発に関連する組織であれば、オープンソースの導入を検討すべき時があるでしょう。この時、どれを採用して社内のエンジニアに習得させるかは非常に重要です。まとまったコストが生じるため、可能な限りミスは避けなければなりません。そこで、経験値の高いスタッフエンジニアが軸となり、技術戦略を検討するのです。

また、組織として新しく生み出す技術について検討することもあります。例えば、新しいサービスを開発し、そこに多くのリソースを投入するのです。どちらにおいても、経営に関わる重要な戦略の策定に該当すると理解しましょう。

技術の選定

システムやアプリケーションなどを開発する際は、エンジニアが技術を選定しなければなりません。例えば、フレームワークを利用して開発するかどうかの決定が必要です。このような重要な判断をスタッフエンジニアが下します。

どのような技術が最適であるかは、一概に断言できるものではありません。エンジニアの熟練度や開発期間、求められる品質や動作速度など幅広い観点から決定する必要があります。このような判断は、経験の浅いエンジニアに任せるにはリスクが大きいため、スタッフエンジニアが判断したり承認したりするのです。

また、既存のシステムやアプリケーションについて、採用する技術の変更を提案することがあります。一般的に、すでに完成しているもののコアになる技術を変更すると、大きなインパクトを与えかねません。慎重に判断しなければならない部分であるため、スキルが高く経験豊富なスタッフエンジニアが判断するのです。

アーキテクチャ設計

システム全体の構成や各コンポーネント間の設計を担当します。難易度の高いものについては、スタッフエンジニア自身が設計するのです。逆に、極端に難しくないものは、他のエンジニアが設計しレビューを担当します。

一般的なシステムやアプリケーションでは、スタッフエンジニア程のスキルは必要ないと考えられます。極端に高い可用性が求められたりセキュリティ対策が必要となったりする場合に、スタッフエンジニアが参画すると考えましょう。

キャリアパスのイメージ


皆さんの中には、スタッフエンジニアに向けたインキャリアパスのイメージが持てない人がいるでしょう。状況によりけりですが、以下のステップでキャリアを築くことが一般的です。

初級エンジニア

スタッフエンジニアは最初から定められたキャリアパスではなく、一般的な初級エンジニアからスタートします。専門的な知識を習得して、エンジニアとして活躍し始めた人であると考えましょう。どのような人でも、スタッフエンジニアになるチャンスがあると考えて差し支えありません。

後ほど解説しますが、スタッフエンジニアはある程度のスキルを習得してから目指すキャリアです。そのため、初級エンジニアの段階で「スタッフエンジニアとして活躍するために何をすべきか」と考える必要はありません。この段階では、エンジニアとしての経験を多く積むために、とにかくスキルアップすべきです。

なお、以下で解説する中級エンジニアを目指すにあたって「エンジニアとしての専門性」が問われるようになります。そのため、自分が得意な分野や経験が多い業務を中心にスキルを伸ばしておくことが重要です。

中級エンジニア

中級エンジニアは、初級エンジニアからスキルアップして、自身の専門性が高まった状況です。例えば、いくつものプロジェクトに参画して、自信が持てる状態だと考えましょう。また、上司や先輩から指示を受けなくとも、自分自身で行動できる状態とも表現できます。

このレベルのエンジニアは、あくまでも自分が主体となって行動することに力を入れていることが特徴です。例えば、与えられた業務を自分だけで完遂するなどが考えられます。スキルアップして業務をこなせることはもちろん、不明点があるならば自分自身で調べて対応することも重要です。

なお、どうしても自分では対応できないこともあるでしょう。その場合は、関係者にエスカレーションするなどの対処もできなければなりません。

シニアエンジニア

シニアエンジニアは、中級エンジニアとしてのスキルだけではなく、後輩や部下を育成するスキルも有しています。中級エンジニアは、自分がエンジニアとしての役割をこなしていく立場ですが、シニアエンジニアはそれだけに留まりません。自分が有しているスキルを周りに展開していくことが求められます。

組織の中で活躍している場合、シニアエンジニアレベルで終了するケースが多くあります。人材育成などの場面が増えてくると、徐々にマネジメント寄りの立場に変化しているのです。ただ、これからはシニアエンジニアからマネジメントへ進むのではなく、シニアエンジニアへと進むキャリアが生まれています。

スタッフエンジニア

一般的に、シニアエンジニアからは「マネージャー職」へと進むか「エンジニア職」としてレベルアップするかを問われます。日本の勤務制度は、年齢を重ねるほどマネジメントの仕事が増えてくるため、エンジニアからマネージャーへの昇進が多いです。ただ、エンジニアとしての道を進むならば、スタッフエンジニアへの道を選択することになります。

スタッフエンジニアの業務内容は上記で解説したとおり、マネジメント寄りの仕事にも対応しつつ、レベルの高いエンジニアとして活躍することです。マネジメントの仕事も任されますが、主たる部分はエンジニアとしてテクニカルな業務に対応します。この点で、日本で多く見られる「昇進」とは異なった立ち位置であると理解できるはずです。

ただ、エンジニアとして昇進することは間違いなく、部下の育成など周りを巻き込んだ働き方が求められます。テクニカルな業務だけを担当するわけではありません。ここもしっかり理解しておきましょう。

スタッフエンジニアの細分化

スタッフエンジニアは新しい概念であり、その定義は曖昧な部分を含めます。解釈は人それぞれですが、日経BPが発行する「スタッフエンジニア マネジメントを超えるリーダーシップ」でスタッフエンジニアを4つに細分化したものが紹介されています。それを参考に具体的な役割を解説します。

テックリード / Tech Lead

テックリードはエンジニアの中でも、他のエンジニアをリードする立場です。リーダーエンジニアと呼ばれるポジションに近く、最も技術寄りであると理解して差し支えないでしょう。プロジェクトとして採用する技術を選定したり、時にはソースコードを書いたりします。ただ、スタッフエンジニアであるため、経営層の気持ちを汲み取って、技術を選定したりアルゴリズムを考えたりしなければなりません。

アーキテクト / Architect

アーキテクトはシステムのアーキテクチャ全般を設計する役割を担います。サーバー・ネットワークなどのインフラ部分やデータベース設計、外部との連携であるAPIなどが該当します。設計はシステムの使い勝手や性能を左右するため、十分な知見を活かさなければなりません。

加えて、経営層の方針についても、アーキテクチャへ反映させる必要があります。例えば、可用性を重視したりコストを抑えたりするのです。自分自身の考えだけではなく、全社的な方針に沿えることも求められます。

ソルバー / Solver

ソルバーは経営層などが抱える、重要な問題を解決する役割を担うエンジニアです。例えば「競合他社と同様のレスポンスを維持したい」「他社にはない機能を追加したい」などに対応します。解決すべき課題によって、求められるスキルは変化すると考えましょう。

また、問題ではなくトラブルを解決することもありえます。例えば、プロジェクトの予算が超過する見込みなど、いわゆる「炎上」に対応するのです。総じて、経営層から重要な役割を任されたスタッフエンジニアと理解して違いありません。

右腕 / Right hand

右腕は経営層、とくにCTOなどテクニカルな部分を担う人物をサポートするエンジニアです。テクニカルな知識が求められますが、スタッフエンジニアの中でも「マネジメント」「リーダー」の役割が大きいと理解しましょう。

CTOなど重要なポジションの代理として活躍することもあり、スタッフエンジニアではあるものの大きな影響力を持つ可能性があります。大規模なプロジェクトをCTOに代わって推進するなどが考えられるのです。

Amazon:スタッフエンジニア マネジメントを超えるリーダーシップ

スタッフエンジニアで期待できる将来性

日本では昇進するとマネージャー職に就くことが多く、スタッフエンジニアのような働き方はほとんど見られません。それだけのスキルや実績がある場合は、多くの場合、管理職へと進んでしまいます。エンジニアとしてのスキルを持ちながらも、部下をマネジメントする仕事が中心になってしまうのです。

しかし、現在のようにエンジニアが細分化される時代においては、スタッフエンジニアのような働き方が重要です。高いスキルを持ち、エンジニアの業務が理解できていなければ、部下をサポートできません。マネージャーとは別に、技術だけをサポートする人材が求められる場合があるのです。

そのように考えると、これから重要視されるポジションであり、将来性は明るいと判断して差し支えないでしょう。スタッフエンジニアはまだまだ浸透していませんが、海外に倣って日本でも次々と採用されるはずです。

まとめ

スタッフエンジニアが、どのようなポジションであるか解説しました。日本ではまだまだ浸透していませんが、今後、少しずつ増加していくと考えられます。アメリカでは導入が進んでいるため、日本もそれを踏まえたキャリアパスが重要視されるようになるでしょう。

エンジニアの中でも特に優れているポジションであり、日本では管理職に昇進しがちな人材です。しかし、スタッフエンジニアはあくまでもエンジニアであることに注目しておきましょう。マネジメント面のスキルも必要とされますが、エンジニアとしての技術が重要なのです。

SHAREこの記事をシェアする

admin