the-strategy

プログラミングができるITエンジニア人材の市場価値は、以前と比べて非常に高まってきているように感じる。そこで求められている人材とは、自ら手を動かすことで問題解決をするナレッジワーカーとしての「プログラマ」である。

決して、仕様書通りにコーディングだけする職種のことではない。それは以前に書いた。ソフトウェアエンジニアの目指す道 〜 ナレッジワーカーとしてのプログラマ

今回の記事では、この10年間で起きた市場や環境の変化から、手を動かせるプログラマの市場価値が高まってきた背景について、そして、これから求められるITエンジニアの姿について考えてみた。

12年前の転職市場で求められていたスキル

私が30歳を過ぎた頃、今から12年前(2004年頃)の話になるが、その当時に転職しようと少し調べたことがある。自分の年齢と経験をもとに探した応募要項で求められるスキルは、マネジメントであり大規模プロジェクトの経験だった。

確かに私のキャリアは大手SIerで管理職として働いていたので、外から見れば、そういった仕事しかないのはわかる。それに当時は、30歳を超えた人材の募集には、プログラミングができることは、あまり求められていなかったのだ。もしかすると、もっと一生懸命に探せばあったかもしれないが、転職市場に出る応募の多くは、そういう状態だった。当時はWantedlyなんてのもなかった。

余談になるが、結果としてプログラミングをしたいと思っていた私は、行きたい先が見つからなくて転職せずに、自社内で社内SNSを内製することにしたのだった。そのおかげで、今のソニックガーデンがあるので、人間万事塞翁が馬だとは思える。

閑話休題。

プログラミングとは、手を動かすだけの人という認識が今よりも強かったこともあるだろう。もしそうなら、そこに30代以上のハイクラスの人材を充てることは勿体無いし、価値には見合わない。転職する側だって、別に仕様書通りに手を動かしたい訳でもないし、低い報酬でいい訳でもないのだ。

あの当時、ユーザのために企画から考えたり、もしくは起業家と共に事業から考えたりして、それをソフトウェアで実現するためにプログラミングをするような「本当のプログラマ」の仕事が少なかった。そこにジレンマがあったのだ。

本当のプログラマが求められる時代へ

しかし、今は、もはやそんなことはない。

今の時代に求められるのは、プログラミングができることは当然として、ビジネスを理解すること、問題解決の提案ができること、テクノロジーに造詣が深く、アーキテクチャから構想し、チームを率いることまで出来る人材であれば、非常に市場価値が高くなる。

設計だけ、プログラミングだけ、マネジメントだけ、などといった分断はなく、兼ね備えた能力を持った人の生きる場所ができたのだ。そうなると、若手だけでなく30歳を超えても、いや、むしろ経験年数があり、熟達したプログラマであれば、市場から求められるのは必然だ。35歳定年説など、もはや意味はない。

企業において、そういった人材に求められるのは単なる「人手」ではない。企業の根幹を担うソフトウェア、その戦略策定から提案ができる役割である。そんな役割が求められるようになってきたのは流れがある。急に起きたわけではない。ここまでの流れ、どういった背景があったのか10年を振り返ってみたい。

その1:大手IT企業の内製志向への変化

10年の間に起きた流れの一つは、ITを抱えてビジネスをしている多くの企業が、内製化に舵を切ったことにある。インターネットでビジネスをする限り、一度作ったシステムを、同じままで使い続けるということはありえない。そんな今では当たり前のことに多くの企業が気付き始めたのがきっかけだろう。

昔ながらのシステム開発といえば、社員が業務で使うものだったから、そう簡単に社内のルールを変えたりすることもできず、一度作った後に変えていく必要性は薄かったかもしれない。しかし、ウェブサービスは顧客と直接つながるものだ。言うなれば店舗を持っているようなものだとすれば、日々の改善が重要になる。

インターネットによって、提供企業と利用顧客が直接つながるようになって、サービス提供側は改善することの重要さを知ったのだ。そして、サービスを改善させていくための最も効率的な組織体制は、内製をすることである。日々の改善を都度アウトソースして、見積もり、納品を繰り返しては効率が悪いからだ。

内製を進める上で求めらえる人材は、固定した仕事しかできない人ではなく、様々なことに取り組める人材になる。内製は、社員として人を固定するのだから。プログラミングだけ、設計だけではなく、どちらも出来ることの方が価値が高くなるのだ。

その2:スマートフォンの普及とアプリ開発の広がり

この10年で世界を変えたデバイスといえば、スマートフォンだろう。2007年のiPhone登場以来、人々の生活は大きく変わった。今ではスマートフォンのなかった生活を思い出すことすら難しい。

そして、スマートフォンの世界では多くのアプリを開発して販売する人たちや企業が登場した。アプリストアというチャネルができたことで、誰もがアプリを販売してビジネスをすることができるようになったのだ。そうしたアプリを開発するのに必要なのは、これも単なる人手ではない。

アプリ開発をするのに必要なのは、たくさんの素人同然の人手ではなく、少人数でも知見と経験を持った人たちである。仕様書に従って、似たような画面を大量に作るような仕事などないのだ。そうであれば、手を動かせるプログラマに価値があり、ユーザのことを考えられるなら、なお価値が高まるのは当然のことだ。

アプリに限った話ではないが、グロースハックと呼ばれる活動で求められるのも、手を動かすことのできる人材である。グロースハックを担うのも、マーケティングの問題解決ができるプログラマということだ。

その3:クラウドの普及とスタートアップ市場の勃興

