最近、久しぶりに自分でサービスのプログラムを書いてみて、時代の進歩とともにあまりにもプログラミングが簡単になっていることに感動した。
筆者個人としては、コンシューマ向けサービスを自分で書くのはおそらく10年ぶりである。
ただ、この10年であまりにもものごとが簡単になっていた。
この記事を読んでいただきたい読者対象は、プログラミングの専門家ではないので詳細は省くが、昔なら100必要だったところを1書けば良くなったし、昔なら、知恵を使わなければならないところを全てクラウドがやってくれるようになった。
最近は「ノーコード」や「ローコード」というものも増えてきて、色々な人が「うちはノーコードです」とか「うちはローコードです」とか言うようになった。
それまで、フィジビリティスタディをするにはアプリ開発の会社に開発を依頼して、それからなんどかのテストを繰り返して実際にサービスに耐えるものになるか、ビジネスとして立ち上がりそうかを見ていたが、今は専門の教育を受けた人を雇わなくても、自社の社員にアプリの作り方を覚えてもらった方が早い。
欧米では随分前から、ユーザー企業が直接システムなりアプリなりを開発するということが常態化していて、さまざまな業界のさまざまな業種の会社が優秀なソフトウェアエンジニアに高い給料を払っているそうだ。
日本の大手企業にとってはなぜかソフトウェア開発をする会社は子会社か関連会社で、要は会社の本流とは別とされた。
30年前は、プログラミングそのものが難しかった。コンピュータは高価で、一部の人だけが使うもので、学校やオフィスに一台、ネットにさえつながらないコンピュータがあればマシな方だった。
20年前は、プログラミングがそれ以前に比べて劇的に簡単になった。Webのおかげである。
個別のマシンの特性を考慮しなくともWebサービスさえ書けばおよそどんなマシンでもサービスが提供できた。
ただしこの時問題になったのは、Webサービスがあまりにも簡単に書ける代償として、セキュリティリスクが生まれたり、サービスがヒットするとすぐにサーバーがダウンしたりすることだった。
最初期のTwitterは、たかが日本で「天空の城ラピュタ」が流れるたびに落ちていたし、スティーブ・ジョブズが一言言うだけで機能不全に陥っていた。
この頃、ソフトウェア屋にとって最も重要な「技術」とは、「セキュリティと負荷分散」だった。
10年前は、セキュリティを強化した結果、ややこしいことをしなければならなくなってWeb開発が一時的にとても面倒なものになった。
マストドンが廃れた理由をいくつか説明しようとする人がいるが、僕は個別のインスタンスにSSL証明書が必須だったからというのと、インスタンスに人気が出るとすぐにハードディスクがいっぱいになってしまうからだったと思う。
要は、インスタンスを運営する人の手間もお金も半端なくかかってしまうので、面倒だからやめてしまった人が多いと思うのだ。
マストドンに大量のインスタンスがうまれ、大量になくなっていったのは、まさしく無料で使えるSSL証明書のLet's Encryptの最初の証明書の期限切れをする頃だった。
そもそもどれでもこれでもSSL証明書がないと「怪しいサイト」と認定してしまうブラウザのせいでもある。
そして最近は、サーバーレス技術によって負荷分散とセキュリティの難易度が爆下がりした。原則としてサーバーレスを使えばセキュリティに対するケアも、負荷分散に対する心構えも不要で、プログラミングスキルとは、バズった時に無駄なサーバーレス費用を払わずに済むことを意味する。
そこにノーコード/ローコードである。
先日知り合った若い起業家二人は、完全に文系ながらなんとかプログラミングをせずにアプリを提供したいと考えてノーコード環境を勉強し、どうしてもノーコードだけでは済まなそうなので最低限のローコード環境に移行して実際にサービスを提供し、資金調達にも成功したという。
彼らはプログラミングに対していい意味でプライドがない。
自分達の提供価値はプログラミングスキルではないことを知っているからだ。
ただ、彼らが提供しているアプリを見ると、それがローコード環境で書かれていることに僕は気づかなかった。
それくらい、ローコード環境もよくできているし、そうしたローコード環境のバックエンドは、GoogleやAWSなどのサーバーレス環境になっている。
昔だったら、それを解決するためには専門家をやとってサーバーも増強して、最低でも一千万円程度の出費は覚悟しなければならなかったところが、今はバズった時の心配だけすればいいようになった。仮に100万人来ても、数十万の出費で耐えられる。
起業したいという人に会うと、「プログラマー(エンジニア)を探している」と相談を受けることが多い。
「なぜ自分がプログラマーになろうと思わないのか」と聞くと、「専門家に任せた方がいい」という答えが返ってくる。
では、君は経営の専門家なのか。経営だって専門家に任せた方がいいとは、なぜ思えないのか。
会社の95%は10年以内に倒産または休眠すると言われている。
筆者も経営者として、プログラマーとして、四半世紀にわたって会社というものをさまざまな立場から見てきた。
すると会社を傾かせる経営者にははっきりとした傾向があって、それを一言でいえば「不注意で不勉強」なのである。
会社経営なんていうリスクしかないことは、そもそも人並みの注意深さがあればあえて選択することはしない。
それでも自ら経営に乗り出すときというのは、よほど盤石なプランがある(たとえば両親が資産家で、生まれつき一生かけても使いきれないくらいの現金を持っているとか)場合を除いては、会社を作る行為そのものが甘い見通しや不注意、勘違いなどによって引き起こされる現象であると言える。
なので「不注意であること」は、すべての創業経営者に共通する特徴かもしれない。だから違いがあるとすれば「不勉強」のほうだろう。
そしてここでいう「不勉強」とは、「勉強するよりも先に体力で解決しようとする」姿勢を指す。本人が過去に何を勉強してきたかではなく、その時点で勉強する時間よりも営業する時間を優先してしまいがちという姿勢だ。
たとえば零細企業の経営者の頭の中にあるのは常に資金繰りの心配だ。
バーンレートはこうで、デットがこうで、エクイティがこうなって・・・ということで脳の思考の半分くらいが支配されている。
でも、本当に考えるべきは、「今、自分の行動は利益を産んでいるか」ということで、利益を産まない行動はそもそもするべきでないのである。
「その行動が利益を生むか」という判断をする際に、プログラミングができるかどうかはともかくとして、アプリを作れるかどうか(この二つはノーコード/ローコードの出現によって区別できるようになった)は、明らかに「利益を生む」スキルである。
もしも自分でアプリを書くことができれば、プログラマー(彼らはエンジニアと呼ぶことが多い)を雇うお金を節約できる。
昔から言っているが、そもそもプログラムを書けない経営者にプログラマーの能力の評価はできない。
人伝てにプログラマーの能力を聞いたり、経歴から能力を判断するというのは、出身大学だけで相手の能力の全てを推し量るくらい馬鹿げている。もしもそれが正しいのならば、入社試験など必要ない。書類審査だけでいいことになってしまう。
スタートアップにとって、プログラマーにかかる費用が最も高い。
社長(自分)はタダで働けるし、営業は歩合制で働いてもらえる上に最近は営業のアウトソーシングはいくらでもある。
昔は家賃も高かったが、今どきのスタートアップが高い家賃を払うところから始めるとしたら、これも全く馬鹿げている。そもそもリモートが当たり前の世界に突入していて、こんなに経営コストを節約する方法は過去に例がない。オフィスがあれば信用が得られると言われるような時代でもない。
スタートアップくらい資金基盤が脆弱な場合、オフィスにかける費用は最低限にするべきだ。払わなければ払わないほどいい。
今時、アプリと全く無縁な商売というのは考えにくいので、プログラマーだけはなんとかしなければならないが、優秀な人は独立しているか、手の届かないくらい高い給料でビッグテックに囲われている。相対的にプログラマーには高額なストックオプションや高給を補償しなければならなず、デットだろうがエクイティだろうが、調達した資金の大半はプログラマーを雇う費用に消える。
会社のなかで一番コストがかかる部分に対して、それほど不勉強でいいのだろうか。
せめて彼らがやっている仕事が「どの程度までは自分でもできて」「どの程度からは手に負えない」のか、知っておくべきではないか。
そう言う自分もローコードに関してはまだまだ不勉強なので、若い起業家に倣って勉強中である。
しかし少し触っただけでも「え、これでたいていのアプリは作れちゃうじゃん」という感触がある。
おそらく、これは不注意から来る現象で、実際にやってみるといろんな罠が待ち受けてると思うのだが、このくらいの不注意さがなければそもそも起業など選択しない。
昔、Twitterが立ち上がった時、内部でRuby On Railsを使っているという話があって、「大量のアクセスがくるサービスを作るにしては、ずいぶん大胆だなあ」と感じた。当時はRubyの実行速度については他の手段より不利と考えられていたからだ。
でも、マーク・ザッカーバーグだってジャック・ドーシーだって、ずっと自社のサービスのコードを書いていたわけではない。最初の数ステップまで、自分でやっただけだ。ビル・ゲイツもジェフ・ベゾスも例外ではない。
でも今はマークやビルがプログラミングをやっていたときと比べると、比較にならないほどプログラミングが簡単になっている。
筆者が企画運営に関わる「全国小中学生プログラミング大会」は今年で7回目を迎え、今年から「全国高等学校プログラミング大会」も開始された。
この大会では「表現としてのプログラミング」を競うことを目的とし、過去の総合優勝が小学校から出たこともある。
逆に言えば、今時のアプリというのは小学生でも作れるのだ。
いまやアプリを作るのに特別な才能は必要ない。
起業家として成功する確率・・・というよりも、生存する確率は通常5%以下だが、アプリ開発ができるようになるまでの確率はもう少し高いはずだ。起業家の世界には厳然とした競争があり、どんな場合でも競合相手と比べられるゼロサムゲームを戦わなければならないが、アプリ開発を覚えるだけなら、障害は自分の頭の出来だけである。
どんな投資家も、自分の頭の出来に自信が持てないような起業家には投資しないから、自分の頭が十人並みであると証明するには、アプリを書いて見せるのがもっとも近道かもしれない。それは実に簡単なプレゼンテーションだし、文系バリバリ、体育会系バリバリの人が一念発起してアプリを書いてみましたというストーリーの方が、(個人的には残念だが)子供の頃からクラスの隅っこでノートにブロックダイアグラムを書いていた人が起業するよりもいくぶん魅力的に見える気がする。
あんまり起業家が技術に執着しすぎていると、それはそれで「この会社の伸び代は社長の個人的なスキルの限界次第ではないか」と思えてくるからだ。実際、そんな会社はゴマンとある。
おすすめ記事と編集部のお知らせをお送りします。(毎週月曜日配信)
登録はこちら新潟県長岡市生まれ。1990年代よりプログラマーとしてゲーム業界、モバイル業界などで数社の立ち上げに関わる。現在も現役のプログラマーとして日夜AI開発に情熱を捧げている。