監修者 蟇目 雄介
大手システムインテグレーターで7年間基幹システム開発に従事し、gumi等でソーシャルゲームのデータ解析や運用開発を担当。Goodpatchでプロトタイピングツールを開発し、R CUBEにCTOとして参画して花嫁向けWebサービスを立ち上げる。2017年5月にフリーランスエンジニアとして独立し、2018年7月に株式会社マスドライバーを設立し、代表取締役に就任。フルスタックエンジニアとして活動中。
=======
プログラミング初心者は何から勉強すればいいのか。
本記事ではその手順を解説します。本記事を読めば、プログラミング初心者が各ステップで何をすべきなのか理解でき、かつプログラミング初心者が避けるべきことも分かるようになります。
インターネットで「プログラミング 何から」で検索すると、様々な記事が出てきますが、時間をかけて読んでも、何をやればいいかわからないことはよくあるはずです。
そこで今回は、選択肢をただ羅列するだけでなく、「具体的にやること」を3つのステップ形式でわかりやすく説明します。
僕の経歴と、本記事でお伝えできること
僕はもともとプログラミング初心者でしたが、社会人になった後にプログラミングスクールで、仕事を続けながらプログラミングをゼロから学び、現在はフリーランスエンジニアとして活動しています。
新卒エンジニアではなく、社会人になってから、プログラミングを始めたので、プログラミング初心者が抱きがちな「プログラミングって何から始めたらいいの?」ということは、身をもって体験し、理解ております。僕も最初は困り果てたものでした(笑)
僕自身も苦悩した過去の経験も踏まえ、プログラミングを学ぶ手順について丁寧に解説していきます。
Contents
プログラミング初心者は何から始めればいい?
結論としては、以下3つのステップで進めることをおすすめします。
プログラミングを始める手順
- プログラミングを学ぶ目的を決める
- プログラミングで学ぶ言語を決める
- 勉強をスタートする
この3つの手順でOKです。それぞれ解説していきますね。
ステップ1 プログラミングを学ぶ目的を決める(どうなりたいか)
まず第一は、プログラミングを学ぶ目的を決めることです。目的というと難しく感じるかもしれませんが、以下のようなものです。
プログラミングの目的の例
- エンジニアにキャリアチェンジしたい
- フリーランスエンジニアになってお金、時間、働く場所に係る自由を手に入れたい
- 自分でWebサービスを作って売り出したい
- プログラミングスキルを身につけて、副業で稼ぎたい
こんな感じです。
これを最初に決めておくべき理由は、目的を定めておかないと時間を浪費してしまったり、モチベーション維持が困難になるからです。
例えば、Webサービスを作りたいと思っているのに、インフラ系の勉強をしていたら遠回りですよね。無駄ではないですが、Web系サービスを作りたいなら、最初からWeb系言語を学ぶべきです。
また、プログラミング学習は、わからないこともたくさん出てきますので(特に初期)、明確な目的/目標/ゴールが定まっていないと途中で挫折することになります。
このように、目的を最初に決めるからこそ、最短ルートでプログラミングを習得し、理想の未来に近づくことができるのです。
だからこそ、まず目的を決めることが、最初にすべきことなのです。
ステップ2 プログラミングで学ぶ言語を決める(何の言語から学び始めるか)
目的が決まったら、次はプログラミングで学ぶ言語を決めましょう。
どのプログラミング言語から学ぶべきか迷うと思いますが、言語選びの際は、2つの選び方があります。
プログラミング言語の選び方
- 需要のある言語から選ぶ
- 作りたいものから選ぶ
この2つです。それぞれ解説しますね。
方法① 需要のある言語から選ぶ
まず1つ目は、需要のある言語から選ぶことです。
- 稼ぐ力を身につけたい
- 独立しても堅実に稼ぎたい
例えばこういった願望を持っている人は、需要のある言語から選ぶと良いです。なぜなら、世の中の仕事は「需要と供給」で成り立っており、需要が高い言語ほど、選べる仕事や人生の選択肢が広がるからです。
需要がある言語ということは、その言語を使う仕事が多くあるということです。
つまり、需要ある言語を身につけておけば、必要とされる場面が増えます。結果として、仕事を選ぶ側になれて、仕事の選択肢(単価の高い仕事/面白い仕事/面倒な作業が少ない仕事)が広がります。
一方、需要のない言語は、そもそも案件自体が豊富ではありません。むしろ、需要の低い言語は、市場に案件自体が少ないため、選べる仕事の選択肢も少なくなります。
つまり、需要の低い言語を選んでしまうと、必要な量の仕事を適切な単価で受注できる可能性が下がるわけです。
ですから、「お金を稼ぐ」「生活のため」といった理由でプログラミングを学びたいなら、需要のある言語を選びましょう。需要のある言語を選んでおけば、仕事に困る確率は低くなるからです。
需要のある言語は具体的にどれ?
結論としては、JavaやPHP、Rubyが最も需要が高い言語でして、下の図をご覧いただくとご理解いただけると思います。
上記データは一言で言えば、どの言語が最も多く利用されているかを表したデータです。これを見ると、
- No.1:Java(29.0%)
- No.2:PHP(19.3%)
JavaとPHPの2つで、全体の約50%を占めているんです。
言うまでもなく、この2つの言語は需要が高いです。ですから、需要ある言語と言ったら、こういった言語を選ぶことをおすすめします。
またもう1つのRubyは、上記データでは4.4%ですが、最近は多くのWeb系企業が利用している言語で、同じく需要が高いです。
このように、JavaやPHP、Rubyといった需要の高い言語から学んでおくと、エンジニアとして仕事や人生の自由度が高まるのでおすすめです。
方法② 作りたいものから選ぶ
もう1つの方法は、作りたいものから選ぶ方法です。
Webサービスを作りたい →→→→→→→ | Web系の言語(PHPやRubyなど) |
アプリを作りたい →→→→→→→ | アプリ系の言語(SwiftやUnityなど) |
いろいろ作ってみたい →→→→→→→ | 応用が効きやすい言語(Java) |
こんな感じです。
明確にWebサービスやホームページなど作りたいと思うならWeb系言語を、アプリを作りたいならアプリ系言語を選びましょう。
それぞれおすすめはPHP(or Ruby)とSwiftです。なぜなら前述の話と繰り返しになりますが、需要が高いからです。
前述通り、Rubyは需要が伸びており、かつ将来性も高いです。最近のプログラミングスクールはRubyを教えてくれるところが最も多く、初心者向け言語です。
実は僕もRubyから学習しました。結果的に大正解でした。Rubyは初めてプログラミングを学ぶ人におすすめですね。
また、将来いろいろなサービスを作りたいなら、汎用性が高く、応用しやすい言語をおすすめです。
その点でおすすめはJavaですね。Javaは業務システムによく使われていますが、Webサービスやアプリ開発でも使われます。
Javaは何より需要も高いですから、選択肢の1つとしておすすめです。ただ、前述したPHPやRubyと比較すると初心者には若干難易度は高めとなっています。
またリモートワークなどの働き方はJavaは少し不向きであることも留意が必要です。PHPやRubyはリモートワークとの親和性が高く、場所に縛られずに自由に働きたい場合は、PHPやRubyがおすすめです。
一度どれかを身につければ、他のプログラミング言語は後からでも学べる
実際のところ、1つの言語を習得すると、基本原理は応用できることがほとんどなので、他のプログラミング言語は後からでもできます。
ですから、入口の言語選びにあまり時間をかける必要はありません。悩みすぎて前に進めないというのは本末転倒ですからね。
- まずは易しめの言語から学びたい → PHPやRuby
- 最初から需要ある言語を学びたい → Java
こんな感じで選べば良いと思います。迷ったら需要が高く、将来性もあり、かつ稼ぎやすく、その上リモートワークなど自由度の高い働き方もしやすいPHPまたはRubyから選んでおくと間違いないでしょう。
プログラミングは実際にやってみないとわからないこともあるので、とにかく言語を決めて、まずやってみることが肝要です。
ステップ3 勉強をスタートする
ここまできたら、あとは勉強をスタートするだけです。
最初は大変ですが、プログラミングは慣れるとスイスイ作業を進められるようになります。
だからこそ、とにかくまずは一歩を踏み出すことが大事です。
プログラミングの勉強は何からどうやって学べばいい?
では次に、具体的に何からどうやって勉強していけばいいかというと、
- 方法① 独学で勉強する
- 方法② プログラミングスクールを利用する
この2つが選択肢としてあります。
独学はおすすめしない
個人的には、このうち前者の「独学」はおすすめしていません。なぜなら、独学だと無駄に時間と労力がかかる上に、挫折しやすいからです。
プログラミング独学の是非はプログラミング独学は無理ではないがおすすめしない【現役エンジニアが解説】でも書いていますが、プログラミング独学の場合、自分で本を買ったり、ネットの情報で学習したりしますが、問題はわからないことを相談する相手がいないことです。
プロのエンジニアであれば一瞬でわかるようなことも、初心者だとそれを調べるだけで数時間かかることもありまして、とにかく時間と労力がかかります。
その過程で挫折してしまう人も多く、実際プログラミングを独学で学んでいる人の約90%は挫折しているとまで言われています。
そのような事実からも、個人的には独学はおすすめしていません。
プログラミングスクールの方が早く技術を習得できる
その点、もう1つの方法「プログラミングスクール利用」は、初心者の学習方法としておすすめです。
いつでもわからないことを聞けるプロのエンジニアがいますし、カリキュラム自体も実践的なものが多いので、机上の勉強だけではなく、実践的なスキルが身につくからです。
実は僕自身、「プログラミング独学→挫折→プログラミングスクール受講→スキル習得」という流れで現在に至っており、独学とスクール両方体験した中で、スクールの良さを体感しています。
プログラミング初心者が確実にスキルアップしていくなら、スクールをおすすめします。独学だとプログラミング開発環境の設定や環境構築なども自分で準備しないといけませんが、スクールを使えば、そういった準備も丁寧に教えてくれます。
加えて、独学を希望する人は「できるだけお金をかけずに学びたいから独学を選びたい」という人が大半ですが、最近は格安で受けられる質の高いプログラミングスクールもあるので、その点含め問題ありません。
さらに、最近は就職支援がセットになったスクールが出ているため、スクール受講後にそのままエンジニア就職/転職することもできます。
このように、最初こそ費用はかかるものの、最短かつ挫折せずスキルが習得できることや、就職・転職サポートも受けられること、かつ転職できなければ全額返金保証などもあるのが、プログラミングスクールの良いところだと思います。
というわけで、未経験からプログラミングを学び、エンジニアにキャリアチェンジしたい人にとっては、プログラミングスクールは一番の近道だと思います。
じゃあ実際にどこのスクールを選ぶと失敗せず済むか、おすすめのプログラミングスクールは現役エンジニアがおすすめするプログラミングスクール22選【徹底比較】でご紹介しています。
最近は質の低いスクールもあったりするので、参考にしてみてください。本受講だけでなく取材も行い厳選しています。
![](https://andmedia.co.jp/programming/wp-content/uploads/2021/05/74_25-160x160.jpg)
まとめ
「プログラミング初心者は何から始めたらいい?」という疑問に答えていきました。ここまできたら、あとは「行動するだけ」です。「やりたいな」とか「やれればいいな」と思っているだけでは、あなたの未来は変わりません。
古代ギリシャの哲学者であるアリストテレス的な言い方をすると、下記のようになります。
①新たな考え → 新たな行動
②新たな行動 → 新たな習慣
③新たな習慣 → 新たなスキル
④新たなスキル → 新たなキャリア
⑤新たなキャリア → 新たなライフスタイル
⑥新たなライフスタイル → 新たな運命
結局、あれこれネットで調べていても何も変わりません。大事なことはまず一歩目を踏み出し、自分の中での変化点を少しでも増やしていくことです。今回の手順でやっていけば、最短1ヶ月〜数ヶ月でもプログラミングスキルを身につけてエンジニアになれますから、まずはトライしてみましょう!
人気記事CTOとして活躍し、起業したスタートアップの現役CEOに、未経験エンジニアの採用について本音を聞いてみた【14の質問】