648 blog

kyamanekoです。IT、思想、哲学、心理学などの記事を書いています。

フルスタックエンジニア=皿型人材=都合のいい奴隷?

フルスタックエンジニア=皿型人材=都合のいい奴隷?

最近僕はフルスタックエンジニアという言葉を知った。(いまさら)

フルスタック?

英語が苦手なためよくわからないが、『フルスタック=都合よく従順な奴隷』という意味で合っているだろうか?

それなら多くの求人情報の内容に納得できる。
あるいは、『フルスタック=皿』という意味かも知れない。

気になって調べてみたら、フルスタックエンジニアとは、ひとりで開発業務全般をこなせるエンジニアのことを指すようだ。

主にWebソフトウェア開発の業界で使われる言葉のようだ。
最近のITエンジニアの求人に散見される魔法の言葉でもある。

そんなわけで今回は、フルスタックエンジニアという言葉について考えていきたい
(特に、Web系前提で)

ちなみに僕自身は、フルスタックならぬ、皿型エンジニアということになるかも知れない。

 

目次

エンジニアというか人材の種類

最近では、人材を以下のように分類、分析することがあるようだ。

I型人材

f:id:kyamaneko:20161229140242j:plain

 スペシャリスト的な人材。

T型人材

f:id:kyamaneko:20161229140258j:plain

テクニカルクリエイター。広範な業務知識を持ちつつ、専門分野を持った人材。

π型人材

f:id:kyamaneko:20161229140315j:plain

デュアル・メジャー。広範な業務知識を持ちつつ、2つの専門分野を持った人材。イノベーションを生みやすい。

皿型人材

f:id:kyamaneko:20161229140324j:plain

広範な業務知識を持ち、あらゆる実務をこなす伝説上の人材。開発職においては、フルスタックエンジニアと呼ばれる。実際は皿のように浅く広い仕事に前向きに従事してくれる便利な人材。

皿型エンジニアの実体

中小IT企業やスタートアップ企業の懐事情としては、
『なんでもやってくれる人を少数雇いたい』
といった所だろう。

そんな中、企業は体のいい呼び方を見つけた。

フルスタックエンジニア!

フルスタックエンジニアの実体とは、広範囲な責任と浅く雑多な開発業務の連続に耐えられる精神を持ったIT戦士である。

さて、もう少しこれについて掘り下げてみよう。

全ての開発業務を極めるのは無理

一人のエンジニアのみで、WebサービスやWebシステムを高いレベルで運営することはできない

それなのに、広い業務範囲を求められるのはなぜだろう?

これに関しては、以下のような理由が考えられる。

まず、中小企業で働いていると、人手不足のために関わる工程が広がりやすくなる。これが一番大きな要因だ。

それに、Webシステム自体が、ハードとソフトとUIが渾然一体となっている、という理由が挙げられる。
UIがサーバ負荷に関わることもあるし、プログラムの都合でUIが変わることがある。

上記2つの理由から、一人のエンジニアがサーバのセットアップから開発デプロイ運用をやるのが、手っ取り早いということになる。

こんな環境で何年もやっていると皿型のスキルが形成される。(それも、目玉焼きが載るような浅い皿)

しかし、一定規模以上のプロジェクトの場合、インフラもプログラムも要求が高くなってくるため、一人で最高の結果を出すのが不可能になる。

つまり、、

React+Reduxを使いこなし、サーバサイドプログラミングではフレームワークに精通し、Nagiosで完璧なサーバ監視体制を構築できる。

みたいな人材は、現実的にはいない。なぜなら、ひとつひとつの分野を掘り下げるには相応の時間と経験が必要だからだ。

また、いずれかの専門スキルを身につけられれば、『フルスタックエンジニア』みたいな求人に応募する必要がなくなる。

飛び抜けた専門性があれば、紹介や口コミで、能力を活かせるポジションにつけるからだ。

とはいえ横断的な知識は必要

ここまでで、『最終的には汎用性より専門性』という話をしてきたが、幅広い職域の理解は重要だということも書いておきたい

テクノロジーを利益に変えるには、エンジニア自身が、『ある商品がどう売られ、どう使われるか』を理解していないといけない

例えばアプリケーション層のスペシャリストだとしたら、サーバ運用の現場を意識し、かつ、UIUXデザインの基本を理解しておく必要がある。また、自分の技術を利益に変える、営業的なセンスが必要だ。

実際、ある人材の生産性は掛け算になっていて、どれかひとつでもゼロの要素があると、途端にダメ人材になってしまう

そこで、『苦手分野であっても、0ではなく1にしておく』のが、『T型人材、またはπ型人材の横棒の部分』というわけだ。

違う職域の人と対等に話をできるようになると、新しい可能性が拓けるし、仲間の能力を活かす力にもなる。
だから、1を学ぶちょっとした努力を惜しむべきではない

エンジニアの価値を最大化したい

