AI時代のプログラミング学習法|言語選択より「何を作るか」から始める個人開発ロードマップ – Learning Roadmap

AI時代のLearning Roadmap テクノロジー

AIによって変わったソフトウェア開発の学び方

ここ数か月、AIを活用しながら個人開発を続ける中で、プログラミング学習に対する考え方が大きく変わりました。
きっかけはChatGPTとの出会いでした。単なる質問回答ツールとしてではなく、設計相談、技術調査、アイデア整理を一緒に行うパートナーとして活用するようになり、個人でソフトウェアを作る環境そのものが変化しました。以前のソフトウェア開発では、一つのプログラミング言語や技術領域を深く習得することが重要だったのです。例えば、C言語/C++/Java/Database/OSなどなど、それぞれの技術を深く理解し、その専門性によって問題を解決する時代でした。

もちろん現在でも基礎技術の理解は重要です。しかしAI時代になり、開発者に求められる能力は少し変化しています。
重要なのは、「どの言語を極めるか」ではなく、「何を作りたいのか」「そのためにどの技術を選択するのか」という視点です。
実際に私自身、最初はPythonから個人開発を始めました。しかし、作りたいものが増えていくにつれて、自然にReact、TypeScript、WordPress Block開発、AI、API、そしてMacアプリ開発へと学習領域が広がっていきました。

そこで、現在のAI時代における個人開発者のLearning Roadmapについて、自分自身の経験をもとに整理してみたいと思います。

技術スタックの常識が変わった瞬間

今回、Learning Roadmapを考える中で、特に大きな驚きがありました。
私たちの世代のエンジニアにとって、GUIアプリケーション開発と言えば、基本的にはOS固有の技術でした

  • Windows: C++, Win32 API, MFC
  • Mac: Objective-C, Cocoa, Swift

というように、それぞれのプラットフォームに合わせた技術を習得する必要がありました。

え、VS CodeもWeb技術でつくられてるの???

ところが現在では、Web技術を中心にDesktopやMobileまで展開できる時代になっています。

例えば、普段利用しているVisual Studio Code。
昔の感覚なら、巨大なIDEなのでC++などのネイティブ技術で作られていると思っていましたが、なんと!実際にはElectronというWeb技術の中から生まれた仕組みをベースとして開発されており、この技術がDesktopアプリケーションの基盤になっています。つまり、Web技術 → Desktop Applicationという流れが普通になっています。またSlackやDockerなど有名な高機能アプリもWeb技術の基盤の上に開発されているようです。これは本当に驚きましたw

さらにReact Nativeを利用すれば、Web技術 → Mobile Applicationという展開も可能なんです!
これは私のような年寄りの開発者から見ると非常に大きな変化ですし、隔世の感さえありますねw

以前は、Windowsアプリ開発者/Macアプリ開発者/Mobileアプリ開発者は、それぞれ別の専門領域でした。
しかし現在では、共通する技術思想を持ちながら複数のプラットフォームへ展開できます。
この変化を理解した時、「なぜReactやTypeScriptがLearning Roadmapに入るのか」が明確になりました。

JavaScriptという予想外の成長

Webのための言語から、ソフトウェア開発基盤へ

この流れを見ると、JavaScriptを早い時期から学んでいた人は、結果的に大きな恩恵を受けたと言えるかもしれません。
もちろん当時、JavaScriptがここまで広がると予想していた人は多くありませんでしたが、昔のJavaScriptは、ブラウザー上で簡単な動きを追加するためのスクリプトという印象であったのは間違いありません。

しかし、その後、

  1. JavaScript
  2. Node.js
  3. React
  4. Electron
  5. React Native
  6. AI Application

という形で大きく発展しました。
現在では、Webだけではなく、Desktop、Mobile、そしてAIアプリケーション開発にも関係する重要な技術基盤になっています。

ここで重要なのは、JavaScriptという言語そのものが特別だったということではなく、Web技術そのものが、現代のソフトウェア開発の中心的な基盤へ成長したことです。

JavaScript 第7版 | オライリー・ジャパン

Amazon

JavaScript 第7版 | オライリー・ジャパン

JavaScriptは最も多くのソフトウェア開発者に使用されているプログラミング言語です

Amazonで見る

