独学でプログラミングをはじめた人の90%以上が挫折してる統計があるようです。
「独学でプログラミングを覚えることはできるのか?」
「プログラミグを学習したいけど、なにからはじめればいい?」
こんな疑問を持ったあなたに、ITエンジニア歴17年の僕が、初学者がプログラミング入門として学びやすい内容を紹介します。
はじめに言っておきますが、挫折する人たちの多くは不純な動機、再現性の低い情報をうのみにした等が挫折の原因だと僕は分析しています。
だれになにを吹き込まれたかしりませんが、本気でプログラミングをはじめる理由のあるあなたにぜひ読んでほしいです。
とはいえ、プログラミングをどんなきっかけではじめようとあなたの自由なので、さあここから本気でプログラミングをはじめましょう!
僕は17年間ずっと独学ですよ!ある程度スキルが付けば、学習しながら稼げるようになります。
なので、はじめはあせらずしっかり基礎と常識を学習しましょう。
独学でプログラミングをはじめる前に
最近インターネットの普及(4G。もうすぐ5G)で、手軽にオンラインで学習できる環境が多くなってきています。
すでに、Progateなどで独学学習をしているかたもいると思いますが、
独学でプログラミングをはじめた人の90%以上が挫折してる現実。。
一体なにが原因なのか。
答えは2つです。
- モチベーションが維持できない
- 覚えることが多すぎて暗記できない
モチベーション維持
モチベーションを維持できないのは、明確な目的がないからじゃないですか?
不純な動機、再現性の低い情報をうのみにした等もこれに含まれますね。
プログラミングを習得することが目的になっていたら、モチベーションは続きません。
ダメなパターンは、
- みんなプログラミングやってるから
- プログラミングって楽勝らしい
- なんかカッコいい
- 簡単に稼げるってきいた
少なくともこれくらい目的を持ちましょう。
- 転職したい
- フリーランスになりたい
- 自分のサイト・ブログを構築したい
- 稼ぎたい
プログラミングの習得はあくまで手段として位置づけ、それによって達成したい目的をはっきりさせましょう。
プログラミングは暗記ではない
覚えることが多すぎて暗記できない。
この思考は間違っています。
プログラミングは全て暗記する必要はまったくありません。
じゃあどうしているか。
たとえば、
Rubyで「123456789」から「6」が何番目にあるかを取得したい。
僕の思考、
- たしか文字変数から文字位置をとる関数があったよなー
- Ruby 文字列 位置 でググる
はい、これで正確な使い方がほぼでてきます。
こんな感じで、うすく広く覚えておけば、あとはググればいいんです。
それに、自分のコーディング実績がお手本になっていくよい循環がうまれます。
わかりやすくたとえで表現すると、
前田敦子がAKBを卒業したのっていつだっけ?
この問いに答える思考と同じです。
前田敦子、AKBはうすく知ってると思います。
では、卒業したのはいつか?
これは、即答できないですよね。
でも、ググればすぐ答えがでます。
こんな感じです。
プログラミングに資格ってあるの?
モチベーションのなかに転職についてありましたが、プログラミングで転職するのに特有の資格って必要なの?
こんな疑問もあると思います。
プログラミング系の資格はたくさん存在しています。
でも、プログラマーになるのに資格は必要ありません。
これが答えです。
とはいえ、あなたがどれだけのスキルがあるか計るためにもってて損はないです。
といいつつも資格なんかより、実際に作ったサイトをポートフォリオとして用意し、それをスキルとしてみてもらう方が説得力はあります。
ちなみに、プログラミング系の資格の中には国家資格もあります。
権威を得たいのであれば、取得するのもありです。
独学ではじめるならWeb系プログラミング
独学で学習するのに、おすすめはWeb系プログラミングです。
なぜなら、僕が17年間Web系プログラミングでやってこれているので!
まずは、マークアップ言語のHTML/CSSから習得しましょう。
つぎに、フロントエンド言語としてのJavaScriptを習得します。
それから、バックエンド言語のPHP・Ruby・Java・Pythonこの4つから、どれかを習得します。
ここでは、わかりやすくマークアップ言語にすみ分けしてます。
HTML/CSS/JavaScriptについては、こちらの記事でくわしく深堀しています。
バックエンド言語の4つについて少し深堀してみます。
PHP
WordPress案件の需要が安定してあります。
PHPフレームワークのLaravelの案件も多いです。
WordPressを覚えるか、PHPフレームワークのLaravelを覚えるか、悩みどことですね。
有名どころ | Facebook、Wikipedia、WordPress |
---|---|
習得難易度 |
Ruby
必ずセットで覚えることになります。
Rubyはコードが短く美しいので、ぼくは大好きな言語です。
注意点としては、Rubyを覚えてしまうと、他の言語に応用があまりきかない。
有名どころ | クックパッド、クラウドワークス、AirBnb |
---|---|
習得難易度 |
Java
なので、一般に公開されているサイトではあんまり利用はされていないのです。
Javaはまず言語を覚え、それからフレームワークをどれか覚えましょう。
フレームワークは、Strutsや、Spring。ニッチなとこだとナブラーク。
それぞれ、言語以上におぼえるの大変です。
有名どころ | なし |
---|---|
習得難易度 |
Python
調べたところ、Rubyみたく初心者向けで覚えやすい言語のようです。
なのですが、WEB系の言語というより、機械学習、AI用の言語としてのイメージが強いです。
フレームワークはDjangoがおすすめです。
有名どころ | YouTube、Instagram、Dropbox |
---|---|
習得難易度 |
プログラミングを独学する方法
まずは無料でプログラミングに触れる
独学するには、時間を使います。
その覚悟ができれば、Progateの無料範囲の基礎コースを使って早速始めましょう。
試しに、
- HTML/CSS
- JavaScript
の基礎コースを無料で試しましょう。
成長には自己投資が必要
Progateやっていけそうなら、有料会員(月額1000円ほどです。)になりましょう。
成長には自己投資が必須です。
アプリゲームに課金すると思って、登録してしまいましょう。
- HTML/CSS
- JavaScript
を全コース学習しましょう。
Progateについてはこちらの記事でも解説しています。
そのあとにバックエンド言語も学習しましょう。
迷ってるならRubyがいちばんおすすめです。
それかBootstrapやJQueryを(CSS/JavaScriptのライブラリィのこと)学習してランディングページを作れるようになるのもありです。
こんなサイトのことです。
見た目、動き、レイアウトなどはコーディングできる範囲のはずです。
データベース言語
忘れたわけではないですが、バックエンド言語と合わせてSQLも覚える必要があります。
データベースを制御する言語です。
データを登録したり、登録するテーブルを作ったり、データを抽出したりします。
SQLはほぼ共通で使えますが、データベース自体はオープンソースだと、
MySQL、PostgresQL、SQLiteなどがあります。
MySQL
基本的に無料で使用することができます。
多くのレンタルサーバでプリインストールされていることが多い。
PHPとよくセットで使うことが多い。
PostgreSQL
僕的にはPostgreSQLが一番大好き。
MySQLよりも規模が大きなシステムで使うイメージですね。
もちろん無料で利用可能です。
僕はRubyとセットで開発した経験あり。
SQLite
WEBサイトではあんまり使うイメージはない。
アプリに組み込まれて使うデータベース。
こちらも無料で利用可能です。
まとめ:プログラミング学習を失敗する理由は2つ
ITの発達により、注目されている「プログラミング」はトレンドです。
その理由は下記の通り。
- 学歴関係なし
- 経歴関係なし
- 年齢関係なし
- テレワーク可能
- プログラムスキルが資産になる
フリーランスになるもよし、就職するもよしですが、ますはしっかり学習してプログラミングで食べていきたいと思えたなら、まずは就職してキャリアを積みましょう!
フリーランスになるのはそれからでも遅くはありません。
- HTML/CSS
- JavaScript
- バックエンド言語(PHP・Ruby・Java・Python)とSQL
この順ですね。
最後に、成長の方程式をお伝えしておきます。
時間 × お金 = 成長
独学手順をさらに深堀りした記事があるのでこちらもどうぞ!
ユウキでした。