「フルスタックエンジニア」という言葉が先日から話題になっている。バックエンド・フロントエンドの技術から、サーバサイドの技術まで一式を把握してサービスを運用するためのひと通りの技術を把握しているエンジニアのことを「フルスタックエンジニア」と呼ぶらしい。
議論の中心は「フルスタックエンジニア募集中」と何気なく言っているベンチャーの社長だったり、起業家候補だったり、採用担当だったりに集中している。彼らが求めているのは一人で全てをしきれる人であり、そういう人が居ることで何をするにしても技術的な不安を無くしたいという思いの表れかもしれない。はたまた、技術に対する投資の最小化ということを考えての発言かもしれない。
しかし、いざエンジニア本人のことを考えてみた時「フルスタックエンジニア」という言葉にはどういうインパクト、そしてその言葉が出てくる背景には何があるのかをもう一度考えなおす必要があるのではないだろうか。考察してみよう。
ただの「専門家」では成り立たないウェブ技術
エンジニアと呼ばれる職種において通常求められることは「専門性」だ。通常、何かしらのことを実現するための技術体系が成り立っており、その技術体系を学び、実務経験を積むことがエンジニアとしての一般的なキャリアだ。
例えば、工場やプラントを作る業種においてのエンジニアというのは配管や機器設計などであり、それらには確立した技術とそれを測るための指標が存在し、その上で新しいアプローチというのはゆるやかな速度で採用されていく。そこには「専門家」が存在し、専門家同士が話し合っていくことで業務を遂行する。
ウェブ技術も当初はそうであった。ネットワークエンジニア、サーバサイドエンジニア、フロントサイドエンジニア、コーダーやデザイナー。今でもその分類は継続し、存在はしている。 ウェブ技術が他のエンジニアリングと大きく違うのはその「スピード」だ。
数年ごとに変わっているやり方、デザインのトレンド、そして効率的な方法が生まれる状況は数年前のプログラムさえ古く見せてしまうようになってしまった。数年前の技術を極めている「専門家」よりも新しい技術を継続して身につけているエンジニアに重きが置かれるようになっているのだ。
直接的に変わっていく組織のスピード
スピードのある進化の結果、ウェブ技術は過去にはない新しい状況を呈している。ソフトウェアのバージョンアップは自動化され、バージョンアップされたソフトウェア同士の依存関係は自動でチェックされる。さらに、デプロイ(公開)したソースコードのパフォーマンスは自動で測定され、全てのログは何時でも可視化可能な状態でクラウドストレージ上にスタンバイ状態になっている。
バージョン管理、テスト駆動開発、アジャイル開発、継続的インテグレーション、コンテナ化技術。これらのバズワードで表される技術が徐々に体系化されており、そしてそれらの技術を活用することにより、スピードと安定性を両立させる組織を作ることができる。
もちろん、未だにバックアップファイルをコピー&ペーストで日付履歴管理し、アップロードを手動で実施する状況が存在するのも事実だ。しかし、アメリカ西海岸の先端的なベンチャーや日本の成長株のベンチャーがこれらの技術を取り入れることにより、改善のスピードを獲得していることをしっかり見なければいけない。
そして、このことはエンジニア自身がこれらの技術に対しての知見を常日頃から広げなければ実現せず、かつこれらの技術にはサーバサイドからネットワーク、そして直接は関係しそうにないフロントエンドすらも大きく関係してくる。いくら、サーバやネットワークがフレキシブルに組まれていてもフロントエンドの実装がバグの発生しやすいものならば、意味が無いのだ。
エンジニア個人として
これらの技術の変化があることは既に先端のエンジニアは多く気付き、実践している。Qiitaなどを見ればいくらでもこれらの技術や考え方に関してのコラムが溢れ、すでに「採用しなくてはもったいない」と言われる安定した技術から、まだまだ安定しているかどうかわからない、というものまで多くの技術が存在する。
しかし、今身につけた技術があり普段それを使って業務が回っており、そのことで特段問題が発生していないとしてこういう技術を敢えて身につける意味はなにか、と思う人も多いだろう。 端的に今後残っていくエンジニアと今後淘汰されてしまうエンジニアには明確な違いが存在する。
ことウェブにおいては、特殊な専門性を持ったエンジニアを除けば、だれでもできることをやる要員としてのエンジニアはどんどん厳しい状況に追い込まれ、ここでいう「フルスタックエンジニア」のような学習できるエンジニアがパフォーマンスを発揮し、生き残っていくことになる。
もし、エンジニアとしてのキャリアを進めていこうという意識があり、今学習できる状況にないのであれば、今すぐ学習できる環境に自分の身を置くことをオススメしたい。大手企業がAWS(Amazonのクラウドサービス)を採用し始め専用サーバが一挙に淘汰されたように、今はありえないことが今後当たり前になり、今は価値のある労働の価値が減っていく。これがこれから起こりうる未来なのだと強く推測できるのだから。