5年間のプログラミング学習を振り返って|これからプログラミングを始める方へ伝えたいこと


はじめに

前回の記事ではWordPressサイトのパフォーマンス計測と継続的な改善サイクルの回し方を解説しました。この連載もいよいよ最終回です。第一弾から第十九弾まで、HTMLの基礎からWordPressのカスタムブロック開発・マルチサイト・パフォーマンス改善まで幅広くお届けしてきました。最終回となる今回は少し趣を変えて、5年間のプログラミング学習を振り返り、これからプログラミングを始める方へ伝えたいことをまとめます。技術的な解説ではなく、学習を続けてきた中で感じたこと・失敗したこと・本当に大切だと気づいたことを率直にお届けします。


1. 5年間の学習ロードマップを振り返る

1.1 1年目:基礎を固めながら実務に飛び込んだ時期

1年目はProgateとCODEPREPでHTMLとCSSの基礎を学びながら、並行して**モデリング(既存サイトを見ながら模写すること)**でHTMLポートフォリオサイトを作成しました。さらにWordPressでのポートフォリオサイトも作り、早い段階からクラウドワークスで案件獲得を目指し始めました。

取れた案件は既存サイトのスマートフォン版デザインとレスポンシブ対応のみでしたが、それでも実務の学習効率は別次元でした。締め切りがある・お金をもらっている・クライアントの要望に応えなければならない、というプレッシャーが学習を切羽詰まったものにしてくれました。教材を進めるよりもずっと本気になれました。

またGitによるバージョン管理は1年目から継続していました。最初は必要性を実感できなかったものの、後になってこの習慣を最初から続けていて本当によかったと思っています。

学習内容ツール・手法
HTML・CSSの基礎Progate・CODPREP
実践的なコーディング力モデリング(模写コーディング)
作品として公開HTMLポートフォリオ・WordPressポートフォリオ
実務経験クラウドワークス(レスポンシブ対応案件)
バージョン管理Git(1年目から継続)

💡 案件が取れた背景: 完成度の高いポートフォリオを用意していたことと、実績がない分だけ低単価でも受けるという割り切りが最初の実務経験につながりました。最初の1件を取ることが最も難しく、最も重要です。

1.2 2年目:HTMLサイトのWordPress化に集中した時期

2年目は気に入ったHTMLで作成されたサイトを題材にWordPress化する練習を集中して行いました。HTMLをPHPのテンプレートに分割していく作業を繰り返す中で、PHPとHTMLの親和性が少しずつ体感として理解できてきました。

WordPressのテンプレート階層の考え方(第十四弾で解説した内容)や、header.phpfooter.phpsingle.php に分割していく感覚は、この時期の地道な反復練習で身についたものです。

1.3 3年目:できることの幅を広げた時期

3年目はHTMLによるホームページ制作とBASEでのECサイト構築の案件をこなしました。WordPressだけでなくBASEというECプラットフォームを扱う経験を積んだことで、「ツールは手段に過ぎない」という感覚がより強くなりました。

クライアントが求めているのは技術ではなく成果物です。そのためにどのツールが最適かを判断できる視野が広がった時期でした。

1.4 4年目:JavaScriptと向き合い・壁にもぶつかった時期

4年目はJavaScriptを主に使ってカードゲームを作成しました。ゲームという「遊び心のあるアウトプット」は学習のモチベーションを維持する上で非常に効果的でした。ロジックを自分で設計して実装する経験はHTMLコーディングとはまた別の思考力を鍛えてくれました。

一方でHTMLサイトのWordPress化案件では、最初に聞いていたよりもずっと短い締め切りが途中で判明し、他の方にバトンタッチするという経験もしました。これは苦い経験でしたが、案件開始前にスケジュールと要件を細かく確認することの重要性を身をもって学んだ出来事でした。

1.5 5年目:学んできたことを整理してアウトプットする時期

5年目は学んできたことを整理してアウトプットする年にしようと決めました。それがこの連載です。人に教えることで自分の理解が深まるとよく言われますが、本当にその通りでした。「わかっているつもり」だったことが、文章にしようとすると言語化できないことに気づく。連載を通じて自分自身の理解が何段階も深まりました。


