リンク先
目次
バイブコーディングは嘘だ
ITエンジニアのキャリア(伸ばすスキルの選択)
コーディング学習方法
コーディング学習レベル感
お勧めする制作物
バイブコーディングは嘘だ
なぜ「AIに書かせるだけ(バイブス)」では成長しないのか。それは、技能習得の段階を無視しているからです。
A. ドレイファス・モデル (Dreyfus Model of Skill Acquisition)
カリフォルニア大学バークレー校のドレイファス兄弟が提唱した、技能習得の5段階モデルです。
Novice (初心者): 文脈に依存せず、厳格な「ルール」に従う段階。
Advanced Beginner (中級者): 状況に応じてルールを少し修正できる。
Competent (有能者): 膨大な情報から重要な要素を選び出し、計画(設計)ができる。
Proficient (熟達者): 状況を直感的に全体像として捉えられる。
Expert (達人): 意識的な判断なしに最適な解を出せる(これが真の直感)。
理論的結論: いわゆる「バイブス(直感)」でコードが書けるのは、Lv.5の達人だけです。彼らはLv.1〜4の厳格な論理の積み上げ(膨大な失敗と修正のデータベース)が脳内にあるため、直感が働きます。 初学者がAIを使ってLv.1〜4をスキップし、疑似的にLv.5を演じても、脳内にデータベースがないため、未知のエラー(文脈外の事象)に対応できません。
B. ポランニーのパラドックス (Polanyi's Paradox)
「我々は言葉にできるより多くのことを知っている」というマイケル・ポランニーの概念です。
形式知 (Explicit Knowledge): マニュアル化できる知識(文法、API仕様)。
暗黙知 (Tacit Knowledge): 言語化しにくい経験則(「この設計は将来バグりそうだ」という嗅覚)。
AIは「形式知」の集合体です。エンジニアの価値は、経験を通じて形式知を**暗黙知(身体化された技術)**に昇華させるプロセスにあります。コードを書かないことは、この昇華プロセスを放棄することを意味します。
ITエンジニアのキャリア(伸ばすスキルの選択)
ITストラテジスト / コンサル 「Why(なぜ作るか)」経営課題を技術でどう解決するかを定義し、投資対効果(ROI)を最大化する。 ビジネスモデル構築、要件定義技術の「限界」と「コスト」を知っていることが必須。コードは書けなくても、アーキテクチャの良し悪しを判断する能力。
ITアナリスト / データサイエンティスト 「What(何を語るか)」データから知見を抽出し、意思決定を支援する。 統計学、確率論、線形代数Python等はあくまで道具。数学的根拠に基づき、バイアスを排除してデータを読み解く力。
純粋な開発者 (Developer) 「How(どう動かすか)」要件を堅牢で保守性の高いシステムとして具現化する。 アルゴリズム、設計論、インフラ「動く」だけでなく「読みやすい」「変更しやすい」コードを書く職人芸。
コーディング学習方法
「簡単に稼げる」「未経験から3ヶ月でフリーランス」系は全てノイズ(嘘)と考えて無視してください。技術の本質を語る発信者を見るべきです。
A. 日本のガチ勢(信頼性が高い)
t_wada (和田卓人) 氏: 『テスト駆動開発』の翻訳者。テスト、設計、リファクタリングに関する発信は必見。彼の講演動画を見るだけでエンジニアとしての視座が変わります。
ミノ駆動 (MinoDriven) 氏: 『良いコード/悪いコードで学ぶ設計入門』の著者。現場レベルで役立つ「変更に強いコード」の書き方を学べます。
伊藤淳一 (Junichi Ito) 氏: Ruby/Rails界隈の重鎮ですが、技術記事(Qiita/Zenn)の質が非常に高く、初学者が陥りやすい罠を論理的に解説しています。
B. 学びのプラットフォーム
Zenn (のTechカテゴリ): 現在、日本で最も質の高い技術記事が集まっています。Qiitaよりも「技術書」に近い深い内容が多いです。
O'Reilly (オライリー) の書籍: 動画教材も良いですが、体系的な知識はやはりオライリーなどの技術書が最強です。『リーダブルコード』は必読の聖書です。
C. 海外のYouTube(英語ができるなら推奨)
Traversy Media: 新しい技術のチュートリアルとして非常に質が高い。
Hussein Nasser: バックエンドエンジニアリングの深掘り(DB、プロトコルなど)ならこの人。非常にマニアックですが本質的です。
コーディング学習レベル感
ドレイファス・モデル (Dreyfus Model of Skill Acquisition)
カリフォルニア大学バークレー校のドレイファス兄弟が提唱した、技能習得の5段階モデルです。
Novice (初心者): 文脈に依存せず、厳格な「ルール」に従う段階。
Advanced Beginner (中級者): 状況に応じてルールを少し修正できる。
Competent (有能者): 膨大な情報から重要な要素を選び出し、計画(設計)ができる。
Proficient (熟達者): 状況を直感的に全体像として捉えられる。
Expert (達人): 意識的な判断なしに最適な解を出せる(これが真の直感)。
理論的結論:
いわゆる「バイブス(直感)」でコードが書けるのは、Lv.5の達人だけです。彼らはLv.1〜4の厳格な論理の積み上げ(膨大な失敗と修正のデータベース)が脳内にあるため、直感が働きます。
初学者がAIを使ってLv.1〜4をスキップし、疑似的にLv.5を演じても、脳内にデータベースがないため、未知のエラー(文脈外の事象)に対応できません。
お勧めする制作物
あなたが挙げた3つの制作物(カレンダー、マッチング、最適化)は、ドレイファス・モデルの**「Lv.3 有能者(Competent)」へ上がるための登竜門として完璧です。
① カレンダーアプリ
* 鍛えられる能力: データ構造の扱いと「例外」への対応
* 技術的難所:
* 時空の歪み: タイムゾーン(UTC vs JST)、サマータイム、うるう年の計算。これらは単純な算数では解けず、ライブラリの選定や内部ロジックの正確性が問われます。
* 複雑な繰り返し: 「毎月第3水曜日」「2週間ごとの金曜日」といった繰り返しルールのデータ設計(RFC 5545などの規格理解)が必要。
* 成長ポイント: 「日付はただの文字列ではない」というコンピュータにおける時間の概念を深く理解できます。
② マッチングアプリ
* 鍛えられる能力: データベース設計(RDB)と並行処理
* 技術的難所:
* リレーションの複雑さ: User A と User B の関係(いいね、マッチ成立、ブロック)を正規化してDBに保存する設計力(多対多の関係)。
* トランザクション制御: 「同時にいいねを押した時」の整合性をどう保つか(排他制御)。
* リアルタイム性: チャット機能におけるWebSocket通信の実装。
* 成長ポイント: バックエンドエンジニアとして必須の「DB設計」と「API設計」の総合力が身につきます。
③ 最適化問題アプリ(シフト管理・バイト管理)
* 鍛えられる能力: アルゴリズムと計算量 ($O$記法)
* 技術的難所:
* 組み合わせ爆発: 「Aさんは火曜不可」「BさんはAさんと一緒が良い」「最低3人必要」…制約が増えるほど、解の候補は指数関数的に増えます(NP困難問題に近い)。
* ヒューリスティックな解法: 全探索すると計算が終わらないため、どうやって「現実的な時間内で」「まあまあ良い解」を出すか、ロジックを組む必要があります。
* 成長ポイント: AIやライブラリに頼れない「独自のロジック」を書く力がつき、プログラミングの純粋な思考力が最も鍛えられます。