Code DrivenからData Drivenへ

JSONが象徴するソフトウェア設計の変化

Web技術の発展によってDesktopやMobileまで同じ技術思想で開発できるようになったことは、単なる開発効率の向上だけではありません。ソフトウェアの設計思想そのものも、大きく変化しています。
昔のソフトウェア開発では、基本的にはCode Drivenでした。画面表示、処理内容、データ操作などをプログラムコードとして一つずつ記述していく考え方です。もちろん現在でもコードを書くことは重要ですが、最近のアプリケーション開発では、データ構造を定義し、そのデータを汎用的な仕組みで表示・処理するというData Drivenな考え方が中心になっています。

その象徴的な存在がJSONです。

例えば、商品情報を表示するアプリケーションを考えた場合、昔なら商品ごとに画面を作成していました。

しかし現在では、Product Data → Renderer → UI

というように、データと表示部分を分離して設計します。

この考え方によって、同じ仕組みを利用しながら、多くの商品やサービスへ展開できるようになりますが、実は、この考え方は最近開発しているAlfred関連のプロダクトでも非常に重要になっていますね、例えば、アフィリエイト用のWordPress Blockを作る場合、昔の考え方なら商品ごとにHTMLを書くことになります。

しかし現在では、

  1. Product Dataを定義する
  2. 共通Generatorで処理する
  3. Rendererが表示する

という構造にすることで、再利用可能な部品として成長させることができます。
これは単なるプログラミング技術ではなく、Software Designそのものです。

関連記事

今後の開発者に欠かせない「情報を構造化し、AIやシステムに正しく伝える考え方」については、MarkdownとJSONを題材に下記で掘り下げています。
AI時代の開発に必須!「情報を構造化する力」|Markdown とJSONから考察するデータ駆動設計の考え方

AI時代にSoftware Designが重要になる理由

AIはコードを書くことができる。しかし設計は人間の仕事である

AI時代になり、プログラミングの価値が下がったという意見があります。
確かに、コードを書くという作業だけを見ると、AIによって大きく効率化されたのは事実ですが、実際に個人開発を進めて感じるのは、むしろ設計の重要性が高まっているということです。AIに、「このようなアプリを作って」と依頼すれば、ある程度動くコードは生成できます。
しかし、どのような構造にするか、どこを共通部品にするか、どのデータを中心に設計するか、また将来的な拡張性をどう考えるか
という判断は、今のところ人間でしか決定できません。

このことは、私が昔に経験したソフトウェア開発とも非常によく似ています。当時も、単純にプログラムを書くことだけが重要だったわけではありませんが、大規模システムでは、

  • Architecture
  • Layer
  • Module
  • Reuse
  • Separation of Concerns

といった設計思想が非常に重視されていました。
現在、AIによって個人でも高度なソフトウェアを作れる時代になりましたが、逆に言えば、一人の開発者にも同じような設計能力が求められるようになったのだと思います。

*AIによってコード生成が容易になった今、人間の価値がどこへ向かうのかについては、こちらの記事で詳しく考察しています。

Learning Roadmap

技術を目的ではなく、プロダクト実現のための手段として考える

今回整理したLearning Roadmapでは、単純に「覚えるべき言語一覧」ではなく、現在の個人開発における重要度という観点で評価しています。

Foundation

Python ★★★★★

現在の個人開発における中心言語です。
AI開発、データ処理、自動化、CLIツールなど幅広い用途で利用でき、LotoLab AIやAlfred関連の開発でも中心的な役割を担っています。

Git ★★★★★

現代の開発では必須となる基盤技術です。
単なるソースコード管理ではなく、変更履歴、ドキュメント管理、開発プロセスそのものを管理するための重要なツールです。

AI Tools ★★★★★

これからの開発者にとって最も重要なスキルの一つです。
重要なのはAIを使うこと自体ではなく、AIとどのように協働し、設計や実装を効率化するかという能力です。

Frontend Development

JavaScript ★★★★☆

Web技術を理解するための基礎となる言語です。
現在では単なるブラウザー用スクリプトではなく、Frontend、Desktop、Mobile、AI Applicationまで広がる重要な技術基盤になっています。

React ★★★★★

