必要とされるマルチスキルなエンジニアとは「儲かるエンジニア」じゃなくて複数のロールを担えるエンジニア


今朝、なんとなくはてぶのアプリからテクノロジーのカテゴリーを開いてスクロールしていたら、「ITエンジニアのみなさん、“儲かるエンジニア”になれますか?」なんていう記事が目に入って、思わず、

「これは釣りだよ。見なくてもいい記事だよ。」


って心の中のもう一人のワタシが囁くので一旦は見過ごしたんだけど、我慢が出来なくなってスクロールしきっていたところから上に戻るという失態をしてしまったのですよ。
#負けだ、こういったタイトルを付けないといけないんだ。


何に負けているのは本人もわかりませんが、ちょっと記事をみていて草が生えそうだったのですよ。もう。


このシステムで、どれくらい儲けさせてくれるんですか

「最近はシステム提案に行くと、『このシステムで、どれくらい儲けさせてくれるんですか』『うちのビジネスをどう変えられるんですか』などと尋ねられるケースが増えている」。


これ本当にそんなこという顧客がいるんですかね。いるとしても、それ、当て馬の提案なんじゃないかって疑うよね。儲ける事業は顧客がしているんでしょ?それをシステムでってどういうことがさっぱりわかりません。もしかして、顧客のバカ係数がアベノミクスで跳ね上がっているんですかね。


大体、システムを入れるということは業務の自動化なわけですよ。システムに合わせて業務のしくみを変えて、今まで掛かっていたコストを削ぎ落としてそれで生まれたリソースを選択した事業に回すとか、効率ののり代があった部分を機械化することで生産規模を増やしたり、生産品種を増やしたりとか。


だとするならば、「儲けさせてくれるんですか」なんて言わないでしょ。それに、それを言う前に「現行の業務でいくらかかっているか」を教えてもらうのが先ですよね。現状認識とこれからの事業のビジョンがなければ提案なんてただのリプレースにしかならないもん。


エンジニアは変化する必要がある
この表現はそのとおり。今の技術、今のエンジニアレベルでは給与は上がらない。いや、下がる。これは何度か書いてきたけれど、後進が入ってきたら、何れアナタの技術力に追い付く。そのとき、アナタの年齢も上がっている。顧客は若手の方が安い単価で買えると思っている。そうすると次の式が顧客には提示されるのである。

若手のエンジニア > 今の年齢+後進のエンジニア育つまでの期間を経たアナタ


顧客はどちらを選ぶか。イメージは判断を大きく左右する。その上、パフォーマンスが同じなら目の当てようもない。

求められるシステムが変わりつつある以上、エンジニアも変化する必要がある。新しいアイデア、新しいやり方で、新しいシステムを作り出せる「次世代エンジニア」に、である。
 具体的に、次世代エンジニアとはどんな人たちだろうか。まず第一に必要なのは「頭を使って利益を生み出せるエンジニア」であることだ。


ココを読んで、「アッ!」と思ったんですね。最初の「儲けさせてくれるんですか」の対象としているエンジニアはSIerなのではないか、と。で、「頭を使って利益を生み出せるエンジニア」は自社サービスを提供しているエンジニアをイメージしているんじゃないか、って。


だって、SIerのエンジニアに顧客の利益を生むという発想はないでしょう?自社の利益を生む、というのは属する組織から求められるから意識せざる得ないけど。と、考えると、利益を生むのが自社で、と逆を考えると自社サービスに軸を置くのが自然かと。


「“マルチスキルなエンジニア”が活躍する」のは今だって当然
このマルチスキルの定義が曲者だと思うんです。とっても曲者。だって定義がない。ただ、次の記事の箇所を読んでいるとどうも垂直方向の技術を複数持つエンジニアのことを指しているようだ。

例えばパブリッククラウド上に業務システムを構築するケース。エンジニアにはアプリケーションの開発知識に加えて、仮想インフラの構築に関する知識やネットワークに関する知識などが要求される。そこに「境目」はない。これに当然、「ビジネスにどう利益をもたらすか」という視点も求められる。


ワタシ思うんですが、これって、アーキテクトの範疇なのでは?アーキテクトなら、プレゼンテーション層や業務ロジック層、そしてデータベース層と三層構造で考えるでしょう。考えてシステム全体の設計をするわけですから。だからアーキテクト、と呼ぶわけだし。そして、儲ける、は顧客の業務の課題を解決するデザインや方式で表現され、実現に向けた顧客が負担するコストとの比較になるわけで。


とするなら、これもマルチスキルなエンジニア=アーキテクトを言い換えているだけで。


ネオプロジェクトマネージャなんて必要ありません

マルチスキルとひとことで言っても、実際にはさまざまなスキルセットの組み合わせが考えられる。1カ月ほどの現場取材を通じて得た情報から、日経SYSTEMSでは五つのエンジニア像を定義した。「フルスタックエンジニア」「ビジネスイノベーター」「ネオプロジェクトマネジャー」「IoTエンジニア」「次世代ITアーキテクト」である。


もう、なんかね、ワタシ的には好き勝手言っていますね、って感じです。こんな記事で煽られるエンジニアがいるならカモですね。顧客もカモ。ネギしょっている。


ワタシの本職はプロジェクトマネージャなので、ピピッと反応したのが「ネオプロジェクトマネージャ」ですよ。なに?ネオって。速攻でググりましたけど。どこにもないですよ。そんなプロジェクトマネージャ。


そんなことを語るより、どうしたら現実世界で多くのプロジェクトが失敗となっている現状を改善することができるか提言した方がいいんじゃないかな。余計なお世話だけど。


マルチスキルは技術領域の水平展開から
じゃあ、どうするの?今のままでいいの?それとも今のスキルエリアからどこに行けばいいの?って思うなら、ワタシのメンバにはこう言ってきたんです。


一つの技術だけではその技術が必要と無くなった時に食べていけない。
DBMSならOracleが今の専門なら、MySQLとかDB2とか、まずは隣の技術に手を出そう。
選ぶなら組織で扱っている技術がいい。
次は、担当している技術と隣り合う技術エリアとか担当している技術に内包している技術エリアをやってみよう。
ミドルウェアパッケージでLDAPDBMSを使っているならパッケージからそれらを使うだけ、からその技術を深く追ってみよう。


同じ技術エリアからはじめよう、で、内包しているとか隣接する技術に広げよう、というのは、広げるときの負担やハードルを下げておこう、という意図です。初めから高い技術をやっても上手くいくわけがない。失敗してジリ貧になるより、小さな成功体験が必要なんです。


あと、もう一つは、垂直の考え方で、

担当エンジニアから、SEリーダへ、そして、小さくてもプロジェクトをキャリーできるエンジニアにロールを広げよう。


と、ロールを複数出来るようになることもマルチスキルなエンジニアだと思っています。
つまり、水平にしても垂直にしても、複数のロールを担えるエンジニアをマルチスキルなエンジニアであると言えるのです。

まずはフルスタックエンジニア。狭義ではアプリ開発とインフラ構築の両技術に精通したエンジニアをこう呼ぶことが多いが、日経SYSTEMSではこれをもう少し拡張し、「幅広い技術領域にわたって、十分な深さの知識・スキル・視野を持つマルチエンジニア」と定義する。


これ、水平も垂直も全部最高のレベルを要求しているでしょ。バカなの?