これからプログラミングをどのように学習していくかお悩みではありませんか?
「プログラミングを学習したいけど、何から学んだら良いのか?」
「プログラミングスクールに通った方がいいの?」
「どのようにしてアプリを作るの?言語は何が良いの?」
といった疑問はありませんか?
この記事ではプログラミングを学ぶ際に、入門編としてどのように学習したら良いかを現役エンジニアが解説いたします。
ぜひ参考にしていただけますと幸いです。
そもそもプログラミングとは何か?
プログラミングを学ぶことの意味は何でしょうか?
「フリーランスとしてオンラインでも仕事ができるプログラミングを仕事にして、自由に生きたい」
「エンジニアとして物作りに携わりたい」
などの目的があるのではないでしょうか。
そもそもプログラミングとは何か?を知りたい方は下記の記事でご紹介しておりますので、続きはそちらをご覧ください。
プログラミングの入門に適した言語
入門言語と言えば、やはりRubyでしょうか。
理由は「記述量が少ないから」というだけの理由です。笑
例えばHello Worldと書いて出力されるだけでも
Javaですと
System.out.println(“Hello World!!”);
でちょっと長いのですが、
Rubyですと
puts “Hello World”
のようにめちゃ短くかけるんですよね。
それだけRubyが優れているのですね。
ただし、個人的にはPythonもかなりわかりやすいと思います。(機械学習までいくと別)
なので、Rubyがやはり入りやすいかなと思います。
プログラミング独学方法、学習ルート紹介

さて、プログラミングはあくまで手段だとお考えください。
あなたも何か目的があってプログラミングを学習しよう・しているのではないかと思います。
それぞれの目的を達成するための、最適な学習方法ルートを私のこれまでの経験に基づきご紹介させていただきます。
目的別プログラミング学習ルート
大きく4つの目的ルートに分類させてみました。
ルート1:プログラミングを理解したい方(教養として・営業としてエンジニアと仕事をしている。エンジニアの仕事を理解したいなど)
ルート2:自分でオリジナルアプリをつくりたい方
ルート3:フリーランスエンジニアとして自由に生きたい方
ルート4:エンジニアになりたい方
それぞれのルートに沿って最適だと思われる学習方法を解説しますね。
プログラミング学習目的ルート1 プログラミングを理解したい方

自分がプログラミングをする訳ではないが、プログラミングを理解することでエンジニアの大変さを知りたい・プログラミングを教養として理解したいといった方。
そういった方々は以下のようなルートがオススメです。
1、無料オンラインサイト・アプリで学習してみる
見出しを後述しておりますので、ご覧ください。
2、プログラミング入門書籍で学習してみる
こちらも見出しを後述しておりますので、ご覧ください。
正直なところ、基礎を理解したりエンジニアの仕事を理解するだけであればオンラインサイトで学習したり、書籍で学ぶだけで十分です。
プログラミングスクールに通っても学ぶ内容はほぼ同じことです。
エンジニアになるのであれば別ですが。
プログラミング学習目的ルート2 自分でオリジナルアプリをつくりたい方

オリジナルアプリを開発したい場合、少なくとも
・プログラミングとは何か?を理解しているか
・どのようにしたらアプリを作成できるか?
・初歩的なエラーを自己解決できるか?(タイプミスや、実行ディレクトリの場所が違う、テンプレートエラーなどの初歩的エラーを直せるか?)
などができないと簡単なオリジナルアプリ開発でも開発は難しいでしょう。従って、以下のようなルートをオススメします。
1、無料オンライン学習サイトで学習してみる
こちらは見出しを後述しておりますので、ご覧ください。
割愛させていただきますね。
2、プログラミング入門書籍で学習してみる
こちらも見出しを後述しておりますので、ご覧ください。
3、プログラミングスクールに通う
これは最終手段ですね。
オリジナルアプリを作っている時にどうしても解決できない問題が出てきた時には、プログラミングスクールで相談するか、エンジニアに相談するかしかありません。
プログラミングスクールですとTECH::CAMPがオススメです。直接、教室で教えてくれます。
他のオンラインのプログラミングスクールも受けてみたのですが、私はここが一番しっくりきました。
ただし、プログラミングスクールではオリジナルアプリの開発についてはだいたいはアドバイスしかしてくれません。
またエラー解決であれば見てくれますが、基本的には自分で全て解決・実装しなければならないと事前に把握しておきましょう。
そのような場合には知り合いのエンジニアに相談するか、エラー解決専門のサイトで相談するしかありません。
エラー解決できない時間は、あなたの大切な時間を刻々と奪っていきます。
目安:3日〜5日悩むエラーなら相談した方が早いですね。
時給で1000円で1日10時間勤務で換算した場合なら、3日で3万円・5日で5万円かかってしまっています。
であるならば、ささっとお金を払って聞いた方がお得だと思われます。
弊社でもエラーの解決に関してご相談いただくことは可能です。
お困りの方はご連絡くださいませ。
プログラミング学習目的ルート3 フリーランスエンジニアとして自由に生きたい方