『フルスタックエンジニア』という言葉には、エンジニアの人件費を抑えたいという企業の意図が透けて見える。

エンジニアに対しても、『俺ってフルスタックエンジニア! 全部の工程を自由にできる!』と思い込ませようとしている感じがする。

できれば、雇用主にはエンジニアの価値を理解してもらい、ブラックなスキル要求を控えてもらいたいものだが、、

しかしブラック条件でも応募があるから、構造は変わらない。

そんな状況だからこそ、エンジニア側から『価値ある人材』と思われる自己アピールをできるようにしたい

エンジニアが軽視される理由

エンジニアの価値に理解がない会社では、『ITエンジニアは交換可能で従順で利益に直結していないロボット』だと考えられている。

事実、この評価の通りであるエンジニアも少なくない。

一定の給与で大人しく真面目に働いてくれる。
しかし、経営やマーケティングを理解していない。顧客満足を真剣に考えているかもわからない。なにを考えているかわからない。

こういうエンジニアは0ではないし、こういう人が特に軽視されがちになる。

特に中小企業では目前の利益が重視されるため、『収益に直結する人材=営業や上流職』が注目されることになる。

そんな中、ひたすら上流の指示通りに作業をこなすエンジニアは、利益に直結しない交換可能な部品と思われがちになる。

そこで黙って働いていると、エンジニアの立場は変わらない。

つまり、エンジニアが軽視される状況は、『構造的な問題でもあり、エンジニア自身が招いている問題でもある』と言える。

じゃあどうすればエンジニアの価値が上がる?

価値あるエンジニアになるためには、前述のような評価を逆転させなければならない。
そこで、以下のような実践項目を考えてみた。(まあ僕はやってるつもりだけど・・)

1.顧客のビジネスを知る

自社サービスにしても、受託案件にしても、顧客のビジネスを理解することで、新しい提案ができるようになる。

エンジニアが顧客の課題を把握すると、もっとも安価かつ効果が高い解決策を提示できる
すると顧客の信頼を得ることができ、顧客の財布を豊かにすることができる。
顧客に儲けてもらい、その恩恵に預かるというのは商売の極意だ。
顧客の利益はそのうち、エンジニアのボーナスになる。(といいけど)
こんな感じで、エンジニアは技術で利益を生むことができるし、会社からも感謝される。

2.技術を発信して利益に変える

生き残っていくIT企業は、独自の武器を持っている。
同時に、技術とは蓄積だ。
会社の強みを活かす技術を定めて、追求していく中で、他社に対する競争力が磨かれていく

そのため、エンジニアは自身のやりたいこと、できることを分析して、勉強していく必要がある。
合わせて、その強みを会社で活かしてもらえるように、アピールしていきたい。(競争力のある新技術の提案や新機能の提案)
大切なのは、『あるシステムを手早く作る』ことではなく、『深く作る』ことだと思う。

 

こういった活動によって、あなたというエンジニアが、利益を生む人材であることをアピールできる。

まとめ

フルスタックエンジニアとは、求人側が使う体のいい言葉だと思う。

実体は、『浅く広い仕事を都合よくこなしてくれる従順な皿型エンジニア』にすぎない。

そういう求人をするのは、何でも屋的なエンジニアを求める会社側の思惑があるだろうし、応募する側が『裁量権を持って幅広くチャレンジできる仕事』という要素を過剰に美化してしまっている、という問題もあると思う。

 

もちろん、特定分野の深いスキルのないエンジニアが、実績づくりのために何でも屋的な求人に応募するケースがあるだろう。

たしかに、中小IT企業からキャリアを積んでいくアプリケーションエンジニアにとっては、『フルスタックエンジニア』という名目での業務は、一種の登竜門なのかも知れない。
厳しい仕事になるが、そこをやっておくと自分の可能性を広く分析するチャンスになり得る。

ここで、中小IT企業で働くエンジニアのキャリアを想定してみる。

 

下積みプログラマー

 ↓

小さなチームでなんでも体験

 ↓

フルスタックエンジニア?

 ↓

適性に応じた技術の深化

 ↓

T型エンジニア OR I型エンジニア

 ↓

さらに武器を手に入れ

 ↓

π型エンジニア

 

いずれにしても、テクノロジーの競争力と価値は、深い部分にある。

企業もエンジニア個人も、独自の武器がなければ生き残ることはできない。

そんな中で、スキルが武器であるエンジニア個人を危険にさらす(かも知れない)フルスタックエンジニアという言葉に、思うことがあったため、今回の記事を書かせてもらった。

浅くとも広いスキルを持ったエンジニアが欲しいというニーズが依然としてあるし、そういう仕事を楽しめるエンジニアについては問題ない。

しかし、フルスタックエンジニアを目標にしたり、持ち上げすぎるのはまずいと思った次第で。

(超フラット皿型エンジニアより)




Amazon.co.jpアソシエイト