初心者が独学でプログラマーになる為に必要な環境・教材・時間

初心者が独学でプログラマーになる為に必要な環境・教材・時間

どうも、32歳未経験からでプログラマーに転職した志だけ高く年収は低い社畜です。

プログラミングってどうしても専門スキルでめっちゃ勉強しないと身につかない、というイメージですが、案外自宅学習でも身につくんです。

他の記事でも書いたとおり、僕は収入的な事情で学びながら雇用保険がもらえる職業訓練校を活用して転職しましたが、その時にに調べた自宅学習の方法は、実際にプログラマーとして働いている現在も役に立っています。

個人的には、

コツさえ掴めば自宅学習の方が効率良いんじゃね?

とさえ思っているくらいです。

そこで今回は、初心者が自宅学習だけでプログラミングを学ぶために必要なものについてご紹介しようと思います。

 

 

必要なものは大きく3つ

プログラミングの自宅学習に必要なものは大きく分けて

環境・教材・時間、です。

以下で詳しくご紹介していきます。

 

 

環境

プログラミングの自宅学習に必要な環境については、以下のように必須なものとあれば尚良いものに分かれると個人的に考えています。

【必須】

パソコン

インターネット環境

開発者ツール

各種WEBサービス

 

【あれば尚良し】

相談できる相手(有識者)

以上です。

さらに詳しく解説します。

パソコン

まずはパソコンがないと始まりませんね。

最近はタブレット端末が普及していますが、プログラミングするならデスクトップかノートパソコンが無いと苦しいでしょう。

スペック(性能)はそこまで高くなくても良いと思いますが、参考までに僕の個人的な推奨スペックを書きます。

画面:15インチ以上

OS:Windows7以上、MacOS10.10(Yosemite)以上

メモリ:4G以上

他の性能は特別こだわりがなければ何でも良いです。

画面サイズ15インチ以上としたのは、画面が小さいとただでさえ不慣れなソースコードが余計見づらいからです。

OSのバージョンに関しては、古いOSだと開発者ツールの動作が保証されない可能性があるから。

メモリについては動作スピードが遅すぎると効率が悪くなり、精神衛生上も良くないので。笑

このくらいのスペックなら、一から揃えてもそこまで費用もかからないはずです。

 

インターネット環境

繋がれば別に何でも良いですが、後ほどご紹介する開発環境のダウンロードや、WEBサービスの利用の際など、学習中ネットは常時使うので、あまりに通信速度が遅すぎると何かと不便だとは思います。

 

開発者ツール

開発者ツールは、学習したいプログラミング言語や作りたいモノによって適切なものを選択することになると思います。

ちなみに開発者ツールのことをIDE(統合開発環境)と呼びます。

参考までに、「言語(作りたいモノ)」別にポピュラーな無料のIDEをいくつかご紹介します。

Java(WEBアプリ)・・・eclipse(エクリプス)

Java&kotlin(Androidアプリ)・・・AndroidStudio(アンドロイドスタジオ)

Swift(iPhoneアプリ)・・・XCode(エックスコード)

PHP(WEBアプリ)・・・eclipse(エクリプス)

Python(AI・機械学習)・・・PyCharm(パイチャーム)

IDEの種類によってはOSの種類・バージョンとの互換性が無い場合がありますのでご注意ください。

また、もしお持ちのパソコンで上記のIDEが使えなくても諦めないでください。

今はいろんなIDEが出ていますので、別のIDEを使えば環境は作れるはずです。

 

相談できる相手(メンター)

プログラミング学習はわからない、動かないの連続です。

自分で解決できるに越したことはありませんが、どうしてもわからない時は人に質問するのが一番です。

いやほんと、教えてもらったら一瞬で分かることが、自分ひとりだと解決に何時間も要するとか普通にあるんですよね。

もし、そんな人いないよ!という人は下記のような質問サイトでも代替が可能です。

teratail
https://teratail.com/

Qiita
https://qiita.com/

僕も普段から上記のサイトを使うことがありますが、質問に回答してもらえるまでの平均時間は早くて1時間、遅くても夜質問して朝起きれば大体どなたかが回答してくれている感じです。

また、こうした質問サイトを使うことで、「文字だけで人に説明する」訓練にもなります。

実際に開発現場で働くと、別のフロアやオフィス間でやり取りすることも多々あるので、以外とこの経験が役立っていると個人的には思います。

 

 

