directory-256247_1280

今、プログラミングの仕事をしている人たちにとって、技術の変遷の激しいこのIT業界の中にいて、あと10年後20年後の近い未来において、どういった仕事が残されているのか、自分は生き残っていけるのか、気になる人は多いと思います。

この記事では、私の考えているソフトウェア開発のエンジニア、とりわけプログラマが生き残っていくために残された4つの将来像の可能性について考えてみました。

未来に残されるのは2種類の仕事

プログラマの未来を考える前提として、これからの日本の社会が局面する現状を考えてみると、人口減少・高齢化というのは避けて通れない現象です。人口の1/3以上は60歳以上になることは数字から見えている現実なのです。

そうした中で、どういった職業が生き残っていけるのか考えてみましょう。まず大量生産や頭数で勝負するような産業は、経済成長および人口増加を続けている新興国では成立しても、人口減少していく国で同じことは出来ません。また、65歳で定年する人を残りの人が支えていくのは社会構造として難しいため、高齢者になっても働けるような仕事が求められてくるのではないでしょうか。

そこで、頭数や体力で勝負するのではなく、少人数でも培った経験で価値を出すことのできる産業と職業を考えたときに、2つの種類の仕事が思い浮かびます。一つは、ゼロからイチを作り出すことのできるクリエイティブな仕事。もう一つは、誰かの難しい問題を解決するコンサルティングの仕事です。

クリエイティブな仕事に頭数は要りません。これまでの世界に存在しなかったものを作り出すのに必要なのは個人の力です。同じことをする人が沢山いても、誰かの指示通りに動く人が沢山いても、新しい価値は生み出すことはできません。

そして、コンサルティングの仕事も、沢山の人がいるからといって難しい問題が解決する訳ではなく、求められるのは経験をもった個人です。例えば、難しい手術があったとき、沢山の医者を集めたところで成功するとは限らないのです。

クリエイティブな仕事か、コンサルティングの仕事か。いずれかの仕事であれば、これから先にロボットやコンピュータがどれだけ進化し、新興国が若く安い労働力を提供したとしても、残っていくように思います。

プログラマの仕事は生き残れるのか

もしも、ここで言うプログラマの仕事が設計書や仕様書に記された通りにただコーディングするだけの仕事であれば、生き残ることは出来ないでしょう。20年もかからずに絶滅することになるでしょうね。

プログラミングは単純作業であるためコモディティ化して安い労働力に流れていってしまうから、と予想する人もいるでしょうが、私の考えは少し違います。プログラミングはそもそも単純作業ではない、と考えているからです。

プログラミングの仕事はマニュアル通りに働けば成果の出るようなものではありません。毎日同じことを繰り返している訳でもありません。たとえプログラミングという行為を繰り返すとしても、その中身は都度違っており、まったく同じプログラムを書くことはありません。

プログラミングとは、マニュアルワークでもルーチンワークでもなく、再現性のない仕事をしているのです。再現性のない仕事とは、それぞれの置かれた状況や作ろうとしているソフトウェアも、解決しようとしている課題も、常にユニークであるということです。

プログラミングの経験者なら知っていることですが、プログラムを作るという行為そのものが設計作業であり、それは頭数では解決しない難しい仕事なのです。ドキュメント通りにプログラムをつくるだけ、という行為なんてものは存在しないのです。書かれた通りに動くのは、最初からコンピュータの役割なのです。

余談ですが、プログラマの仕事を単純作業だと考えている根っこにあるのは、はるか昔に紙に書かれたプログラムをコンピュータに打ち込むだけの人がいたらしく、その名残りだとしたらなんとも馬鹿な話です。その紙にプログラムを書いた人こそがプログラマであり、それはその時代から単純作業ではなかった筈です。打ち込むだけの人はとっくに絶滅しています。

そう考えると、プログラマの本来の仕事は、クリエイティブでありコンサルティングでもある要素をもったものなのです。その前提で、これからのプログラマが選ぶことのできる道が4つあると考えています。それぞれ見ていきましょう。

future_

スタートアップでのプログラミング

1つは、ITを使ったビジネスを起こす起業家やCTOとして生きる道です。自らプログラミングをして、ウェブやアプリのサービスを創りあげて、それをもってビジネスをしていくスタートアップと呼ばれる人たちです。

その目指す目的は、社会を変えることでも、ビリオネアを目指すことでも良いでしょう。自らリスクを負って、新しいビジネスを創造していく生き方です。

これは、クリエイティブなプログラマが選ぶ選択肢の中でハイリスクな生き方になります。よほどの情熱やビジョンがなければ続けられないし、続けなければ成功はありえず、続けたところで成功するとも限らない世界です。

例えば、Facebookを創ったマーク・ザッカーバーグはこの領域で今最も名前の通った起業家でしょう。彼もプログラマであり、自らがプログラミングしたFacebookを世の中に広めていって、ビジネスにしてしまいました。

米国のスタートアップには、創業者自身がプログラマであるケースが多くあります。マイクロソフトを創業したビルゲイツもプログラマでした。創業者自らがプログラミングして成功を手繰り寄せる努力ができるので、プログラマ自身が創業するのは悪くない選択肢だと思います。

しかし、世の中のすべてのプログラマが起業を目指す訳ではありませんし、誰もが生き残ってやっていけるほど甘い世界でもありません。

