Pythonを独学で始めて最初の壁は「何を作ればいいかわからない」だった

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

Pythonを独学で始めたのは28歳のときだった。当時はITとは無縁の営業職で、「プログラミングができたら仕事の幅が広がるかも」という漠然とした動機だった。YouTubeで「Python 入門」と検索して、なんとなく勉強を始めた。

最初の3ヶ月で「変数」「for文」「if文」「関数」の基礎は覚えた。でも、その先で完全に止まった。「次、何をすればいいか分からない」——これが最初の、そして最大の壁だった。

最初の壁:「何を作ればいいか分からない」問題

Progateで基礎を終えた頃、「自分で何かを作れるはず」と思って起動したVSCodeの前で30分フリーズした記憶がある。変数もループも関数も使えるのに、「白紙のファイルに何を書けばいいのか」が全く分からなかった。

この状態は、後で調べると「Progate卒業後の迷子問題」としてプログラミング学習者の間では割とあるある、らしい。Progateは「指示に従ってコードを書く」という形式なので、自分で「作るものを決める」という経験が一切ない。

そこで自分がやったことは、書籍に切り替えることだった。

Progate→書籍へ:なぜ書籍が助けになったか

選んだのは「Pythonでもっと楽しむコンピュータサイエンス」(SoftBank Creative)ではなく、もっとシンプルな入門書だった。「退屈なことはPythonにやらせよう」(オライリー・ジャパン、Al Sweigart著)という本で、副題は「ノンプログラマーのための実用的なプログラミング」だ。

この本の優れているところは、最初から「実用的な何かを作ること」を目標にしている点だ。「ファイルを自動整理するスクリプト」「Excelを自動操作するプログラム」「Webスクレイピングでデータを取得する」——作るものが明確に提示される。

「退屈なことはPythonにやらせよう」の第11章・12章でWebスクレイピングに入門した。Requestsライブラリ(HTTPリクエストを送る)とBeautifulSoup(HTMLを解析する)を使った簡単なスクレイピングを初めて動かしたとき、「自分が何か役に立つものを作った」という実感が初めて生まれた。

Webスクレイピングで「作る喜び」を知る

最初に作ったのは、自分が毎日チェックしていたニュースサイトの見出しを取得して、テキストファイルに保存するスクリプトだ。コードは30行くらいで、動くまでに2日かかった。

エラーが出るたびにGoogle検索して、Stack Overflowの英語の回答を読んで、試して、また失敗して——を繰り返した。最終的に動いたとき、ターミナルに今日のニュース見出しが表示されているのを見て、小声で「やった」と言ったのを覚えている。

ここで分かったのは、「動くものを作るプロセス」自体が学習の最も効率的な方法だということだ。Progateの問題を解くのとは全く別の脳の使い方をする。

挫折——3ヶ月目の停滞期

スクレイピングの次に、自動化スクリプト(Excelの操作・ファイルの整理)を作って遊んでいた。それなりに楽しかったが、4ヶ月目に入ったあたりから急激にモチベーションが落ちた。

原因は「成長している実感がない」ことだった。新しいことを学んでいるつもりなのに、難しいコードは相変わらず書けないし、エラーメッセージの意味が全部は分からないし、「上達しているのかどうか」が分からなくなった。

この時期に3週間ほどほぼ触らなかった。「もう辞めようかな」と本気で思った。

挫折を乗り越えたきっかけ:Discord Bot

再開のきっかけは偶然だった。使っていたゲームのDiscordサーバーで「Botを作りたいけど分からない」という人の書き込みを見て、「自分も調べながらやってみよう」と思った。

discord.pyというライブラリを使い、2週間かけて「!hello と入力すると『こんにちは!』と返すBot」を作った。たった1機能のBotだが、これをDiscordサーバーで動かしたとき、友人からの「え、これお前が作ったの?すごい」という反応があった。

「他の人が使うものを作った」という経験が、モチベーションを完全に回復させた。ここで気づいたのは、「使ってもらえる相手がいる」と学習の継続力が全く変わるということだ。

その後の流れ——Discord Bot→実用ツール→仕事への応用

Discord Botを作り続けることで、API連携・非同期処理・データベース(SQLite)・環境変数の扱い方を自然に学んだ。知識をパーツとして積み上げる感覚が生まれてきた。

その後の学習ステップはこうだ。

  1. Discord Bot(基礎〜中級):4ヶ月
  2. Webスクレイピングの本格活用(BeautifulSoup→Selenium):2ヶ月
  3. Flask入門(簡単なWebアプリを作る):3ヶ月
  4. 仕事での活用(Excelマクロの代替・データ集計自動化):継続中

独学開始から1年後には、職場のルーティン作業(週次レポートの集計)をPythonで自動化し、毎週3時間かかっていた作業を5分に短縮した。「プログラミングで課題を解決する」という経験が初めてできた。

独学でPythonを続けるための3つのポイント

  1. 「作るものを決める」ことから始める——ProgateやYouTubeを終えたら、すぐに「自分が欲しいと思うツール」を1つ決める。小さくていい。「フォルダの整理スクリプト」「特定サイトのデータ収集」でいい
  2. エラーと仲良くなる——エラーメッセージはプログラムが「何が間違いか」を教えてくれるメッセージだ。最初は読み方が分からなくて当然で、読み続けていると段々分かってくる
  3. 誰かに使ってもらえるものを作る——使ってくれる人がいると継続力が全く変わる。Discord Bot・ライン通知スクリプト・家族用のツールなど、誰かが実際に使う場面を作ると強い動機になる

「何を作ればいいか分からない」への答え

結局のところ、「何を作ればいいか分からない」問題の答えは「自分の不便を解消するものを作る」だと今は思っている。

毎日手作業でやっていること、繰り返しているこで「面倒だな」と感じること——それが全てアイデアの宝庫だ。Progateで基礎を学んだ段階であれば、それを自動化するスクリプトを書くことは十分挑戦できる難易度にある。

最初の1つを作り終えたとき、「プログラミングができるようになった」という実感が生まれる。それまでの「知識を覚えている段階」とは別の感覚だ。その体験を早めに積むために、「何を作るか」を先に決めてしまうことをすすめる。

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