システムエンジニアがこの悩みにお答えします。
この記事を書いている僕は、独学でプログラミングを勉強してIT業界に転職しました。今ではWEB系のシステムエンジニア・マーケターとしてプログラミングやコンサルタントの仕事を任されています。
プログラミングが理解できるまで悩み苦労しました。同じようにプログラミングの勉強に悩んでいる人の参考になれば幸いです。
今回は、「初心者の方が独学でプログラミングの基礎を身につける」を目標にします。
実際に僕がプログラミングの基礎を習得した勉強法と学習プランを紹介します。
- プログラミング独学に必要なもの
- 独学におすすめのプログラミング言語
- 独学に必要な勉強時間
- 現場を意識した勉強法
- 解決できない問題にぶつかったとき
- 現場で通用するプログラミング力について
ただ僕が行った方法をそのまま伝えると効率が悪かったと反省することも多々あります。
ですので、あれはこうすれば良かったなど失敗経験を改善したブラッシュアップ版を紹介しますね。
これからプログラミングを始める方にとって、少しでも参考になれば幸いです。
プログラミング独学に必要なもの
独学でプログラミングの勉強を始めるときに、必要なものは「パソコン」と「ネット環境」です。
僕はプログラミングの勉強で色々と準備しましたが、最終的にこの2つがあれば独学でも習得できると感じました。
- パソコンはプログラミングの作業環境になります
- ネット環境はわからないことをググるのに必要です
パソコンはある程度のスペックがあれば十分です
スペックの高いパソコンのほうが便利ですが、メモリ4Gあればプログラミングはできます。
ですので無理に高いものを購入せず、予算に合わせて頂いて大丈夫です。
あと、パソコンはWindowsかMacのどっちにするかですが、どちらでも問題ありません。
WEB系プログラマーの間ではMacが人気ですが、Windowsでプログラミングをしているプログラマーもたくさんいます。
僕はWEB系の企業で働いていますが、今はWindowsでプログラミングをしています。
まだまだWindowsを使っている現場も多いですし、Macは高いので無理して購入する必要はないと思います。
ネット環境がないと苦戦します
プログラミング独学でわからないことがあっても、ネットで探せばたいてい答えがあります。
そのためネットは必須と考えてください。
自宅にネット環境がない方は、ネット環境を準備しておくと学習速度が格段に上がります。
ネットで調べる力をつけておくと、実際にプログラマーとして仕事をするときも必ず役に立ちます。
独学におすすめのプログラミング言語
これからプログラミングを始める場合、どのプログラミング言語を選ぶかはとても大事です。
独学でプログラマーを目指すなら、なるべく需要が高く仕事の多いプログラミング言語で勉強することをおすすめします。
- Java
- Python
- PHP
このあたりのプログラミング言語は人気が高いですね。
難易度的には初心者の方には、とっつきやすい「Python」や「PHP」がおすすめです。
ネットにも情報がたくさんあるので、わからないことがあってもすぐに調べることができますよ。
アルゴリズムがわかれば、他のプログラミング言語も短期間で使えるようになります。
プログラミングの基礎習得に必要な勉強時間
プログラミングの基礎を習得するのに必要な勉強時間は、200~300時間と言われています。
僕の経験でも、この数字、あながち間違いではないと思っています。
僕はIT企業に入社する前に、1日3時間のプログラミング独学を3か月続けて基礎を理解できるようになりました。
土日に休んだこともあったので正確ではないのですが、トータルで250時間くらいです。
個人差もあるでしょうが、初心者の方は200~300時間をプログラミング独学の最初の目標にしましょう。
ダラダラと長くやるとモチベーションが下がるので、3か月で250時間を目安にしましょう!
独学でもできる現場を意識したプログラミング勉強法
プログラミング独学は、現場を意識して学習すると実際に仕事をした時にも役立ちます。
ここでは現場で使えるプログラミング言語を学習できる勉強法と、参考書などでは教えてくれない学習ポイントを紹介します。
まずプログラミングの基礎の勉強法としては、Progateというサイトだけ十分です。
>> Progate
先ほど紹介した「Python」や「PHP」であれば、Progateで効率よく基礎をマスターすることができます。
注意点として、プログラミング学習は自分でコードを書いて動かすことが大事と覚えておいてください。
ただ参考書を読んだり、ネットを眺めるだけではプログラミングはできるようになりません。
Progateの良いところは、実際にプログラミングを書きながら基礎を勉強できるところです。
僕も実感しましたが、自分で手を動かしてプログラムの動作を確認することで、徐々にレベルアップすることができます。
基礎的なことはProgateで十分ですが、プログラマーを目指す方におすすめの勉強法も紹介します。
- 学習スケジュールを作成する
- Githubに作業ログを残す
- しっかりテストをする
学習スケジュールを作成する
プログラミングの仕事には必ず納期があります。
プログラマーを目指すのであれば、納期を意識してプログラミングを勉強しましょう。
最初に学習スケジュールを作り、それに合わせて勉強を終了するよう調整しましょう。
Progateはレッスン数もあるので、レッスン数と勉強時間を見積もってスケジュールしてみてください。
納期を意識してプログラミングをすると、プログラマーとして働いたとき必ず役立ちます。
Githubに作業ログを残す
仕事でプログラミングをすると、何日もかけてコーディングすることが普通です。
作業ログを残すことで、自分が今どこまで終わっているのか状況を把握することができます。
仕事では現場のやり方がありますが、独学であればGithubに残しておきましょう。
>> Github
Githubはログを残す以外にもメリットがあり、他のプログラマーなどからプログラムのアドバイスをもらえたりもします(結構見てもらえます)。
バグの指摘などは、スキルアップの参考になるので活用してください。
しっかりテストをする
プログラムは作って終わりではありません。
作ったプログラムがきちんと動くのか、しっかりとテストをしなければサービスとして世に出せないのです。
自分が作ったプログラムは、責任をもってテストをする癖をつけましょう。
人間が作るものには必ずミスがあるため、思ってもいない挙動をすることも良くあります。
テスト漏れを極力減らすことができれば、優秀なプログラマーとして信頼してもらえますよ。
プログラミングの仕事は作るだけではなく、周りとのコミュニケーションも大事になります。
納期や自分の作業記録を残しておく癖をつけると、円滑に仕事ができるようになりますよ!
プログラミング独学で解決できない問題にぶつかったとき
プログラミング独学の初心者が、プログラミングに躓いた時に質問できるサイトを紹介します。
わからないときはネットで検索が基本ですが、それでも解決できない問題に当たることはあります。
そんな時はプログラマー向けの質問サイトを利用しましょう。
これらのサイトはエンジニアも良く利用していて、技術交流の場として使っているプログラマーもたくさんいます。
stack overflowは英語サイトですが、コードが読めれば理解できるので載せておきました。
自分で考える力を身につけないと、プログラミングスキルは向上しないからです。
あくまで補助的な目的ですが、知っておくと便利なので活用してください!
現場で通用するプログラミング力について
独学でプログラミングの基礎が終わったら、IT企業などでプログラミングの仕事をすることをおすすめします。
辛い現実をお伝えしますが、プログラムの基礎ができた程度では現場で通用しません(僕も経験しました)。
基礎レベルのプログラミング能力では、プログラマーとしてはスキル不足になります。
ただ転職して失敗だったかと言うと、そんなことはありません。
最初は本当に辛く何度か”うつ病”になり転職しましたが、プログラミングスキルは残ったので仕事探しには困っていません。
最初は辛いのですが、現場でプログラミングをすることで、独学よりも断然スキルアップすることができます。
ちなみに実際に1人でプログラミングができるようになるまでは、1年以上かかりました。
ですが、1人でプログラミングができるようになると、どの現場でも通用しますし、フリーでやっていく自信もつきます。
独学でもプログラミングの基礎は覚えられます。
プログラミングができるようになると、需要の多いIT企業で働くこともできますし、フリーランスとして独立することもできます。
プログラミングは人生の選択肢が広げることができるので、まずは独学からチャレンジしてください!
他にも僕が役だったプログラミングやエンジニアの仕事について、やっている副業なども紹介していくので、よろしければ参考にしてください。