現在のFrontend開発における中心的な技術です。
重要なのはReactの文法を覚えることではなく、UIをComponentとして設計する考え方を理解することです。

TypeScript ★★★★★

今回のLearning Roadmapで特に重要だと感じた技術です。
Reactを中心とした現代的なFrontend開発ではTypeScriptが標準的になっており、今後さらに重要性が高まると考えています。

WordPress Block Development ★★★★★

Alfred Affiliate開発を通じて重要になった領域です。
WordPressも現在では単純なPHPテーマ開発だけではなく、ReactベースのBlock開発が中心になっています。

Product Engineering

Software Design ★★★★★

今回のLearning Roadmapの中で、個人的に最も重要だと感じている領域です。

AI時代になると、「プログラムを書く能力」の価値が下がったと言われることがあります。しかし実際には、コード生成そのものが容易になったことで、逆に「どのような構造でソフトウェアを作るか」という設計能力の重要性がさらに高まっています。

AIは、ある程度のコードを書くことができます。しかし、どのようなArchitectureにするか、どこを共通Componentにするかなどの判断は開発者自身が行う必要があります。特に現在の個人開発では、一人の開発者が複数の技術を組み合わせてプロダクトを作るため、個別のコードを書く能力だけではなく、全体を設計する能力が重要になります。

これは、私が経験したソフトウェア開発とも非常によく似ていますね。
当時は、大規模システムでは単純にプログラムを書くことよりも、ArchitectureやLayerといった設計思想が非常に重視されていました。現在、AIによって個人でも高度なソフトウェアを開発できる時代になりましたが、逆に言えば、個人開発者にも同じような設計思想が求められる時代になったのだと思います。


UI/UX Design ★★★★★

技術的に動作するソフトウェアを作るだけでは、良いプロダクトにはなりません。

特に個人開発では、自分自身が最初のユーザーになります。そのため、「動くかどうか」だけではなく、「毎日使いたいと思えるか」という視点が非常に重要です。私自身のデザイン思想: Design Mattersという考え方は、AI時代でも変わらないと思います。AIによってコード生成が容易になった現在、似たような機能を持つソフトウェアは以前より簡単に作れるようになりました。
だからこそ、操作感、見た目、使いやすさ、細かな体験といったUser Experienceの部分がプロダクトの価値を大きく左右するようになります。

昔のMacが内部設計だけではなく、美しい筐体デザインにもこだわっていたように、ソフトウェアでも利用者が触れる部分と内部構造の両方にこだわることが重要だと考えています。

ジョナサン・アイブ 偉大な製品を生み出すアップルの天才デザイナー Kindleストア

Amazon

ジョナサン・アイブ 偉大な製品を生み出すアップルの天才デザイナー Kindleストア

Apple製品のデザイン思想を学ぶための一冊

Amazonで見る

Product Architecture ★★★★★

Software Designと関連しますが、さらに上位の視点としてProduct Architectureがあります。
個別のファイルやプログラムを書くのではなく、プロダクト全体をどのような構造として設計するかという考え方です。
例えば、最近考えているAlfred関連のプロダクトでは、

  1. Product Data
  2. Generator
  3. Library
  4. Renderer
  5. Application

というように、データ、処理、表示を分離する設計を意識しています。
このような構造にすることで、一つの機能を作って終わりではなく、別のプロダクトや別の環境へ展開できるようになります。
AI時代では、個別のコードを書く速度よりも、このような再利用可能な仕組みを設計できる能力の価値がさらに高まると考えています。

Amazon

デザインのデザイン : 原 研哉: 本

デザインをわかりたい人達へ。

Amazonで見る

Additional Technologies

必要になった時に学ぶ技術

Learning Roadmapでは、すべての技術を同じ深さで学ぶ必要はありません。
重要なのは、作りたいプロダクトに合わせて必要な技術を選択することです。

Swift ★★☆☆☆

MacやiPhone向けのネイティブアプリケーションを作りたい場合に必要になる技術です。
昔であれば、「Swiftを習得してからアプリを作る」という順番でした。
しかし現在では、「Macでこういうツールが欲しい」→「必要な範囲でSwiftとSwiftUIを学ぶ」という考え方で十分だと思います。言語を習得することが目的ではなく、作りたいものを実現するための道具として利用するという考え方です。

