コードという「超几帳面な」言語を学んでいます:主語の省略禁止!
「空気を読む」ことのないこの世界で、非専攻の戦略家が論理一つでシステムを設計する方法。
記憶の片隅のHTMLと、Pythonとの再会
私とコードの最初の出会いは、かなり昔に遡ります。小学生の頃、放課後のコンピュータ教室で初めて触れたHTMLがその始まりでした。当時は、それが世界を変える強力なツールになるとは夢にも思いませんでした。ただ画面に文字を表示させたり、色を変えたりする不思議な遊びとして、記憶の片隅に埋もれていました。
それから長い年月が経ち、スタートアップに参画する直前、再び「Python」という言語に触れる機会がありました。戦略コンサルタントとしてExcelの膨大な関数や数式を扱うことに慣れていた私にとって、Pythonはどこか見知らぬようでいて、不思議と親しみのある存在でした。Excelの数式のように論理的な構造を持っていたため、コードが「宇宙人の言葉」のように感じられることはありませんでした。むしろ「あぁ、これも結局は一つの精巧な数式なのだな」と淡々と受け止めたのを覚えています。
しかし、本格的な学びの過程である起業家ブートキャンプやAIブートキャンプを経て、私はコードが単なる「数式」以上の存在であることを悟りました。それは、人間の言語とは全く異なるルールを持つ、「省略が許されない具体性の言語」だったのです。
Excelは内装だが、コードは基礎工事だ
戦略家としてExcelを扱っていた頃、私はすでに建てられている家の中で壁紙を選んだり家具を配置したりする「インテリアデザイナー」に近い存在でした。Excelはユーザーが使いやすいUIを提供してくれ、すべての道具や材料がお膳立てされています。私の仕事は、用意された材料を組み合わせて望む結果を導き出すことでした。結果がセルごとに即座に見えるため、試行錯誤も直感的でした。
しかし、コーディングは違いました。コーディングは内装ではなく、荒野に設計図を描き、土を掘り返す「基礎工事」から始める家づくりでした。Excelのようにすべての環境が整っているわけではなく、どんな材料を使うか、荷重にどう耐えるか、配管をどこに通すかまで、すべて自分で決めなければなりませんでした。
むやみにコードを書き進めても、途中で構造を修正するのは不可能に近いという事実にも気づきました。家の柱を間違えて立てれば、内装をいくら華やかにしても結局は崩れてしまうように、コードもまた初期設計と基礎工事が頑丈でなければ、後で取り返しのつかない「技術負債」として跳ね返ってきます。黒い画面の上にテキストだけが並ぶその孤独な作業は、華やかなUIの裏側に隠された本質的な構造を作る、崇高なプロセスでした。
文脈の言語 vs 具体性の言語
人間の会話は「文脈(コンテキスト)」の芸術です。私たちが「ちょっと行ってくる」と言えば、相手はあえて聞き返さなくても、私がドアの外に出てどこかへ用足しに行くのだと理解してくれます。主語や目的語を省略しても会話が成立するのは、私たちが共通の文脈を共有しているからです。
しかし、コードは省略を許しません。「行ってこい」という命令を下すためには、誰が(Who)、どこへ(Where)、どのように(How)、どんな目的で(Why)行くのかを、余すことなく具体化しなければなりません。ごく些細な省略一つが、システム全体の「エラー」を引き起こします。
このようなコードの特性は、私の思考プロセスをより精緻なものへと磨き上げてくれました。戦略家として論理的な仮説を立てることと、開発者としてその仮説を寸分の狂いもないコードで実装することは、また別次元の精密さを要求しました。単純なことでもすべてを明確に定義しなければならないコードの正直さは、1人ビルダーとしてサービスを構築する際、最も信頼できる基準となりました。
起業家と建築家:道具を超えた問題解決能力
起業家ブートキャンプで、私は「MVP(実用最小限の製品)」を素早くリリースし、ユーザーの本音を読み取る方法を学びました。成功した起業家や投資家からの鋭いフィードバックを受け、方向性を転換(ピボット)する柔軟性を身につけました。一方で、AIブートキャンプでは技術を道具として活用し、問題を解決する根本的な能力を養いました。
ここで私は、重要な繋がりを発見しました。戦略コンサルタントの思考法と開発者の思考法は、本質的に地続きであるという事実です。家を建てる道具や材料が同じでも、建築家がどんな思想を込めるかによって、出来上がるものは千差万別になります。コードも同じです。PythonであれJavaScriptであれ、それは道具に過ぎません。真の差を生むのは、その道具を使って「どんな問題を、どんな観点で解決するか」という建築家的な哲学です。
戦略家として培ってきた洞察力は、単に機能を実装するだけでなく、サービスの目的やユーザー価値を常に中心に据えさせてくれます。「技術のための技術」ではなく、「問題を解決するための技術」。それが私のコードに対する姿勢です。
結論:自分だけの言語で世界を設計する
私は今でもPythonが最も得意ですし、Webリリースのために慣れないフロントエンド言語と格闘しながら一日を過ごしています。時にはExcelのように結果がすぐに見えず、もどかしく感じることもありますし、省略できないコードの具体性に頭を抱えることもあります。
しかし、私はこのプロセスを楽しんでいます。コードは私に、世界を観察し再定義するための「新しい言語」をプレゼントしてくれたからです。非エンジニア出身として一つずつ技術を習得していく過程は、歩みは遅くとも着実です。純粋なHTMLで土台を固め、11tyで効率を追求し、今はReactやバックエンドの深化へと向かう私の旅路は、自分だけの哲学が込められた堅牢な家を建てていくプロセスそのものです。
戦略家の目で世界を分析し、開発者の手でその代替案を自ら築く。コードという新しい言語は、私を単なる分析家から、世界を直接設計し構築する「ビルダー」へと進化させてくれました。証明されない成長に不安を感じることもありますが、私が一行ずつ書き進めるこの具体的な言葉たちが、いつか世界に類を見ない素晴らしい建築物として完成することを信じています。
* Ko-fiを通じたご支援は、メニュー、プロフィール、または下部のリンクからご参加いただけます。