プログラミング独学6ヶ月目、挫折しかけた3回と乗り越えた方法

※本記事にはアフィリエイト広告が含まれます。

プログラミングを独学で始めようと思ったきっかけ

去年の2月、会社でExcelのマクロが壊れて誰も直せないという事態が起きた。外注に頼むと5万円かかると言われて、「これは自分で直せたらよかったのに」と思ったのがきっかけだった。それまでプログラミングなんて縁のない話だと思っていた。理系でもないし、数学も得意じゃない。でも「マクロが直せるくらいなら自分でも学べるんじゃないか」という軽い気持ちでProgateを開いた。

あれから6ヶ月が経った。結果的に3回本気で挫折しかけて、そのたびになんとか乗り越えてきた。今は個人開発でWebアプリの骨格が動くところまで来ている。完璧じゃないけど、半年前の自分には想像できなかった場所にいる。

最初の挫折:Progateで「わかった気」になっていた

Progateは本当によくできたサービスだと思う。HTMLとCSSから始めて、JavaScriptまで2週間くらいで進んだ。緑のチェックマークがどんどん増えていくのが気持ちよくて、「自分はプログラミングの才能があるかもしれない」くらいに思っていた。

その幻想が崩れたのは、Progateを卒業して「じゃあ何か自分で作ってみよう」と思ったとき。白紙のエディタを開いた瞬間、完全に頭が真っ白になった。ProgateはヒントもUIも全部用意されていて、自分はその穴を埋めるだけでよかった。でも何もない状態で「HTMLファイルを作って」と言われると、何から始めていいかすら分からない。

1回目の挫折はここだった。「自分には向いてない」という気持ちが一気に押し寄せてきた。

乗り越えた方法:Udemyに課金する

Progateは「概念を知る」ためのツールで、「作れるようになる」ためのツールじゃないんだとTwitterで教えてもらった。それで試したのがUdemy。セールのときに買ったPythonの講座が1,200円だった。

この講座が転機になった。先生がコードを書きながら解説してくれるので、「動く理由」が視覚的にわかる。Progateで覚えた文法が実際のコードにどう使われているかが見えてきた。特にPythonはJavaScriptより文法がシンプルで、「for文でリストをぐるぐる回す」という感覚を掴んだときに急に霧が晴れた気がした。

2回目の挫折:言語選択で迷って動けなくなった

Udemyで学び始めて1ヶ月くらい経ったころ、「PythonかJavaScriptか、どちらに絞るべきか」という問題が急浮上してきた。ネットで調べると「Webならまずはjavascript」「データサイエンスならpython」「バックエンドはどっちでもいける」みたいな情報が飛び交っていて、収拾がつかなくなった。

1週間くらい、Qiitaの記事を読むだけで何もコードを書かない日々が続いた。完全に思考停止だった。「どっちも中途半端になったら意味がない」という恐怖が邪魔をしていた。

乗り越えた方法:目的に立ち返る

「何のためにプログラミングを学んでいるのか」を改めて書き出してみた。そうしたら、最初の動機は「業務自動化」と「簡単なWebアプリを作ること」だったと気づいた。どちらもPythonで始められる。JavaScriptはWebフロントエンドをやりたくなったときに学べばいい。

この整理をして、Python一本に絞った。言語を決めてしまうと不思議と迷いがなくなる。学ぶものが明確になるから、毎日のタスクも具体的になる。「今日はrequestsライブラリを使ったHTTPリクエストを理解する」みたいに小さく刻めるようになった。

3回目の挫折:ポートフォリオ作成でスコープが膨張した

3ヶ月目に入ったころ、「そろそろポートフォリオを作ろう」と思った。最初のアイデアは「読んだ本の記録アプリ」だった。シンプルで自分も使えるもの。Flaskを使ってCRUDアプリを作ろうと計画した。

ところが作り始めると次々と「欲しい機能」が湧いてくる。ログイン機能、カテゴリ分け、星評価、読了日の管理、グラフ表示。3週間でコードが2,000行を超えたあたりで、どこに何が書いてあるかわからなくなった。エラーを直すと別のエラーが出る。追いかけっこが終わらない。

「こんなもの誰も使わないんじゃないか」という気持ちになって、プロジェクトを閉じてしまった。GitHubのコミットログが2週間以上更新されない状態になった。

乗り越えた方法:MVP思考に切り替える

この壁を破るきっかけをくれたのは、勉強仲間ができたことだった。Twitterで#100DaysOfCodeというハッシュタグで毎日の進捗を投稿していたら、同じくらいのレベルの人とつながれた。その人に「最初は動く最小限だけ作る。機能は後で足せばいい」と言われた。

アプリをゼロからやり直した。今度はタイトルと感想を保存できるだけのシンプルな本棚アプリ。データベースはSQLite、UIは最低限のHTML。2日で動くものができた。

そこから少しずつ機能を足した。ログインは1週間後に追加。カテゴリは2週間後。グラフは今も実装途中だけど、アプリ自体はもう動いている。GitHubに公開して、URLをREADMEに貼った。これが自分の最初のポートフォリオになった。

6ヶ月で学んだこと・現在地

今の技術スタックはこんな感じになっている。

  • Python(Flask / SQLite / requests): 実用レベルで書ける
  • HTML / CSS: レイアウトを組める、Flexboxは使いこなせてきた
  • JavaScript: 基本的なDOM操作とfetch APIまで
  • Git / GitHub: コミット・プッシュ・ブランチの基本
  • Linux コマンド: ファイル操作・パス・パーミッションの基本

実際の学習時間を振り返ると、平日1〜1.5時間、休日3〜4時間で6ヶ月続けた計算になる。延べ300時間くらい。

お金の話

かかった費用をまとめると以下のとおり。

  • Progate(1ヶ月無料期間のみ): 0円
  • Udemy(Python入門 + Flask実践 + JavaScript基礎、セール3講座): 合計3,600円
  • 書籍「独習Python」: 3,278円
  • Herokuの有料プラン(無料廃止後、アプリ公開のため): 月1,100円 × 3ヶ月 = 3,300円

合計1万円ちょっとで6ヶ月学習できた。スクールに通うと最低でも30〜50万円かかるのを考えると、独学はコスパがいい。ただし孤独との戦いは本物だった。

挫折しそうになったとき、共通してやったこと

3回の挫折をなんとか乗り越えた方法を振り返ると、共通のパターンがあった。

  1. 「今日の目標」を最小化する:「アプリを完成させる」じゃなくて「エラー1個直す」まで落とす
  2. 進捗を記録に残す:Twitterでもメモ帳でも、「今日これをやった」という証拠を作る
  3. 人に話す:オンラインでもいいので、同じく学んでいる人とつながる

どの挫折も「完璧にやろうとして固まった」が原因だった。小さく動かすことで突破できた。

これから独学を始める人へ

6ヶ月やってみての正直な感想は「向いてる・向いてないは3ヶ月やるまでわからない」ということ。最初の1〜2ヶ月は誰でも「わかった気になる時期」と「何もできない絶望期」を交互に味わう。それは才能の問題じゃなくて、学習の構造上の話だと思う。

Progateで始めて、Udemyで補強して、何か一つ動くものを作る。これだけ繰り返せばいい。言語はPythonかJavaScriptどちらでもいいが、絶対に2つを同時に始めないこと。それだけで挫折率がかなり下がると思う。

今自分のアプリのURLをポートフォリオに貼れるようになった。「ゼロからコードを書いて、動くものを作った」という事実は、自分が思っていたより大きな自信になっている。

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