2. 正直に振り返る:課題と失敗

2.1 インデントを揃えることが長年の課題だった

5年間を通じてずっと課題として意識し続けたのがインデントを揃えることです。動けばいいという意識が先行してしまい、後から見返すと読みにくいコードになっていることが何度もありました。

インデントは自分のためでもあり、チームのためでもあります。読みやすいコードは修正しやすく、バグを見つけやすくなります。今でも意識的に気を付け続けているポイントです。

💡 VSCodeの設定でインデントを自動整形しましょう: VSCodeのフォーマット機能(Shift + Alt + F)やPrettierプラグインを使うと保存時に自動でインデントを整形できます。設定しておくだけでコードの読みやすさが格段に上がります。

2.2 コードをそのままいただくことも多かった

わからないことを調べるキーワードの選び方やコードの中で問題を探す力は徐々についていきましたが、最初は必要なことだけ調べて後は他の方が書いたコードをそのまま使うことも多かったです。

あまり神経質な性格ではないため、理解を後回しにしたまま進んでしまうこともありました。ただ、後から「このコードがなぜ動くのか」を理解しようとする場面で壁にぶつかることが多く、借り物のコードはいつか返さなければならないと感じるようになりました。

コードをそのまま使うこと自体は悪いことではありません。ただ「なぜ動くのか」を少しでも理解してから使うようにする習慣が、長期的には自分の力になります。

2.3 案件でのスケジュール管理の失敗

4年目の案件でスケジュールが大幅に前倒しになったことは、準備不足だったと今では思います。案件を受ける前に確認すべきことのリストを作るようになったのはこの経験がきっかけです。

案件受注前に確認すべきこと:

確認項目内容
最終納期最初に提示された日程が確定かどうか
修正回数何回まで対応するかの上限
連絡手段・頻度チャットか電話か・返信速度の期待値
支払い条件前払いか後払いか・振込タイミング
仕様変更の扱い途中で要件が変わった場合の対応方針

3. 継続できた本当の理由

3.1 本業あってのプログラミングという前提を守った

5年間を通じて一貫していたのは**「本業あってのプログラミング」という前提を崩さなかったこと**です。100%を注ぐことはできない状況で、無理をして本業に支障が出たら本末転倒です。やれる範囲でやる・できない日があっても自分を責めない、この割り切りが長く続けられた一番の理由だと思っています。

3.2 毎日学習を継続することだけは貫いた

完璧にやれない日があっても、毎日学習を継続することだけは意識して続けました。たとえ5分でも10分でもコードに触れる・技術記事を読む・GitHubを開く。習慣の力は積み重なると大きな差になります。

継続のコツ内容
ハードルを下げる「5分だけ開く」を最低ラインにする
記録をつけるGitHubのコントリビューショングラフが視覚的なモチベーションになる
完璧を求めないできない日を作らないより、できない日を短くする意識

3.3 キーワード選択の力を少しずつ身につけた

プログラミング学習で地味ながら最も重要なスキルのひとつが**「わからないことを調べるためのキーワード選択の力」**です。これは最初からうまくできる人はほとんどいなくて、エラーメッセージをそのままコピペして検索する・日本語と英語を使い分ける・より抽象的なキーワードで調べ直す、という試行錯誤の中で徐々に鍛えられていきます。


4. これからプログラミングを始める方へ

4.1 教材よりも早く実務・実案件に触れてほしい

1年目に実感したことですが、教材を進める学習と実務の学習は学習効率がまったく違います。クラウドワークスやランサーズで低単価でも案件を受ける・知り合いのサイトを無料で作らせてもらうなど、早い段階でリアルなアウトプットの場を作ることを強くおすすめします。

4.2 Gitは最初から使い始めてほしい

Gitの重要性は後になればなるほど実感します。最初は「なぜこんな手間が必要なのか」と感じるかもしれませんが、変更履歴を管理できる・チームで開発できる・失敗しても戻れるという安心感は、早く体験するほどいいです。

4.3 インデントは最初から意識してほしい

これは自分が長年の課題として感じ続けたことだからこそ強く言いたいのですが、**インデントを揃える習慣は最初から身につけてください。**後から直すのは本当に大変です。書くたびに意識するだけでいい。それだけで読みやすさが大きく変わります。

4.4 コードをそのまま使ってもいい。でも少しだけ理解しようとしてほしい

わからないコードをコピーして使うことは誰でもやります。大切なのはそこで思考を止めないことです。「このコードのこの部分が何をしているのか」を1行だけでも理解しようとする習慣が、少しずつ自分のコードを書く力につながっていきます。

4.5 できる範囲でやり続けることが最強の戦略

毎日2時間学習できる人と、毎日30分しかできない人でも、**続けた年数が長い方が最終的には力がつきます。**無理なペースで燃え尽きるより、無理なく続けることの方が価値があります。本業がある・子育て中・時間が限られているという状況でも、できる範囲でやり続けることをやめなければ必ず力はついていきます。

4.6 どんな小さなアウトプットも積み重ねになる

スマートフォン版のレスポンシブ対応しか案件が取れなくても、それは立派な実務経験です。カードゲームを作るだけでも、JavaScript の力は確実に伸びています。「こんな小さなことは意味がない」と思わずに、小さなアウトプットを積み重ね続けてください。


5. この連載で扱ったトピックの全体像

5.1 連載の全ラインアップ

タイトル主なトピック
第一弾〜第六弾HTML・CSS・JavaScript基礎Web開発の基礎知識
第七弾WordPressとは何か概要・環境構築
第八弾WordPress管理画面の基本操作テーマ・プラグイン
第九弾Gutenbergで記事を書くブロックエディター
第十弾レンタルサーバーで本番公開エックスサーバー・ConoHa WING
第十一弾SEO対策完全ガイドRankMath・GA・Search Console
第十二弾セキュリティ対策完全ガイドWordfence・バックアップ
第十三弾表示速度改善完全ガイド画像最適化・キャッシュ・CDN
第十四弾カスタムテーマ開発入門functions.php・テンプレート階層
第十五弾カスタム投稿タイプ完全ガイドCPT・タクソノミー
第十六弾REST API完全ガイドfetch・動的コンテンツ
第十七弾カスタムブロック開発完全ガイドGutenberg拡張
第十八弾マルチサイト完全ガイド複数サイトの一元管理
第十九弾パフォーマンス計測と改善サイクルPDCA・計測・分析
第二十弾5年間の学習を振り返って学習法・これからの方へ

5.2 次のステップとして学ぶと良いこと

この連載を読み終えた方が次に学ぶと良いトピックをまとめます。

学習テーマおすすめの理由
既存サイトのWordPress化クライアントのニーズが多い
Figmaデザインとコードの架け橋を理解する
React / Next.jsモダンなフロントエンド開発の標準

まとめ

5年間のプログラミング学習と19本の技術記事連載を振り返って、最後に伝えたいことをまとめます。

  • 教材よりも実務・実案件に早く触れることで学習効率が劇的に上がる
  • Gitは最初から使い始める習慣をつけておく
  • インデントを揃えることは地味だが長期的に大きな差になる
  • コードは借り物でもいい。ただ「なぜ動くのか」を少しでも理解しようとすることを止めない
  • 本業がある中でもできる範囲でやり続けることが最強の継続戦略
  • 小さなアウトプットの積み重ねが5年後の大きな差になる
  • スケジュールや要件は案件開始前に細かく確認する習慣をつける

この連載を読んでくださったすべての方に感謝します。HTMLの最初の <h1> タグを書いた日から、WordPressのカスタムブロックを実装できるようになるまで、プログラミングは私の世界を確実に広げてくれました。これからプログラミングを始める方も、すでに学習中の方も、ぜひ自分のペースで楽しみながら続けてください。

一緒に、コードを書き続けましょう。

コメント

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