根暗課長(FWを背負った量産型プログラマー)
Z世代の若手によく言う台詞があります。
「量産型ザクになるな」
機動戦士ガンダムを知っている人には通じますが、Z世代は観たことがない人が多いので言い換えて、
「ロボットになるな」
と伝えています。
これはどういうことかというと、替えの利く人間になるなということです。
昔はオタクばかりだった
パソコンが一般的になってからというもの、IT業界に他業種からの転職はもちろんのこと、未経験者が入ってくるようになりました。
25年前はプログラマーとして入ってくる新人はオタクが多かったんです。
趣味でコンピューターに触っていて、その延長みたいな感じだったので入社前から既に下地ができていました。
それに対して今の新人はどうかというと下地のないケースが多いです。いや、もう殆どゼロですね。ここ数年の新卒を見ていると情報系の大学を出ていても実戦レベルのソースを書ける子に当たったことはありません。
文系の子もいるので、へたするとWindowsをろくに使えない子が居る状況です。Ctrl+Cを教えているときに泣きたくなりました。笑
新卒採用を始めた当初はWindows知らないでIT業界に入ってくる考えが全く理解できなかったもんです。
それでもなんだかんだで慣れていくもんでして、
今はそういう子たちを教育しなければならない
このド素人の子たちをどうやって教育するか?
と前向きな考えを持てるようになりました。
25年前だったらこの辺の教育はシンプルだったんですけどねぇ。
ある程度下地ができている子たちなので、言い方悪いですが昭和のスパルタ教育で見違えるように成長していきました。
プログラミング言語に抵抗がない、むしろやりたくてしょうがない子たちばかりだからエサを与えれば喰らい付いてくるわけです。
放っておいても勉強するし「俺のソースが一番だ」と豪語し、同期とソースコードの美しさを争い、勝手に切磋琢磨してくれます。
そりゃ楽なもんでした。
今はどうでしょうか。
まずプログラミング言語に抵抗があるということで、ずっこける。
ソースコード書いても赤字のエラーに阻まれてモチベーションダウン。
英語が読めないのかエラーメッセージに書かれている内容を自分で調べない。
あげくのはてにはエラーメッセージをコピペしてそのまんま先輩に渡して「これが出たんですけどどうすれば良いですか?」と聞いてくる。
こういう子たちをどうやって教育するか?
私は悩みました。
そしてあるモノの存在にたどり着きます。
それは非常に便利なモノでした。
そう、
フレームワークです。
フレームワークの登場
まぁ、穴の空いたパズルのようなもので、もうある程度できあがっている状態に対してピースを埋めていくような感じで、これなら初心者でも何とかなります。
25年前、私がC言語を使って仕事をしているときはフレームワークなんてのは無くて、すべて一からソースコードを書いていました。
ところが今は違います。
まずはフレームワークを導入し、ある程度できた状態から必要な部分だけソースコードを書いていくのです。
世の中便利になったんです。
がしかし、
この便利なフレームワークの登場により、業界のピラミッド構造がガラリと変わってしまいました。
それこそ25年前は凄腕のエンジニアがゴロゴロいて、プログラミング言語はC言語がメインだったし、扱いの難しいC言語を習得できなかった若者たちは次々に業界を去っていきました。
そして厳しい試練に耐えたエンジニアだけが生き残るのです。
そのためピラミッドの上層と中間層を一定レベル以上のエンジニアが占めており、下層においては動作試験専門のテスターやコンピューターを操作するだけのオペレーターが占めていました。
それに対して今はフレームワークがあるので、若者がピラミッドの上層に昇りやすくなっています。
一部でC言語も使われていますが、フレームワークの台頭でCほど難しくないやさしいプログラミング言語がたくさん出てきています。
多少理解できなくともフレームワークが導いてくれるので初心者にとってこれほど嬉しいことはないだろうと思います。
もっとも昔を知らないから、何が良いんだか分からないでしょうが。。。
もはやプログラミングは誰でもできるのです。
これを専門技術というのか?
一応言えるでしょうが、二流、もしくは三流となるのではないかと。。。
本当の専門技術を持った人たち、一流は、ピラミッドの最上層に存在し、フレームワークそのものを作ってしまう人たちです。
上記で書いたように私が新人の頃は個人の技術力に依存していた時代で、できる人しか生き残れませんでした。そのできる人たちでピラミッドが構成され、上層と中間層の割合が多く、一定レベル以上のエンジニアが占めていました。
今はその面影がなく、ピラミッドの中間層にエンジニアが集中し、上層はごく一部で下層はオフショア(中国、インド、ベトナムなど)が占めています。
もともと下層にいたテスターやオペレーターたちは追い出されて、コストが安いオフショアに置き換わってしまいました。ブラックの使い捨てリソースもこの下層に割り当てられることが多いです。
25年前に比べてかなりの構造変化だと思います。
冒頭で書いた「ロボットになるな」とは、このピラミッドの中間層にいるなということです。
プログラミングが誰でもできるようになったことは素晴らしいと思います。
しかしながらその反面みんなドングリの背比べになってしまい、貴重性が薄れてきており、バナナのたたき売り状態、技術者の価値が落ちてしまっているのです。
みんな同じ程度の技術なら、雇う側としてはありがたい。
簡単に替えが利くし、常に安い方を取りたがる。そうやって技術者の単価が下落するわけです。
※特に昨今コロナの影響でSESの仕事が激減しており、SES営業の数字を見るとコロナ前に比べて仕事の数が半分まで落ち込んだことがありました。これから需要が戻ってくると思いますが、この悪い影響を真っ先に受けるのは経験の乏しい若者です。
さらにどこの企業も優秀な人材を逃がさないように抱え込んでいるため、転職市場に人が流れにくい状況です。流れているのは年齢の高い人や経験の乏しい人、未経験者ばかりでこちら側としてはなんとも辛い状況が続いています。
価値のあるエンジニアとは?
どうすれば価値のあるエンジニアになり、自分の価値を上げることができるのか?
人がやらないことをやるしかないです。
差別化というやつです。
みんなフレームワークをやっているから自分もやろうという考えは1年目は良いですが2年目からは危険です。
フレームワークというものはひとつではなく、常に新しいものが出てくる状態で、新しいものが登場したら常に覚えなければなりません。
さらに各々でクセがあります。
この覚え続けるという行為をいつまでやれるでしょうか?
40歳になっても続けられるでしょうか?
私の同年代でそういう立ち回りで飯を食っている人は少数派です。
皆それぞれ専門技術(差別化)を持ち、それを武器にして仕事を取っているか、管理職になっているかです。
若者はどう立ち回れば良いのでしょうか?
簡単なことです。
フレームワークを作る側の視点になれば良いのです。フレームワークを分析し、作るにはどんな知識と経験が必要なのか調べてみれば良いんです。
驚くほど多くの技術が使われているので後ずさりしてしまうかもしれませんが、その使われている技術をひとつひとつマスターしていけば良いのです。
本当にそんなことができるのか
と思うかもしれないが、私の年代になると自社用のオリジナルのフレームワークを設計し作った経験のある人が周りにけっこう存在します。
ゲーム業界だってオリジナルのフレームワークを持っていて、自分達が楽に開発するために最初にそういった土台を作ってしまい、後から入った人はその土台の上で動けば良いだけなのです。
ちなみに私も規模は小さいんですけど企業向けのオリジナルフレームワークを作って販売したことがあります。大変な開発作業だったけど多くのことを学ばせてもらいました。今でもやって良かったと思っているし、その時の上司には本当に感謝しています。
量産型ザクになってはダメだ。
シャアザクになれ。
ロボットになってはダメだ。
ロボットを作る側になれ。
今日はこの辺で。
この記事が気に入ったらサポートをしてみませんか?