プログラマになるためのプログラミング学習方法を解説!
この記事を読んでいる皆さんの中には、IT業界への転職を考えたことがある方もいらっしゃるのではないでしょうか。「プログラマになって、自分でサービスを作りたい!」「プログラマになって、パソコン1つでお金を稼ぎたい!」と思ったことが1度はあるでしょう。
この記事ではそういったプログラミング初学者のために、未経験からプログラマになるための心構えと、具体的な学習方法について分かりやすく解説していきます。
プログラミング学習の心構え
プログラミングを学習していくにあたり、まずは下記の2つの心構えを持ちましょう。どちらも継続して学習し、プログラマという職に就くために大事なことです。
プログラミング練習サイトなどは周回し過ぎない
後にも述べますが、巷にはとても数多くのプログラミング練習サイトがあり、学習への参入が年々簡単になっています。練習サイトには「学習へのハードルが低い」というメリットがある一方で、「周回が目的になってしまいやすい」というデメリットがあります。
サイトで学習している時間は「できた!」の連続なので、やっていて楽しいですよね。書いたコードが思った通りに動作するのが楽しくて、つい必要以上にサイト周回を行ってしまう気持ちも分かります。
ですが、プログラミングはあくまでも道具であり、学ぶこと自体が目的になっていては良いプログラマにはなれません。使いやすいサービスを作り、単純作業を自動化して空いた時間を有効活用するための「ツール」です。何かのサービスを作り出して初めて価値があります。
そのため、一通りの学習が完了したら無駄にサイトを周回せず、自分なりのサービスやサイトを作ってみることを考えましょう。
いきなり複数の言語に手を出さない
初学者の皆さんが陥りがちな罠として、もう1つ「複数の技術・言語に手を出してしまいがち」というものがあります。学習中に下記のような気持ちになってしまう人が多いです。
「HTMLとJavaSctiptでサイトを作る練習をしているけど、フロントエンドはReactが最近流行っているらしいから、Reactをやってみよう」
「人気のRubyで学習を始めたけど、機械学習エンジニアの単価が高いらしいから、ライブラリの豊富なPythonも書いてみよう」
プログラミング以外でもそうですが、初学者のうちから複数のことを極めようとすることは結局あなたの成長速度を遅くしてしまいますので、おすすめできません。
最初は「この言語・技術を極める!」という強い意志の元、まずは1つ自分だけの成果物を作ってみてください。
プログラマになるための学習方法
上記の心構えを学んだ後に、プログラマになるためには具体的にどのような学習方法があるのかをご紹介していきます。
独学
自分で情報を集め、プログラミング学習を進めていく方法です。プログラミング学習用の環境を用意し、何を作りたいのかを決め、自分でコツコツと進めていきます。
参考書として書籍を購入してみるのも良いと思います。書籍はプログラミングの環境構築から具体的なコード、なぜそのようなコードになっているのかまで詳しく説明してくれています。「何を書けば全く分からない」という方は、そういったコードを写経してみるのも良い勉強になります。
また、上記でも述べたプログラミング練習サイトを用いるのも良いでしょう。現在、さまざまなプログラミング言語・技術を学べるサイトがたくさんあります。以下に4つほど紹介するので、参考にしてみてください。
Progate
Progateは、自分で環境構築をすることなく、ブラウザ上でプログラミングを行って動作確認ができるサービスです。HTML/CSS、JavaScriptを初めとし、RubyやJavaなどのサーバサイド言語も学べます。チーム開発の要であるGitについてのコースも揃っており、プログラミング入門におすすめのサイトです。
【参考】:Progate
ドットインストール
ドットインストールは動画教材によるプログラミング学習サービスです。Progateよりコース数が多く、中でもフロントエンド言語であるJavaScriptに関するコースが豊富なのが特徴です。他にもデザインに関する講座や、Androidアプリの構築講座もあり、充実した学習環境が提供されています。
【参考】:ドットインストール
Paiza
PaizaはProgateと同じく、ブラウザ上でプログラミングを行うことができる学習サービスです。Progateは完全初心者向きであるのに対し、Paizaはある程度文法を学び、簡単な処理を書けるようになった人を対象としています。
ユーザは与えられた問題に対し、それを解くために自分の得意な言語を用いてコードを書きます。書いたコードが予め用意されたテストにいくつ合格できるか、処理にかかった時間、使用したメモリ量で得点が決まります。
【参考】:Paiza
Udemy
Udemyは本記事のターゲットであるプログラミング学習だけでなく、マーケティング・デザイン・自己啓発など、様々なことを動画を見ながら学習できるサービスです。講座の数だけで言えばここまで挙げた3つの中で最も多く、一定の経験がある現役エンジニアが講座を作っていることが多いため、品質の高い学習を手軽に行えます。
それぞれの講座の購入料金が少し高い(数千円〜数万円)のがデメリットですが、タイミングによっては80%〜90%の大幅セールを行っていますので、定期的に覗いてみることをおすすめします。
【参考】:Udemy
プログラミングスクール
プログラミングの独学で最も懸念されるのが、「分からないところがあって質問したいが、すぐに質問できる環境がない」ことです。練習サイトや本で教材としてまとめられている内容には限りがあり、教材に載っていないところで躓いてしまうことも十分予想されます。
質問できず、自分の成長が伸び悩んでいると感じ始めた時には、プログラミングスクールを検討するのも良いでしょう。スクールの受講に踏み切った際には、「現役のエンジニアやプログラミング講師の生の声を聞いて吸収できる」というメリットを手にすることができます。
実際に学習開始する手順
この章では、学習を開始するにあたり、何から初めていけば良いのかを解説していきます。独学を例として、「自分の力で何か1つアプリを作る」をゴールとします。
プログラマとして転職する時期を極める
まずは、プログラマになるための学習の計画を立てましょう。「○○年後の夏まで」など、大まかで構わないのでプログラマとして就職する時期を目標として決めてみてください。
一般的にプログラミング入門者(実務未経験)になるための学習には、200時間ほどかかると言われています。あなたが非IT業界で働いている場合は、平日、休日の勉強時間をどの程度取れるかを考えた上で、逆算してスケジュールを立ててください。
何を作るか決める
最終的なアウトプットをどういったものにするか、どういった言語・技術で作るか決めましょう。
アウトプットとして典型的なものは「タスク管理アプリ」「カレンダーアプリ」「ブラウザ上で動く電卓」が挙げられます。何も自分で思いつかない場合、こういったよくあるものをアウトプット目標にして問題ありません。
さらに考えられる人は、自分の生活上で「困っていること」「自動化できれば楽だ」と思ったことを解決できるようなアプリを考えてみても良いでしょう。
何の技術で作るか決める
アウトプットを何の言語・技術で作るか決めましょう。
サーバーサイド言語ならJava、Ruby、PHP…、フロントエンド言語ならHTML、JavaScript…など、アウトプットに必要とされている技術を調べて、今後何を勉強すれば良いのかを明確にします。
ローカル(=自分のPC上でのみ動作する環境)での開発に止めるなら上記だけで事足りるのですが、インターネット上で動作させるにはサーバの用意、デプロイの準備などインフラ側の知識も必要です。余力のある方は調査・勉強してみてください。実務では必須の知識です。
プログラミング練習サイト・本を用いて写経してみる
ここまで準備したら、ついにコードを書いていきます。プログラミング練習サイトを用いたり、学習用の参考書を活用したりしてください。
サイトや参考書には予めまとまったコードが回答として書かれているので、最初はそれを「写経」して動くのを確認することから始めるのも良いでしょう。動くことが確認できてきたら、デバッグなどを活用しながらどのような処理順でコードが動いているのか確認し、習熟度を上げていってください。
自分の作りたいものを作る
ある程度言語に慣れてきたら、自分の作りたいアプリ・サービスを作りましょう。
無事作ることができたら、作ったものを自分の制作物(ポートフォリオ)として公開しておくと就職時に便利です。書いたソースコードをGitHubにリポジトリを作ってアップしたり、制作において工夫したことを自分のメディアに投稿したりするのも有効です。
プログラマへの一歩を踏み出そう
本記事では、プログラマとして就職するための主なプログラミング学習方法と、実際に学習を始めてから自作アプリを作るまでのTodoを解説しました。
プログラマとして実務をこなしていくには、プログラミング言語の知識だけでは足りません。インフラの知識・チーム開発の知識・コミュニケーション力など様々なスキルが必要です。
プログラマへの道は長いですが、一緒に頑張っていきましょう。本記事があなたのプログラミングを始めるきっかけとなれば幸いです。
マイナビエージェントに無料登録して
転職サポートを受ける
編集部オススメコンテンツ
アンドエンジニアへの取材依頼、情報提供などはこちらから