初心者がプログラミングを勉強する助けになるサイト等

#はじめに
筆者のプログラミング暦は職業訓練で半年、IT業界で2年ちょい。
運用メインで開発から離れた期間が1年ちょいで、プログラミング暦は多分実質1年くらい。
JavaスタートからPHPを摘んだりJavascript(jQuery)、C#辺りを業務では使ってました。
フロント～バックエンドを広く浅く触りつつ、どれもまだまだ初心者の域を脱しきれていない感。

現在はweb方面への転換を目論みRails勉強中。
レガシーな現場で特殊な業務知識ばかり覚えて技術が身につかないのはもういｙ（

そんな筆者のこれまでのプログラミング学習における所感を綴ってみます。

#職業訓練校
未経験でもお金はなくとも勉強させてくれる。詳しくはハロワへ。

レベルとしては実務に耐えられるものでは無いです。講師にもよるのではと思いますが。
受講生はPC持ってなかったりキーボード操作時点で何が何だか分からなかったりもしますが、レベルとしてはそちら側に寄せつつ進めていく感じ。
キーボードのタッチタイピングや情報処理の基礎（入出力装置、CPUがどうたら…）などから始まり、ExcelやwordにPowerpointなどの訓練にそれなりの期間を割いてました。

Javaの実習はコマンドラインから応答する形式がメイン。
一応mysqlなどと連携して図書館アプリっぽいものを作ったりした記憶も。
後は自由課題（投げっぱなしともいう）でandroidを選択出来ましたが……まぁ撃沈しましたよね。

ただ、自学自習できる時間的余裕はありますし、基礎を教えて頂ける・質問可能な環境というのは割と得がたいものだと思います。
周りに流されずストイックに取り組むことが出来れば、かなりの成長も見こめるのでは無いかと思います。
要するに本人の努力次第。~~なんでやらなかった。言え！~~

#参考書
基本的には初心者向けと謳ってるものが初心者には使いやすいのかなと思います。
上級者はガッツリ系を勧めて来たりもしますが、とりあえずは読みやすい・とっつきやすい物から初めて良いのでは。
パーフェクトガイド系、ポケットリファレンスは手元にあると安心感。実務でも重宝すると思います。
アマゾンの評価なども参考にしつつ、対応する言語のバージョンを確かめてなるべく最新の物を選びましょう。

まずはきちんと読み終えられそうなモノで十分だし、フィーリング大事。
ある程度カラーページが差し込まれている方が脳は活性化したりします。
デザインや文章・目次の構成等をざっと見て、自分に合う物を選びましょう。
一冊読み終えた自信を持って何か作ってみて、撃沈したらまた参考書のレベルを上げれば良いでしょう。
実現したい物に対して特定の機能の理解が足りないなと思ったら次は自然と分厚い奴や高価い奴になると思います。
個人的にはある程度基礎が出来れば後はwebで調べれば大体どうにかなると思ってます。~~筆者は読むだけで割と満足しがちですが。~~

ちなみに、筆者は秀和システムさんのパーフェクトマスターや山田祥寛さん著書などにお世話になってます。
本の虫。参考書の数だけは30を超えてた…。

