独学でプログラミングを学ぶときの効率的な8ステップ

独学でプログラミングを学ぶときの効率的な手順

独学でプログラミングを学ぶ際、どういう手順で学習を進めていけばいいのか迷ってしまうことがあります。僕自身も独学で学ぶ際に回り道を多く経験してきました。試験の勉強であれば、試験に出てくる範囲を過去問を見ながら学習すれば何とかなりますが、なんせプログラミング学習は自由度が高い!「まずは、作りたいものを決めましょう」って言われても、何が作れるかもわからないし。

そんな風にプログラミングの独学に悩んでいる方の道しるべになるような手順をまとめました。10年前の自分に見せたら「もっと早く教えてよ~!!」と自分が言い出しかねない充実した内容に仕上がりました。独学でプログラミングを始める方、または独学プログラミングで挫折してしまった方は参考にしてみてください。

 

 

独学でプログラミングを学ぶときの効率的な8ステップ

プログラミングを始めるときに間違ってしまいがちなのが、「プログラミングの文法を覚えるところから始める」というものです。英語の学習でもそうですが、英文法と単語を叩き込んだだけでは、英会話ができるようになりません。逆に文法も単語も知らなくても、強制的に英語を話さなければいけない環境に放り込まれれば、あっさり覚えちゃったりします。

プログラミングでも同じことが言えます。まずは、何が良く書いてあるかわかんないけど、とりあえず打ち込んでみて動かしてみる。文法などはその後で調べる。そのくらいのフランクなスタイルで学ぶ方が、挫折しにくいです。

基本的には実践から入るという学び方で、効率的にプログラミングを学ぶ手順は以下の通りです。

(1)ハッキリとした成果物がある本を選ぶ
(2)作りきる
(3)基礎を学ぶ
(4)カスタマイズする
(5)セキュリティについて学ぶ→徳丸本
(6)サーバーにアップする
(7)公開する→ポートフォリオ
(8)仕事を取る

それぞれのフェーズを見ていきましょう。

 

(1)ハッキリとした成果物がある本を選ぶ

よくプログラミングの勉強法を紹介しているサイトで「まずは作りたいものを決める」と書かれていることがあります。あれは間違いではありません。間違いではないんですが、プログラミング初心者は「そもそも何が作れるのか?がわからない」「作りたいもののつくり方を調べる方法がわからない」という状態です。

プログラミング上級者の中には「グーグルで探せばいくらでも方法は見つかるし、オープンソース読めば勉強になる」という人もいます。でも、そもそも何が書かれてるかわからないものを英語で説明されてたりして、しかも情報があっちこっちに分断されてたりするものを汲み取るというのは初心者には無理ゲー過ぎです。

僕が推奨するのは、「成果物がハッキリしている本で学び始めること」です。この本に書かれていることを学んだら掲示板が作れるようになる、とか、この本をやり切ればショッピングカートが作れるようになる、といった本です。成果物がはっきりしていると、進めていく中で少しずつ出来上がっていくようすを体感できるので挫折しにくいです。

僕がオススメする成果物が明確なプログラミング本を別記事にまとめました。チェックしてみてください。

独学でプログラミングを身に着けた僕がおすすめするPHP入門書5選~PHPを本で学ぶならこの順番で

初心者にオススメ!PHP入門書5選~PHPを本で学ぶならこの順番で

 

 

(2)作りきる

成果物がはっきりしている本を買ったら、次にやることは「それを最後まで作りきる」ということです。細かい文法だとか解説の理解は後回しにして、まずは自分で書いたプログラムが実際に動かせるということを体感しましょう。

プログラミング言語の文法などを学んでから作る順番で進めると、いつまでたっても成果物ができあがりません。とにかく完成させることをゴールに進めてください。シンプルに本に書かれているコードをただ打ち込むだけのはずなのに、めちゃくちゃ多くの失敗を経験できますし、その後の吸収スピードが段違いに早くなります。

 

(3)基礎を学ぶ

成果物を作り切ったところで、自分が書いたコードの文法がわからないところを調べましょう。また、作りきる過程で流し読みしてきた解説をしっかりと読みましょう。この時点で、一度自分で作ったものの解説なので、頭にスッと入ってきやすくなっています。