もう一つ、この10年で普及したものは、クラウドという概念と、そのサービス群だろう。2006年にAWSが登場して以来、少しずつ普及が広がり、ウェブ系の企業だけでなく、今では大手企業が社内システムのプラットフォームとして選ぶまでになった。

クラウドによってもたらされたのは、持たざる経営である。特に、ウェブサービスなどのインターネットでビジネスを始めようとする人たちにとっては福音となった。使った分だけ課金される従量課金のモデルは、スタートアップにとって非常に大きな意味を持つのだ。

AWSが日本で普及させる際に採った戦略も、大手企業や旧来の中小企業に広めるよりも、まずはスタートアップの人たちを支援することだった。従量課金になることで、起業にかかるコストが圧倒的に下がることになるからだ。私たちソニックガーデンも、前職の社内ベンチャーで始める際に、事業計画書を作った際に、通常のデータセンターを利用するプランと、AWSを使うプランの2種類を作り比較をして、かかる費用が一桁以上違ったことからAWSを採用して始めることにした経緯がある。

クラウドを活用したスタートアップの特徴は、少人数のチームで立ち上げるということだ。そこにも、設計だけとか、プログラミングだけの人はいらない。ここで、CTOと呼ばれるような人たちが活躍することになる。スタートアップ初期に求められるCTOの役割はプログラミングだ。

また、クラウドによって開発者に求められるスキルも変わってきた。アプリ担当、インフラ担当と分けることなく、アプリ開発者がソフトウェアを触る延長でサーバを用意することができるようになったことも大きな変化だ。この流れは、Infrastructure as Codeや最近のDevOpsなどにつながってくる。

また、リーンスタートアップという考え方が生まれ広まったことも大きい。綿密な計画と壮大な予算で新規事業を興すのではなく、少しずつ学習を重ねながら、顧客とマーケットを見つけていくという手法だ。これによって、さらに起業へのハードルが下がり、リーンスタートアップと相性の良いアジャイル、つまり起業家と話をしながら手を動かして少しずつ開発ができる人材が求められることになった。

その4:旧来市場へのIT企業の参入

最後に、ここ最近の流れで言えば、昔からあるマーケットへのITを活用した新興企業が参入し、圧倒的な業務効率性とユーザへの利便性でもって切り崩しにかかる動きが出てきたことがある。分かりやすい例が、UberやAirbnbだ。タクシー配車アプリのIT企業が、タクシー業界の構造を変えてしまおうとしている。本場サンフランシスコでは大手タクシー会社が破産申請まで追い込まれたというニュースもあった。

彼らIT企業が起こすのは「ディスラプト(破壊)」という言葉で表されるように、かつての大きな市場を、テクノロジーの力で破壊してしまうことである。そうなった時、旧来からそのマーケットにいる企業が対抗するためには、その事業会社自身もIT企業になっていくしかない。

これまでの発想は、もしかするとITの利活用といった視点だったかもしれないが、これからはITそのものは前提として、事業活動の根幹にソフトウェアを置いて経営をしていくことが求められる。そうでなければ、ITを前提に最適化された組織を作っている新興企業には勝てないからだ。

ディスラプトしようとする側の企業にとっても、IT企業になろうとする事業会社にとっても、必要なのは、手を動かしてソフトウェアを作ることのできる人材だ。もちろん、手を動かすだけの人材ではなく、事業戦略を理解して、テクノロジーでアイデア実現の手段を考えられる人材が求められる。それでも、プログラミングができなければ、リアリティのある発想を出すことはできない。

究極的には、それなりの将来のビジネスは、すべてがITを前提にしたものになり、それを起こすことができるのはソフトウェア開発、プログラミングができる人材になるのではないか、と考えている。将来の起業家にとっての必須スキルの一つがプログラミングとなるのかもしれない。(が、まだ少し先の話だ)

これからの時代に求められるプログラマ人材とは

この4つの環境の変化は、私が感じたことをまとめただけであって、特に数字の根拠がある訳ではない。おそらく、これ以外にも要因や背景はあるのだろうけれど、今、求められている人材が、手を動かすことのできるプログラマである、ということは事実としてあると思う。

いわゆるシステムインテグレータで働いているシステムエンジニアは、ここで書いたような人材のイメージとは合わない。大規模プロジェクトのマネジメントスキルも、たくさんの人を手配して調整するスキルも、ここに書いたマーケットではそれほど重宝されることはない。もし重宝されるとしても、ほんの一握りだろう。

ソフトウェア開発は、人海戦術では良いものができないのだ。そんなことは、プログラミングをしている私たちからすると、はるか昔からの常識だと思っていたが、ここで述べた4つの環境の変化によって、市場価値やニーズとして現れて、よりシビアに明らかになってきたように思う。

求められているのは、言われたことしかできないプログラマではなく、自ら問題解決の提案ができるプログラマだ。それが優れたプログラマということだ。ただし、そう簡単に優れたプログラマを雇うことなど難しい。エンジニアではない人からすると、前述の両者のプログラマの違いを見分けることなど、非常に困難なはずだ。よしんば採用できたとして、評価や待遇で悩むことになるだろう。

だから、私たちのやっている「納品のない受託開発」といったサービスを注目して頂けるのだと考えている。エンジニアの目利きを行い、念入りに育成をしたのちに、お客様の「顧問プログラマ」としてサービスを提供している。お客様にとっては、優秀なプログラマを採用したのと変わらない成果を得ることができる。

ともあれ、手を動かせるプログラマたちが求められ、活躍できる場所が増えたことは喜ばしい。一方で、求められるハードルは高くなっている。手を動かせるだけでは活躍することが出来ない。生き残りたければ、そのプログラミングのスキルで何をするのか、考えていく必要があるだろう。