こちらを目的にエンジニアを目指していらっしゃる方には私がエンジニアとしてまず申し上げないといけないことがあります。(画像はおそらくリモートで仕事をしたいと考えている方の理想図)
それは
リモートワークを達成するためにエンジニアになるのはやめた方が良い
ということです。
理由は3つあります。
1、プログラミングには向き不向きがある。
2、一生高度な技術を勉強し続ける覚悟はあるか?
3、今の仕事で誰かに頼ることなく仕事ができているか?
理由としてこの3つがあります。
1、プログラミングには向き不向きがある。
に関してですが、残念ながらエンジニアにも向き不向きというものがあります。
そしてエンジニアとして向いている方々は、学習意欲が違います。
私の周りにいるとてもできるエンジニアがおり、その方を例にあげると
仕事はエンジニア。ストレス解消はプログラミング
という方です。
こういった方にプログラミングを普通の仕事としてしか受け入れられない人が勝てるか?
絶対勝てません。
まさに「好きこそものの上手なれ」です。
彼らは努力しなくても楽しみながら技術が向上するのです。
なんだそれって感じですよね笑
弊社所属のエンジニアの中にそういったエンジニアもおります。
逆に言えば、プログラミングをゲームのように感じてどんどん技術を吸収できる方はエンジニアに向いていると思います。
2、一生高度な技術を勉強し続ける覚悟はあるか?
これは1に関係してきますね。歳をとろうが、エンジニアであるならば技術をどんどん勉強していかねばなりません。
IT技術は日々進化しています。その進化に追いつかねばなりません。
知人のエンジニアが「技術について行くのがとても大変・・・」と言っていたのを覚えています。
私もそうですが、本当に大変です・・・
3、今の仕事で誰かに頼ることなく仕事ができているか?
仕事をしていれば誰かにあまり頼らず、こなさなければならない業務もたくさんあります。
リモートワークになればなおさらです。チャットで連絡を取り合いますが、一人で作業していることもあり
自分でどこまで解決ができるのか?
が非常に大切になってきます。チャットでのやりとりも非常にコミュニケーションコストがかかってきますので、一人で解決できることもリモートワークでのマストですね。
以上、リモートワークをしたいからといってエンジニアになると非常に大変な目にあうので、やめておいた方が良いでしょう。(そもそも、リモート目的で採用してくれるところはあまりないと思います。)
プログラミング学習目的ルート4 エンジニアになりたい方

こちらは選択肢は一つですね。プログラミングスクールのエンジニア転職専門コースを受講した方が早いでしょう。
スクールであれば、TECH::EXPERTがオススメです。
TECH::EXPERTなら実績としてNewspicksに転職した方もいらっしゃいますし、転職できなければ返金保証もついてます。また、転職後も連絡をくださったりフォローもしっかりしていました。
以前私はここでお世話になったのですが、担当してくださったキャリアカウンセラーの方もとても親切にご対応してくださいました。
他のスクールに関しても実績を見て良いところであればそこから転職してみても良いかもしれませんね。
その際に見るべきところは
・キャリアカンセラーは誠実な方か?
・転職後のフォローはどうなっているか?
・転職できなかったら返金保証はあるか?
・これまでの転職実績は?
これらを参考にプログラミングスクールを選ばれると良いと思います。
*プログラミングスクールに行かずにオリジナルアプリを持って、独自で就職することももちろん可能です。ただし、その場合には、以下のポイントを把握しておきましょう。
・新しい技術をキャッチアップしているか?
・オリジナルアプリは社会の何の課題を解決するために開発したのか?どのくらいの期間で開発したのか?
・qiitaやその他で、オープンソースを何か出しているか?
企業の採用担当者は、エンジニア採用では「論理的な思考ができているか?」「課題を自分で作って解決できる人か?」「勉強しているか?」「伸び代のある人か?」を特にみています。
上記を頭にいれて就職・転職活動を行うと良いでしょう。
プログラミング入門でオススメの本
それぞれの書籍に関しての詳細は別記事で紹介しておりますので、別途ご覧ください。(執筆中)
【HTML/CSS】
【Javascript】
【Ruby】
【Rails】
プログラミング入門でオススメのサイト・アプリ
それぞれのサイトに関しての詳細は別記事で紹介しておりますので、別途ご覧ください。(執筆中)
フロントエンドを学習されたい方は下記のサイトもおすすです。とてもわかりやすいですね。
以下は現場のエンジニアが見ているフロントエンドのサイトです。有料ですが、かなり勉強になりますのでこちらもオススメです。