ここでいうプログラミング言語の基礎とは、
・代入、条件分岐、ループ処理の理解
・配列や連想配列でデータをまとめて扱う方法
・ユーザー関数が作る方法
・オブジェクト指向で作られたものを活用する方法
・データベースにデータを格納する方法
などです。

どのプログラミング言語を学んでも、これらの基礎は必ず通る道です。しっかり学んでおいて損はないですよ。

 

(4)カスタマイズする

(2)で作りきった成果物をカスタマイズしていきます。ショッピングカートを作ったのであれば、会員登録機能を追加したり、買い物をしたらポイントが溜まる仕組みを追加してみたり、といった具合です。

「カスタマイズする」という意識で書いてきたコードを眺めると、よりプログラミング言語やシステムに対する理解が深まります。仕事でプログラミングを書く場合、カスタマイズは避けては通れません。というのも、どのお客さんも独自の課題を抱えていたり、解決したい問題のポイントが異なるからです。誰もが同じ課題を抱えているのであれば、システムは1つでいいですしプログラマーはほとんど不要になりますよね。そういった意味でも成果物をカスタマイズするのは、プログラミングを仕事にする前の予行練習のような位置づけです。

 

(5)セキュリティについて学ぶ→徳丸本

作るシステムのほとんんどはWEBアプリケーションとして公開します。その際に絶対に無視してはいけないのがセキュリティです。サーバーに公開した瞬間に世界中から攻撃されるといっても過言ではありません。実際に僕が運用しているVPSサーバーは、ログインするたびに「最後の正しいログインの後に 3000 回の失敗ログインの試行があります」といったメッセージが出ます。それだけ攻撃にさらされているということを自覚しておきましょう。

WEBシステムのセキュリティに関しては、「徳丸本」として有名なこの本を読んでおきましょう。どのような脅威が存在し、どのように対処すればいいのかがわかります。

 徳丸本「体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践」

>> 「体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践」の詳細はコチラ

 

 

(6)サーバーにアップする

セキュリティーについて学び、成果物のセキュリティー対策が万全になったところでサーバーに公開しましょう。PHPで作ったものであれば、レンタルサーバーに簡単にアップすることができます。僕がプログラミング初心者にPHPをオススメしている理由は、この手軽にアップして公開できるというのが大きいです。

今、最も勢いのあるPython3や日本で人気のRubyもプログラミング言語としては魅力的なんですが、PHPに比べると格安のレンタルサーバーに簡単にアップロードできません。VPSやクラウドを利用すればPHPにこだわる必要がなくなりますが、学ぶべき範囲が一気に広がります。はい、挫折の元です。まずは手軽に成果物を仕上げて、必要になった時に必要なものを学ぶ、というスタンスがよいです。

 

(7)公開する→ポートフォリオ

サーバーにアップして公開した成果物は、そのままあなたのポートフォリオになります。仕事を取るときや、就職面接を受けるときに「こんなものが作れます」と見せることができます。「自分はこんなことができます!」と口頭でアピールするだけでなく、目に見える成果物を提出できると採用面接で評価されやすくなります。

 

(8)仕事を取る

早めに仕事としてプログラミングする機会を得ましょう。お客さんがいて、お金をもらっていて、納期がある。その状態でプログラミングをすると、学びのスピードが一気に上がります。「これよくわかんないから後回しにしよう」といった、独学で出てしまう怠けグセも仕事では通用しません。「ある機能を追加したいけど実装が難しい」となったら、代わりにどうすればいいかを考えて、お客さんに代替案を説明して合意を取る、といったことも必要になります。

仕事として請けることで、プログラミング能力だけでなく、システムを作り上げるための総合力が身に着きます。ある程度のものが作れるようになったらエンジニアとして就職するなり、フリーランスとして起業するなり、積極的に仕事を取っていきましょう!

 

 

まとめ

この記事では独学でプログラミングを学ぶときの効率的な手順をお伝えしました。この記事で書いた内容は冒頭で「10年前の自分が喉から手が出るほど欲しかった情報」とお伝えしましたが、僕は遠回りばかりしてプログラミングを独学してきました。その体験談を記事にまとめていますので、反面教師としてご一読ください。

【体験談】ゼロから始めるプログラミング生活!僕が独学で学んできたイバラの道

【体験談】ゼロから始めるプログラミング生活!僕が独学で学んできたイバラの道

 

 

では、よいプログラミングライフを!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください