フルスタックエンジニア 【full-stack engineer】 full-stack developer
概要
フルスタックエンジニア(full-stack engineer)とは、通常はそれぞれに専門の技術者がいて分業されるような複数の技術分野についての知識や技能に精通し、一人でシステム開発や運用を行なうことができる技術者のこと。対象分野によって求められる技能の組み合わせ(スキルセット)は異なる。例えば、Webサービスの開発・運用であれば、サーバコンピュータやネットワークの導入や設定、オペレーティングシステム(OS)やミドルウェアなどの導入や管理、サーバ側ソフトウェアのプログラミング、データベースの設計やDBMSの運用、クライアント側ソフトウェアのプログラミングやHTML/CSSコーディング、ユーザーインターフェース(UI)デザインなど、必要なすべての技術要素や分野について十分な知識や経験があり、独力でシステム構築やサービスの立ち上げ、運用などができる技術者を意味する。
資金や事業規模に乏しく分野ごとに専門家を用意するのが難しい、設立間もないベンチャー企業(スタートアップ)などで特に必要とされる職種で、技術系ベンチャーの創業メンバーがある種のフルスタックエンジニアであることも多い。各分野に深く精通していることより、全体の調整や複数の分野に跨がる問題の解決、新事業の素早い立ち上げなどを求められることが多い。
2013年頃にITエンジニアの新たなキャリアパスの一つとして提唱され、実際に高待遇を得た事例なども紹介され注目を集めた。しかし、モバイルアプリやクラウドサービスの普及など、サーバ側もクライアント側もカバーすべき範囲は広がる一方であり、個々の分野の専門性を高めたり維持するのは容易ではない。どの分野も中途半端な「器用貧乏」に陥る危険性も指摘されている。
(2020.5.30更新)