PHP ★★★☆☆

WordPress開発を行うために必要な範囲で学習します。
現在のWordPress開発ではReactやJavaScriptの重要性が高まっていますが、既存環境や内部構造を理解するためにはPHPの知識も必要になります。ただし、PHPそのものを深く極めることが目的ではありません。

Go ★★☆☆☆

高速なCLIツールやバックエンド処理など、必要になったタイミングで学習する候補です。
現在の優先順位ではPythonやTypeScriptより低く設定しています。

Rust ★☆☆☆☆

非常に興味深い技術ですが、現在考えているプロダクト開発という目的では優先順位は低めです。
将来的にシステムレベルの高速処理や特殊な用途が必要になった場合に検討します。

Learning Roadmapの本当の意味

今回整理したLearning Roadmapは、単なる「プログラミング言語の学習リスト」ではありません。
重要なのは、どの技術を知っているかではなく、目的に応じて適切な道具を選択できることです。

昔は、「どの言語の専門家なのか」が重要でした。
しかし現在は、「どのような問題を解決できるのか」「そのためにどの技術を組み合わせるのか」という能力がより重要になっています。

まとめ

「次は何を学ぶ?」から「次は何を作る?」へ

今回整理したLearning Roadmapは、単純なプログラミング言語の学習一覧ではありません。
もちろん、Python、JavaScript、TypeScript、Swiftなど、それぞれの技術を理解することは重要です。しかし、AI時代において本当に重要なのは、どれだけ多くの技術を知っているかではなく、目的に応じて適切な技術を選択し、それらを組み合わせて価値あるプロダクトを作れることだと考えています。
昔のソフトウェア開発では、「どの言語の専門家なのか」ということが重要でした。例えば、C言語/Java/Databaseなどそれぞれの専門家が特定分野の深い知識が大きな価値を持っていました。

もちろん現在でも専門性は重要です。しかし、AIによって実装作業そのものが大きく効率化された現在では、より上流の「何を作るのか」「どのような設計にするのか」「どの技術を組み合わせるのか」という能力の重要性が高まっています。

私自身、この数か月の個人開発を通じて、その変化を実感しています。
最初はPythonを学び、LotoLab AIの開発から始まりました。しかし、そこで終わることはありませんでした。
作りたいものが増えるにつれて、React、TypeScript、WordPress Block開発、AI API、そしてSwiftへと自然に学習範囲が広がっていきました。

これは、「次に学ぶ言語を決めた」のではなく、「作りたいプロダクトが必要な技術を教えてくれた」という方が正しいと思います。AI時代の開発者に必要なのは、すべての技術を完璧に習得することではありません。必要なのは、

  • 問題を発見する力
  • 設計する力
  • 適切な技術を選択する力
  • AIと協働して形にする力
  • 利用者にとって価値あるプロダクトへ仕上げる力

なんですね。これらは、私が昔に学んだシステム開発の考え方とも大きく共通しています。

技術は変化します。

しかし、以下の本質は何ら変わりありません。

  • 問題を理解する
  • 最適な設計を考える
  • 価値あるシステムを作る

Programming languages are tools.
Products are the goal.

これからも、必要な道具を必要なタイミングで学びながら、自分自身が使いたいと思えるプロダクトを作っていきたいと思います。

BenQ MA320U 31.5インチ 4K IPS ノングレアUSB Type-C(90W給電) Mac向けモニター

Amazon

BenQ MA320U 31.5インチ 4K IPS ノングレアUSB Type-C(90W給電) Mac向けモニター

Macと一貫性のある色を表示するモニター

Amazonで見る
この記事を書いた人
Masao

長年、エンタープライズITとソフトウェア営業の世界で働いてきました。

現在は、これまでの経験を土台にしながら、AI、Python、英語、個人プロジェクト、そして日々の暮らしを少しずつ再構築しています。

このブログは、日々の生活を大切にしながら仕事・学び・暮らしを横断して、好奇心を持って試したこと、考えたこと、残しておきたいことを記録する場所です。
note / X / GitHub でも発信中。

Masaoをフォローする
テクノロジー
スポンサーリンク
シェアする
Masaoをフォローする

コメント

タイトルとURLをコピーしました