Quora回答シリーズです。
質問
UnityやPythonなど、新しいプラットフォームや技術を目の敵にするITエンジニアが居るのは何故ですか?
https://qr.ae/pNsuFg
おそらく質問者さんは「老害」説を唱えたかったんじゃないかと思うのですが、経験に基づいて慎重になっている場合もあるんですよね。
回答
3つのパターンが考えられます。
- 自分が得意な技術が陳腐化するため認めたくない
- 新しい技術は長期的にシェアがあるとは限らず、何も考えずに採用すると技術的負債になることを経験している
- 社内(プロジェクト)に知見が全くないにも関わらず、上からの無茶振りに遭遇している
それぞれ見ていきましょう。
自分が得意な技術が陳腐化するため認めたくない
これはよくあるヤツですね。質問者さんもこれをイメージしながら投稿されたのではないでしょうか。
20代までの若手は新しい技術が出ると面白いと感じ、旺盛に学習する方が多いのですが、30代以降になると徐々に新しい技術を習得するのが困難になると言われています。そのため新しい技術が台頭し自分が使える技術が陳腐化するとお払い箱になってしまいます。
心のどこかでは新しい技術の有用性を認めながらも、それをした瞬間に自分の価値が失われることを恐れているのでしょう。
私個人は60代のUnityエンジニアの方もいらっしゃいますし、最終的には本人のモチベーション次第だと思うのですが、たしかに学習スピードや集中力の持続時間は減少傾向にあると思います。
新しい技術は長期的にシェアがあるとは限らず、何も考えずに採用すると技術的負債になることを経験している
これもあるあるですね。
例えばプログラミング言語にも流行り廃りがあり、以前のWeb開発ではPerlが主流でした。HTMLはサーバで生成して返すのが当たり前の世界です。今から考えると信じられないですよね?その後Ruby on Railsが世界中で話題になりり導入した企業やプロジェクトも多くありましたが、現在では当時の勢いは失われていると感じます(RubyやRoR自体は非常に優れたソフトウェアだと思います)。
このように単純な流行りに乗って技術を採用すると、ブームが過ぎ去ったときにどうやってメンテするのか、エンジニアの確保はどうすれば良いのかといった問題に直面します。特に後者は深刻な問題になるケースがあります。
Unityは現状スマホアプリを作成する際にはデファクトかと思いますが、これも永遠に続くわけではないと考える人は少なくないと思います。長期間稼働が見込まれるようなシステムでは十分に動向を見定めた上で決定した方が、後々痛い目に会いません。(ゲームだと製品の寿命は概ね数年程度の物が多いでしょうからそれほど困らないかもしれませんが)
社内(プロジェクト)に知見が全くないにも関わらず、上からの無茶振りに遭遇している
これは厄介なヤツですねw
上の人が「これはからはPythonの時代だ!つべこべいわずPythonで作れ!」とどこかで吹き込まれたことをトップダウンで司令するヤツです。
例えば社内にはRubyで作られた自社開発のライブラリが大量に揃っており、これを活用すればあっという間に目的の物ができるとしましょう。もちろん社内のエンジニアもRubyに精通した人ばかりです。これをPythonで作れと言われた瞬間に、これまで積み上げてきた資産が無になります。またエンジニアもプロから素人集団に格下げとなります。
もちろん言語が変わっても共通して使える知見はあるでしょうが、開発スピードは間違いなく落ちるでしょう。そして上から「なぜこれまでと比べて生産性が落ちているんだ!サボってるんじゃないのか」と叱責されたらやってられませんw
以前、CEDEC(ゲーム業界の大規模な勉強会)に参加した際にも「上からはUnityで作れと言われたのでUnityでビルドできるが、中身は完全に別物」という事例が紹介されていました。本末転倒な結果を生み出したというわけです。
このように現在の状況を省みない経営判断がされているという状況下では反対に合うのは必然かもしれません。