フルスタックエンジニアとは
フルスタックエンジニアとは
フルスタックエンジニアの「フル」は「多数の」という意味で、「スタック」は「積み重ね」という意味です。つまり、フルスタックエンジニアとは、1人で設計、運用、開発を行える多数のスキルを積み重ねたエンジニアのことで、別名マルチエンジニアとも呼ばれています。普段エンジニア達は多くの作業を分業していますが、それらを1人でこなせるのがフルスタックエンジニアの特徴です。特に、スピード感を求められるベンチャー企業で重宝される傾向にあります。具体的にどのような作業ができるエンジニアのことを指すのかより詳しく解説していきます。
フルスタックエンジニアが保有するスキル
フルスタックエンジニアはJavaやPHP、pythonやCなどのプログラミングスキルを保有しています。これはエンジニアなら保有していて当たり前のスキルですが、それに加えてフルスタックエンジニアはアーキテクチャの設計スキルも持っています。これは共通基盤設計や外部設計、内部設計などのことです。また、その他にもデータベース設計スキルやインフラ構築スキルを持っていて、具体的にはAWSやmySQLやAurora、Oracle、Apache、SendMailなどがあげられます。そして最後に運用スキルです。これはバックアップ・リストア、障害検知、アラート対応、質問対応などができるスキルのことをいいます。このようにフルスタックエンジニアは多くのスキルを積み上げているのです。それだけではなく、コミュニケーション能力も求められるので、フルスタックエンジニアになる難易度は高めのエンジニアと言えるでしょう。
フルスタックエンジニアが必要とされている理由
フルスタックエンジニアはアメリカの求人で使われ始め、現在は日本でも通じる言葉となりました。なぜ、フルスタックエンジニアが求められるようになったのかという理由について解説していきます。
アジャイル開発の普及
フルスタックエンジニアが必要とされている理由は、少ない人数で高い生産性をあげることができるからです。そのような人が求められる背景には、従来のウォーターフォール開発からアジャイル開発へのシフトで、システム開発に必要なエンジニアが大量である必要で無くなっているという事があります。アジャイル開発は短い期間での開発を繰り返し、改善を繰り返す手法なので、スピード感も求められます。また、アジャイル開発で変更点が起きることは当たり前なので、その度に必要なエンジニアを採用したりSESで派遣するのは大変です。そんなときにフルスタックエンジニアは柔軟に対応できます。
クラウド化の普及
いままでシステムの開発をするハードルは非常に高いものがありました。なぜなら、ネットワークやサーバーを全て自分達で準備する必要があったからです。しかし、近年クラウドの普及により、システム開発のハードルはクラウドを使うことで下がったうえ、ある程度少人数でも開発できるようになりました。また、フレームワークを使えば複数人でようやく作ることが出来ていたシステムを比較的簡単に1人でも作れるようになりました。webサービスに必要なスキルを身につけるハードルもまた下がっているのです。これらの事から1人でマルチに開発ができるフルスタックエンジニアが必要とされていると言えるでしょう。
フルスタックエンジニアの仕事の特徴
フルスタックエンジニアの仕事にはどのような特徴があるのかについて解説していきます。全てのエンジニアはフルスタックエンジニアを目指すべきとは言いません。フルスタックエンジニアは万能ではなく、メリットもデメリットもあります。それぞれを知った上で自分の価値観と照らし合わせてキャリアを決めていくのが良いでしょう。
忙しさ
全てのフェーズに関わるため、フルスタックエンジニアはハードワークになることが多いです。今まではそれぞれの開発工程で分業していた部分を1人で対応する訳ですから当然仕事量は増え、それに伴って責任の範囲も広くなります。自分が全てに対応して仕事をしたい!という気持ちの人や、適度な仕事量で適度な責任でいいという気持ちの人など、それぞれの価値観によって正解は異なるので、これがメリットかデメリットかは人によって変わるでしょう。ただ、忙しい代わりにより良い報酬や、安定を手に入れることができる可能性が高いです。
年収
年収は複数のスキルを持っていて希少性が高いため、普通のエンジニアよりも高い場合が多いようです。ただし、普通のエンジニアの2倍も3倍も稼げるというほどではありません。エンジニアの平均年収は450~700万ほどと言われていますので、その数字より少し高いといった認識するのがよいでしょう。ただ、フルスタックエンジニアといっても、一つ一つのスキルが浅い人だと1つのスキルを深く極めているエンジニアより年収が低くなる可能性もあります。いきなりフルスタックエンジニアを目指して浅く広く学習しすぎると、逆に専門性のないエンジニアとなってしまう可能性があることに注意しましょう。そのような状態になると、ある程度のことは知っていても本格的に開発する際には別途人が必要という状態になります。そうなると企業としては結局人件費がかかる訳です。その状況は企業にとってメリットはあまりないので、やはり一つ一つのスキルも深く学ぶ必要があると言えるでしょう。
転職時
フルスタックエンジニアは転職時に有利に働くことが多いです。今後海外が開発の外注などを積極的に行うでしょうし、フルスタックエンジニアになれば他のエンジニアより安定はしているといえるでしょう。特に人数を集めて分業をしているような企業ではなく、少数精鋭のベンチャー企業などでより高く評価させる可能性があります。企業としては少ない人数で様々な業務を行えるので、人件費の削減にも繋がります。このように企業がフルスタックエンジニアを欲しがる理由がしっかりとあるので、転職時に困る可能性は少ないと言えるでしょう。
フルスタックエンジニアの将来性
フルスタックエンジニアの概要と仕事の特徴について解説してきましたが、これからも伸びていく職種でなければ目指そうという気は起きないのではないでしょうか。その疑問に答えると、フルスタックエンジニアの将来性は明るいです。これからそう考えられる理由について解説していきます。
webサービス開発のハードルの変化
フルスタックエンジニアの将来性が明るい理由を理解する為には、webサービス開発のハードルの変化に着目すべきです。ここ数年でwebサービスを始めるためのハードルは著しく下がりました。AWSやHeroku、Windows Azureの登場、サーバーサイド側ではRailsやcakePHPが登場しました。フロントエンド側ではjQueyとやSass、CoffeeScript、Hamlなどの可読性の高い言語の登場、デザイン面ではBootstrapなどが登場しており、これらの登場でより簡単にwebサービスを作ることができるようになりました。そして、今後その流れはさらに加速してより簡略化されるでしょう。そんな中で、ひとつのフレームワークしか使えない、1つの言語以外出来ない、といったエンジニアの価値は下がっていきます。
ここで、技術の習得難易度が下がると、一つの業務しかできないエンジニアの価値が下がる理由を解説していきます。今までは膨大な学習コストがそれぞれの技術に必要だった為、1人で全てできる人は一部の天才を除いてほとんど居ませんでした。しかし、それぞれの技術が簡略化され、少ない学習コストで習得できるとどうでしょうか。1人で多数の業務ができる人が多くなり、1つの業務しかできないエンジニアの価値は相対的に下がるのです。よって、今後はフルスタックエンジニアの将来性は明るいと言えます。またはフルスタックエンジニアにならざるを得ない状況になるとも言えます。
システムインテグレーター(sIer)の変化
ここ数年で急速にクラウドやオフショアが成長してきたことによって、システムインテグレーター(SIer)の立ち位置にも変化が起こってきました。
ちなみにオフショアとは海外の会社や子会社へシステムの設計、開発、運用を委託することを言います。
クラウドによってSaaSを使用することが中心になることでsIerの需要が減っていき、さらにオフショアの労働者に仕事が流れるということになる可能性があります。つまりスキルの低いエンジニアはオフショアなどでより単価の低い仕事ばかりになる可能性が高いのです。より柔軟な対応のできるフルスタックエンジニアになり、価値を創造しなければいけない状況になるのです。今まで通りsIerで分業して一つの業務しかできないのは安定ではないということを知っておかなければなりません。
まとめ
いかがだったでしょうか。フルスタックエンジニアとは何かという所から特徴について説明してきました。また、IT技術の進化を見ながら、今後フルスタックエンジニアがどのような立ち位置になるのかという点についても解説しました。これまでフルスタックエンジニアの将来性について解説しましたが、大切なのはフルスタックエンジニアに将来性があるかないかという話よりも、技術の変化に敏感になり、それを踏まえてどのようなキャリアを進めばより良い環境で働けるのかを考える力です。
常に技術は進化します。現時点での正解は5年後には不正解になるような世界です。これを学んでおけば安心、こうすれば安定、といった現状維持の安定志向を捨て、常に新しい物を学び続ける姿勢を持った方が良いでしょう。それをできるエンジニアだけが勝ち残ることが出来ますし、それ以外のエンジニアは淘汰されます。これはIT業界に限った話ではありません。どの業界で働く上でも安定を求めて新しい学びを捨てれば、それは衰退に繋がるということを肝に銘じていくことがよいでしょう。最後までお読みいただき、ありがとうございました。