誰もいない大陸でアプリを作ってはいけない
最近、Claudeを使いながらプログラムを作っていて、一つ強く感じたことがある。
プログラムを作る前に、市場がどこにあるのかを見なければならない。
私はもともとJavaFXを使ってデスクトップアプリを作っていた。
JavaFXが悪いわけではない。業務用のアプリを作るには十分使えるし、実際にそれでいくつもの仕組みを作ることができた。
しかし、ある時からSpring Bootを使ってWebアプリへ移行した。
この変化は、単に「使う技術が変わった」という話ではなかった。
自分がアプリを届けられる世界そのものが変わった。
スマホの上には巨大な大陸がある
安宅和人氏は、スマートフォンの上には「目には見えない世界最大の大陸がある」という趣旨のことを語っている。
この言葉を、私は最近になって実感するようになった。
電車に乗れば、ほとんどの人がスマホを見ている。
高齢者もスマホを持つ。飲食店を探すのも、地図を見るのも、予約するのも、買い物するのも、連絡するのもスマホだ。
つまり、そこにはすでに巨大な人口が存在している。
スマホは単なる端末ではない。
人が住んでいる場所であり、市場そのものなのだ。
そう考えると、アプリを作る時の考え方も変わる。
「自分は何の言語を使えるのか」
から考えるのではない。
まず、
「人はどこにいるのか」
を見る必要がある。
JavaFXからWebへ移って気づいたこと
JavaFXで作っていた頃は、基本的にPCで使うことを前提としていた。
利用するPCを用意し、アプリを動かせる環境を作り、必要ならインストールする。
ところがWebアプリにすると状況が一変した。
URLを開けばいい。
PCでもいい。
タブレットでもいい。
そして何よりスマホで使える。
私はSpring Bootへ移行してから、開発の主戦場そのものがスマホへ移っていく感覚を持つようになった。
そこで初めて、
もし、あのままデスクトップアプリだけを作り続けていたらどうなっていただろう。
と考えた。
少し恐ろしくなった。
一生懸命アプリを作っていたかもしれない。
機能を増やし、コードを改善し、完成度を上げていたかもしれない。
しかし、その間にも人々は別の大陸へ移動している。
自分だけが古い大陸に残って都市を作り続けていた可能性がある。
怖いのは技術的負債だけではない
プログラミングでは「技術的負債」という言葉がよく使われる。
しかし、それ以上に怖いものがあるのではないかと思う。
私はこれを、
「市場的負債」
と考えている。
ある技術を長く使えば使うほど、その技術に愛着が生まれる。
せっかく覚えたのだから使いたい。
この言語なら早く作れる。
今までの資産も使える。
どれも合理的に聞こえる。
しかし、その理由だけで技術を選んでいると、
「自分が使える技術の中で何を作るか」
を考えるようになる。
本来は逆なのではないか。
市場に人がいる。
↓
そこに課題がある。
↓
その課題を解決する方法を考える。
↓
最後に技術を選ぶ。
技術は目的ではなく、市場へ渡るための船でしかない。
AIによって「得意な言語」の意味も変わる
そしてClaudeのようなAIを使っていると、もう一つ大きな変化を感じる。
以前なら、新しい言語やフレームワークへ移ることには大きなコストがあった。
何冊も本を読み、何か月も勉強し、ようやく実用的なものを作れるようになる。
だから、
「自分はJavaができるからJavaで作る」
という判断には合理性があった。
しかしAIによって、この前提が崩れ始めている。
知らない技術でも質問できる。
コードを書かせられる。
エラーを解析させられる。
既存コードを別の構成へ移す手助けもしてもらえる。
もちろん基礎知識は必要だ。
それでも、技術を乗り換えるコストは以前とは比較にならないほど小さくなった。
そうなると技術者に必要な能力も変わってくる。
「一つの言語を知っていること」より、「必要な場所へ移動できること」の価値が高くなる。
まず市場を見る
これから何かを作る時、私は最初に技術を考えないようにしたい。
Javaで作れるか。
Pythonがいいか。
どのフレームワークを使うか。
それより前に見るものがある。
人はどこにいるのか。
そこで何に困っているのか。
どの端末を使っているのか。
どうすれば最も簡単に使ってもらえるのか。
そこまで見てから技術を決めればいい。
市場がスマホなら、スマホへ行く。
Webが最適なら、Webへ行く。
別の技術が必要なら、その技術を覚える。
AIによって技術の壁が低くなった今、むしろ重要になるのは「何を作れるか」ではなく、「どこで作るべきかを見抜くこと」なのだと思う。
プログラムを書くこと自体には、大きな価値はない。
使う人がいて、初めて価値になる。
だから、新しいサービスを作る時には一度、自分に問いかけた方がいい。
自分はいま、人がいる大陸で作っているだろうか。
誰もいない土地に立派な都市を作っても、人はやってこない。
技術を選んでから市場を探すのではない。
市場を見てから、そこへ渡るための技術を選ぶ。
今回JavaFXからWebへ移ったことで、私はその当たり前のことをようやく実感した。