趣味で続けるプログラミング

クリエイティブなプログラマのもう一つの道は、趣味で続けることです。職業プログラマのようにお金を得るためではなく、自分が本当に作りたいものを、作りたいように作っていくという道です。

オープンソースに貢献していくのも一つのあり方でしょうし、iPhoneやAndroidのアプリマーケットでアプリを出していくというのも一つのあり方です。

少なくとも本業としては別の仕事で生活の糧を得ながら、金銭的な報酬とは違うモチベーションで続けていく生き方です。スタートアップに比べて圧倒的にローリスクですが、続けていくには同様に情熱が必要でしょう。

しかし、事業にしないことで投資を受ける必要もなく、その上で情熱を保ち続けて活動を続けることができれば、それはいずれ大きなイノベーションを生み出すことになる可能性がある生き方でもあります。

例えば、プログラミング言語の「Ruby」を生み出した まつもとゆきひろ さんは、Rubyの開発は「趣味だから」と話されています。趣味だからこそ自由に続けられて、大きな夢を実現することができたのでしょう。

Rubyの開発を20年以上続けることができた理由は「趣味だから」だ。「釣りを20年続ける人は珍しくないが、それと同じ。言語は『一生もの』の趣味」だと言うのだ。(Ruby言語開発者 まつもとゆきひろが語るソフトウェア開発者に伝えたいこと

本当に、自分が作り出したいものがあるならば、最初からハイリスクな道を選ぶのではなく、趣味から始めてみるのも悪い選択肢ではないと思います。

フリーランスでのプログラミング

職業プログラマとして、自分自身が作り上げたいものを作るのではなく、求められるソフトウェアを作る生き方もあります。たとえば、フリーランスのプログラマとして生きる道です。

独立してプログラミングの腕を磨き、自分の腕一本で生きて行くのは、それほど簡単なことではありません。自分で営業活動もしなければならないし、言われた通りの作業をするだけでは、本当のフリーランスとは言えません。

フリーランスの中にも、しっかりと独立できている人と、そうとは言い難い人がいます。個人事業主として登録しているだけで、実際は派遣で仕事をしていたり、客先常駐でフルタイムで拘束されるようでは、ただの立場の弱い労働者に過ぎません。

独立して生きていくためには、差別化しなければ置き換えられてしまいます。誰にでもできるものではない仕事とは問題解決をすることです。言われた通りに作るのではなく提案ができてこそ、個人として頼られるようになります。

フリーランスとして独立してやっていくのも、起業家ほどではないにせよリスクのある選択になります。雇用関係ではなく、顧客との取引になるので、いつ仕事がなくなるか、保証などありません。自分の身は自分で守るしかないのです。

なにより、ずっと一人でやっていくとしたら、純粋に技術の腕を磨き、顧客と向き合っていくだけでは済まなくなります。

一生の仕事としてのプログラミング

誰しもが、リスクを負って起業してスタートアップを始めたり、独立してフリーランスでやっていこうと考える訳ではありません。腕を試したいと思いつつも、家族のことを思うとそこまでのリスクを負うことなど出来ないと考える人も沢山います。

むしろそういった選択をする人たちが最も多いはずで、そのことは何も非難されるような生き方ではありません。仕事も大事だけど、それよりも家族と自分の人生を大事にすることは、至極当たり前なことだと思います。

なおかつ、安定した職業としてプログラミングの仕事をしたいならば、受託開発をする企業で働くということは選択肢のひとつになるでしょう。

しかし、これまでのソフトウェア開発のビジネスモデルでは、プログラミングをする人間が直接に顧客と話をして問題解決までするという仕事は存在していませんでした。

家族を大事にするために金融的なリスクを負わず、それでもプログラミングに真摯に向き合えて、お客様からも喜んでもらえるようなやりがいのある仕事、それを一生続けていけるような、そんな「普通の仕事」があっても良いとは思いませんか。

それが右下の領域です。ビジネスモデルを持ったチームに所属することでリスクを下げて、お客様のコンサルタントとして問題解決をする仕事、「顧問プログラマ」という道です。

future_

「顧問プログラマ」という生きかた

私たちが取り組んでいる「納品のない受託開発」の本質は、ただシステム開発をして納品をしない、ということではなく、お客様の顧問として相談に乗りつつも、その相談に乗る担当者自身がプログラミングまでしてしまうというところにあります。

だから、ある側面ではお客様にとってのコンサルタントでなければならないのです。手を動かすコンサルタントでもあり、問題解決ができるプログラマでもあるのです。

私たちの取り組むこの職業を「コンサルティングプログラマ」や「顧問プログラマ」と呼んでいます。

「プログラマを一生の仕事にする」というビジョンを持つ私たちにとって、どういった価値を提供すれば、この先もずっとやっていくことができるのか考えた結果です。問題解決をする仕事であれば、時代が変わっても生き残っていけます。

プログラミングの腕で問題解決を提供する「顧問プログラマ」という仕事は、ローリスクな「普通の職業」としてのプログラミングと「未来に残る仕事」としてのプログラミングを両立させています。

「顧問プログラマ」という働きかたを広げていくことで、家族と自分の人生を大事にしながらも、一生をかけてプログラミングに向き合っていきたいと考えている人たちの働ける場所を作っていきたいと考えています。