本記事では、僕自身の実体験をもとに、AIネイティブ世代の勉強について感じたことをまとめてみました。
専門的な話というよりは、「こんな考え方もあるんだ」くらいの気持ちで、軽く読んでもらえたら嬉しいです。
もし「ここは違うんじゃない?」とか「自分はこう思う」と感じる部分があれば、ぜひコメントなどで教えてください。
まずAIネイティブの自分の中の解釈として(プログラミングだけとする)AI前提の開発・学習環境の中でプログラミングを学ぶ世代、そのような学び方・思考を持つ人 だと考えています。これを踏まえて聞いていただけると幸いです。
AIを触りたての頃
私は現在、大学2回生で、大学に入ってから本格的にプログラミングを始めました。
ちょうどその頃にはすでにAIが当たり前に使われる時代になっていて、スクールや人に聞くのではなくAIからプログラミングを学んでいました。
最初のうちは、正直「AIに作りたいものを伝えて、出てきたコードをそのままコピペする」そんな勉強法でした。
今思えば完全に怠惰学生だったかもしれませんが、それでも動くものができたときの楽しさだけで夢中になっていました。
転機:ハッカソンと「理解すること」の重要性
転機になったのは、9月頃から参加したハッカソンでした。
チーム開発の中で、ある先輩にこう言われたんです。
「AIにコードを出させるのはいい。でも、そのコードがなぜ動いているのかを理解しないと意味がないよ。」
この言葉がすごく刺さって、そこからAIの使い方を意識的に変えるようになりました。
AIとの対話型学習へ
それ以降は、AIへの質問の仕方も変わっていきました。
例えば新しい機能を追加したいときには、こんな感じで聞いていました。
「◯◯の機能を追加したいです。◯◯(使っている技術)のベストプラクティスをもとに作成してください。」
そして、出てきたコードをそのまま終わりにせず、必ずこう聞くようにしていました。
「このコードを初心者でもわかるように、詳しく解説してください。」
こうすることで、ただ動くものを作るだけではなく、なぜそう書くのかを理解しながら進めることができるようになりました。
この頃からは、AIの中でも特にClaudeをよく使うようになり、有料版に課金してGitHubリポジトリを読み込ませながら開発するなど、より効率的で理解中心の学び方に変化していきました。
AIでの学習で大切なこと
情報のキャッチアップ
まず感じるのは、情報のキャッチアップの速さがこれまで以上に重要になっているということです。
これはAI登場以前から大切なスキルでしたが、AIが日常に溶け込んだ今、そのスピード感はさらに求められています。
AIの進化サイクルは驚くほど速く、昨日の「最新」が今日には古くなることも珍しくありません。
だからこそ、新しいツールや技術を素早く取り入れ、自分の手で試す力が大事だと感じています。
AIを活用することで、これまで以上に多くの情報を短時間で吸収できるようになりました。
ただし、その分「何を信じ、どう活かすか」を見極める力も同時に問われていると思います。
アウトプットをたくさんすること
もう一つ大切なのは、アウトプットの量を増やすことです。
AIによってインプットの効率が劇的に上がった今、ただ知識を得るだけでは身につきません。
学んだことを自分の言葉や形で表現してこそ、初めて理解が定着します。
私自身、AIを使って得た知識を整理するために、記事を書いたり、講習会を開いたりといったアウトプットの場を意識的に増やしてきました。
AIが与えてくれる膨大な情報を、自分の経験や文脈と結びつけて再構築する。そのプロセスが、本当の意味での「学び」だと感じています。
基礎力が大切
ここでいう基礎力とは、単なる構文や文法の理解に留まらず、「エンジニアとしての思考の土台」としての力を指します。
アルゴリズムやネットワーク、システム設計といった理論的知識を広く身につけることが、AI時代における本質的な力となると感じています。
AIを使うことで気をつけること
AIの力を自分の力と認識しないこと
AIを活用することで自分の能力が無限に広がったかのように錯覚してしまうことがある。(特にプログラミング始めたての頃)しかし、この心意気自体は重要である一方で、AIに頼り切り、自ら思考する姿勢を放棄してしまうことは、受動的なエンジニアになってしまう恐れがある。
真に価値ある技術者であるためには、AIはあくまで思考を補助する道具であり、自らの判断と探求心を常に保持することが不可欠であると感じています。
勉強方法
私が普段行っている学習方法として、まず情報のキャッチアップとして具体的には、Xやニュースを毎日確認したり、IT系のサークルに参加して最新情報を得るようにしています。インターネット上には多種多様な情報が存在するため、一つの情報源に偏らず、複数のルートから情報を収集することが重要だと考えています。
次にアウトプットの方法として、学んだことを積極的に発表する機会を設けています。たとえば、講習会やLT(ライトニングトーク)会で知識を共有したり、記事としてまとめたりすることで、自分の理解を深めるようにしています。また、学んだことを実践的に活かす手段として、作りたいアプリやサービスを実際に開発しながら学ぶことも重視しています。こうした経験を通じて、サービスの設計や実装に関する実務的な知見を身につけることができ、とても有意義だと感じています。
私がやっている実際の開発フロー
身近に思った課題や解決したいことを挙げる(ここはAIを使わない。純粋な疑問点とか思ったことを出す)
↓
ある程度まとまったらAIを使って既存のものがあるか市場調査を行う。差別化等の参考にするため(ここはgemini等のdeep researchがいいかも)
↓
調査した内容をもとに自分にできることややりたいことを自分でまとめる(軽くAIを使ってもいい)
↓
考えや企画等が固まってきたら、AIにもっと具体的に拡大させるように壁打ちを何回か行う(市場調査も行いながら納得がいくものまで持っていって、他の人に評価してもらう)
↓
用件定義をAIにまとめてもらって開発を行う(claude code,cursorを使用して開発する。github等のissuesでやることを管理してPRとかもAIにやってもらう)
↓
MVPを作成して、第三者に評価してもらう(ここでフィードバックをもらいながら進める)
自分でコードを書く量は一割ほどで、あとはプロダクトとしてどうなのかを考えたり、コードリーディングの方にほとんどの時間を費やしています。(あくまで参考に)
まとめ
学生にとって、今後のエンジニアの動向は非常に不透明で、先行きを予測することは容易ではありません(現役のエンジニアの方も思っているはず)。そうした状況の中で、私は、変化の激しい社会に臨機応変に対応できる力や、AIや新しい技術に対する知的好奇心を持つことが極めて重要だと考えています。
また、技術そのものを目的化するのではなく、単にコードを書く力に留まらず、社会の課題やユーザーのニーズを理解したうえで、どのように技術を活用しアプローチしていくかを考える姿勢が求められると私は考えます。
加えて、学生は非常に恵まれた環境にあり、AIを無料で活用できるサービスが数多く提供されています。こうしたリソースを積極的に活用することは学習やスキル習得に大きく役立つと考えますし、必要に応じて課金してでも利用することも大切だと考えています。
長々と書き連ねてしまいましたが、少しでも誰かの参考になれば幸いです。