教材

学習に欠かせないものといえばそう、教材ですね。

今はインターネットがあるので教科書を買わなくてもなんとなく情報を得られますが、その中でも、より効率よく学ぶために学習サイトの利用をおススメします。

また、書籍にも良いものがたくさんありますが、初心者の方はまず学習サイトで手軽にはじめた方がよいと思いますので今回は割愛します。

僕が自宅学習の際に利用した学習サイトをいくつかご紹介します。

 

学習サイト

Progate
https://prog-8.com/

WEBブラウザ上でプログラミングができる学習サイト。

これなら上でご紹介した環境構築すら必要ありません。

初心者には最もおススメのサイトです。

ドットインストール
https://dotinstall.com/

現役エンジニアが様々な言語のプログラミングを動画で解説してくれるサイト。

個人的は一番お世話になった気がします。

有料もありますが、初心者ならまずは無料プランで十分だと思います。

動画なので反復にも最適です。

CODEPREP
https://codeprep.jp/

反復学習といえばこちらもおススメのサイト。

Progateと同じくブラウザ上でコードを書いて、穴埋め問題を解く形式です。

問題ごとに分からない部分を共有できるディスカッションボードという機能も便利です。

 

公式リファレンスサイト

様々なプログラミング言語がありますが各言語には開発者がいます。

その開発者が「この言語の仕様はこうだよ」と世界に公開しているものが公式リファレンスです。

初心者だけでなく、プログラミングをする限りは必ずお世話になるものですので、見慣れておいて絶対に損はありません。

以下に人気のプログラミング言語の公式リファレンスサイトをご紹介します。

Java
http://www.oracle.com/technetwork/jp/java/java-sun-1440465-ja.html

Swift
https://developer.apple.com/jp/documentation/

PHP
http://php.net/manual/ja/langref.php

Python
https://docs.python.jp/3/index.html

JavaScript
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference

 

 

時間

実用的なプログラミングの知識というのは多岐に渡るため、学習には時間が必要、というのは初心者の方でも想像できることだと思います。

ですが、今回僕が言いたいのはそこではありません

1日10分で良い

特に初心者の方は、1日10分の時間を確実に確保してください。

少なっ!!と感じた方へ、なぜ1日10分で良いのか以下で解説します。

プログラミング学習は挫折する人が多い

プログラミング学習は、できない事、わからない事にぶつかっては乗り越えるの繰り返しです。

例えば開発環境を構築する際、パソコンやIDEのバージョンが違うだけで、学習サイトで紹介されている方法通りやっても上手くいかない事があります。

そんな時は自分でググる、質問サイトで聞くなどして解決するしかないので、中々前へ進まないと苛立ちを感じる場面が多々あります。

そうしてついには「独学じゃ無理だ」と諦めて挫折してしまう人が多いのだと思います。

少しの時間でも毎日反復することが重要

また、週末などまとまった時間を取れる時にがっつり勉強するのも個人的にあまりおススメしません。

初心者といえど、数時間あればかなりの量のコードを書けるはずですが、その全てを次の週末まで覚えておくにはよほどの記憶力が必要だと思います。(僕には無理でした)

結局、数日振りにソースを開いて

あれ?ココ何でこんな書き方したんだっけ?

となる事が多いんです。

それなら、毎日少しの時間でも良いので、体が覚えるまで反復する方が結果的に身につきやすいと思います。

だから、1日10分でも良いから習慣付ける、です。

実際僕は、気分が乗って楽しい日は飽きるまで、苦しい日は10分で終わり!という自分ルールでやってました。

あと、飽きないためにおススメの対策としては

作りたいモノを明確に決める

メンターや質問サイトですばやく解決する方法を確保する

こうすることで、「分からなくて手詰まりになる時間」を減らし、モチベーションを切らさず継続して学習できる環境に近づけることができるようになります。

 

 

まとめ

いかがでしたか?

今回の記事をまとめると、プログラミング初心者が自宅学習で必要なものは

プログラミング環境
質問・相談できる相手
学習サイト
1日10分の時間

ということですね。

まさに今プログラミング学習に挫折しそう(又は挫折した)な人が再チャレンジするきっかけになれば幸いです。

最後までお読みいただきありがとうございました。

コメントを残す

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