#ドットインストール
[ドットインストール](https://dotinstall.com/home)
超有名どころの動画による学習サイト。
なぜか食わず嫌いしていましたが、最短で学習を目指すならこういったコンテンツを利用した方が良さげ。
最新とは言えずとも、技術的にある程度トレンドを抑えてくれているのではないかと思います。

・メリット
基本、動画を見るだけなので楽ちんです。
人間の肉声と言うことで、視覚情報以外が活性化されるのも記憶の定着にプラスな気がする。
学習サイトや本の文字ばかりだと疲れますしね。
人間が興味・関心を持ちやすい体裁でのインプットを併用しつつ勉強できるのではないかなーと思われます。

内容は初心者向けですが、よく使われるパターンやちょっとしたテクニックなども学べます。
結局どこを押さえれば良いの？　という不安が付きまとう初学者にとっては大変ありがたいサイトです。

#progate
[プロゲート](https://prog-8.com/languages)
これも多分かなり有名な学習サイト。
スライドで要点を学習し、お題に対してブラウザ上でコードを書いて、実行結果を確認できます。
スライドの説明は、親しみやすいキャラクターが分かりやすく丁寧に教えてくれます。

無料だと15レッスンまでで終了。有料会員が月額980円ですが、下手な参考書を買うよりは間違いなく有用だと思います。
ひつじ先生や忍者わんこと一緒にゲーム感覚でチャプターを進め、学習量に応じてレベルやランキングなどにも反映されるので、モチベーションも保ちやすかったですね。
初心者に対してかなり親切な構成。まずある程度の基礎力を身につけたい場合には、ドットインストール　⇒　プロゲートの流れで大体大丈夫な気がしてます。

#CodeIQ
[コードアイキュー](https://codeiq.jp/)
スキルチェックとスカウトをメインとしたサイトなのかなと思いますが、娯楽的な要素も多く、連載系のコミックを何も考えずに読んでるだけで割と楽しいです。
一応、業界の範囲での話題や技術ネタなどがベースなので、あまり難しいことを考えずに無理なくさりげなくインプットし知識を増やしていけるコンテンツなのではないかと。

学習した成果をスキルチェックなどで確認すれば、ある程度の指標にもなりそうですね。
こちらで玉砕してもめげずに、一個ずつでも出来ることを増やしていくのが大事。

ちなみに筆者はスキルチェックAまでは何となくフワっと解けてしまいましたが、Sは…
これをコードでどう実装すればいいのか…何が何だかわからない。~~もうだめだおしまいだぁ！~~。

#paiza
[パイザ](https://paiza.jp/)
スキルチェックが出来、一定のスキルレベルであれば書類選考なしで面接・カジュアル面談が可能に、と言うのがウリのようです。

**それはそれとして**こちらも娯楽要素がふんだんに用意されてます。
プログラミング力をゲーム感覚でチェック・鍛えられそうな試みが多く、個人的にはすごく気に入ってます。
動画学習なども用意されており、プロの声優さんが優しーく丁寧に教えてくれるので色々とはかどります。
動画内で解説してくれるのはpaizaキャラクターの霧島京子ちゃんかわいい。どっこいしょー！
声優さんの力ってすごいですなー。聞いてるだけで割と和みます。
孤独にモニターと向き合うのに疲れたら、彼女のボイスに癒されつつついでにプログラミング知識のインプットを試みるのも良いのでは無いかと。現時点の所感では基礎やおさらいレベルかと思いますが、楽しく学べる（人によりますが）点は大きいと思います。

スキルチェックは一回のみ挑戦可能・制限時間ありと言うことで緊張感。
DやCまでは基礎を押さえれば結構楽に辿り着けそうですが、B以上からちょっと難易度がありそうです。
一応、筆者はAまでは何とか辿り着きーのS問題も解けたものはありましたが、Sへの昇格はまだまだ先になりそうでした。

#まとめ
思った以上に長々と書き綴ってしまいましたが、結論。

**好きな（自分にあった）やり方を見つけて、なるべく無駄に苦しまずにスキルを磨きましょう！**

どうせならなるべく楽しく前向きにやりましょう。
特に初心者の内に学習が苦行になってしまっては、長く維持出来ないんじゃないかと思います。
筆者の感想としては、以前はインプットのメインが参考書でしたが、有名どころのサイトはチェックして試しておくべきだったなと反省中。
刺激・インプットは視覚・聴覚・感情（モチベーション）を意識して構成された学習サイトの利用が効率的でした。
アウトプットに関しても、自分で何か作るまでは行かずとも、ちょっとしたスキルチェック等で学習成果をフィードバッグ出来るのは大きいと感じました。

Qiitaの有用性は語るまでも無いと思われるので割愛。