プログラマーの需要が激増している
日本ではプログラミングができる人が圧倒的に不足している
そんなニュースを目にした人も多いと思います。
実際のところ、そのニュースは事実です。
2020年から小学生向けのプログラミング授業が必修化され、プログラミングを学び始めようという人も増えています。
でも、同時に挫折する人もたくさんいます。
ほとんどのプログラミングの初心者は勉強法を間違っていることが原因です。
私もプログラミングを学んで、副業で月収の半分ほどの収入を得られるようになったから分かってきました。
そこで今回は、プログラミングの初心者が最短でプログラマーになれる学習法を次の順序でお伝えしたいと思います。
- 初心者がプログラミングを学ぶ際に犯しやすい失敗
- 初心者がプログラミングを稼げるプログラマーになるために学習する手順
- プログラミング初心者におすすめの無料&格安の学習サイト
- プログラミングスクールのメリットと活用方法
- ITで圧倒的な遅れをとっている日本
初心者がプログラミングを学ぶ際に犯しやすい失敗
学ぶべきプログラミング言語を間違っていた
プログラミングに興味を持ち始めた人が増えるのは嬉しいことなんですが、実は今ここにあげた3つは学ぶプログラミング言語はバラバラなんです。
ざっくり言えば、以下のような感じです。
- ゲームを作るならRuby,Java
- iPhone用の便利なスマホアプリならSwift
- WebサイトならHtml/Css,PHP,JavaScript
- AIやビッグデータならPython
ただ、プログラミング言語は、
この言語はこれしかできない!
という融通の効かないものでもないんです。
JavaでできないことがC言語でできたり、
RubyでトラブルがあってもJavaなら簡単にできたり、
C言語の効率よくしたC++があります。
だから最初にプログラミング言語の選択を誤ると、めちゃくちゃ遠回りすることになったり、最悪の場合、勉強した内容が役に立たないこともあります。
でも、初心者にとってはどのプログラミング言語を学ぶべきなのかを調べるだけでも1週間以上かかることもあります。
だから、プログラミング言語の選択だけでも、プロに相談に行くことをおすすめします。
近くに信頼できるプログラマーがいない人がほとんどでしょう。
でも、プログラミングスクールでは、無料であなたに合ったプログラミング言語を教えてくれますから、必ずプログラミングを学習し始める前に相談に行きましょう。
エラーやバグが解決できずに挫折した
エラーやバグは、プログラマーを10年以上やっている人でも絶対に起こります。
エラーやバグは、プログラマーにとって宿命のようなものです。
原因の発見と修正に1週間以上かかるSランクのバグから、その場ですぐに修正できるBランクのバグまであります。
ベテランのプログラマーなら、どういうエラーが発生しているのかによって、どこを修正すべきなのかが分かります。
でも、初心者にとっては、何がなんやらわからないので調べるだけで1週間も潰すなんてザラにあります。
それが続くとどんな人でも挫折します。
だから、分からないことを質問できる環境はめちゃくちゃ重要です。
大量の本を買ったが難しすぎて挫折した
やる気に満ちたモチベーションの高い初心者は、プログラミングの本を大量に買ってしまいがちです。
でも、問題は、ほとんどのプログラミングの本は『入門』とついていても、ぜんぜん入門ではない難しさという点です。
だから、プログラミングの学習を始める時には、本は買わないというのは実はとても大切なことです。
まずは、無料のプログラミングの学習サイトで、分かりやすく楽しみながら勉強を始めることが大切です。
最初からお金をかけないようにしましょう。
完璧にマスターしようとして習得に時間がかかりすぎた
この後、紹介しますが、PHPは比較的、短期間で習得が可能なプログラミング言語です。
でも、『完璧に』となると、別問題です。
プログラミングの仕事ができるようになるには、『完璧に』習得しないといけない、と初心者は考えがちですが、そんなことありません。
8割から高くとも9割のレベルまで理解できて、バグの修正ができるようになれば仕事には問題ありません。
ゼロから8割のレベルを習得するまでにかかる時間を10とすると、8割から完璧までかかる時間は20と思ってください。
8割から上は、仕事をしながら身につけていくものです。
独学の座学だけでは絶対にマスターすることはできません。
無料にこだわりすぎて無駄に時間がかかった
無料で学びたいというのは誰でも考えることですし、悪いことではありません。
でも、無料にこだわりすぎると、無駄に時間とお金がかかってしまいます。
さっきも書きましたが、無料にこだわると、教えてもらえば1分で分かることを1週間もかかります。
あなたの時給を1000円と仮定するなら、無料にこだわるだけで16万円以上も損をしていることになります。
だから、仕事で使える一定以上のプログラミングのスキルを身に着けたいならお金で時間を買うという意識は忘れないようにしましょう。
ただし、ゼロでプログラミングスクールに通うのは少し無駄もありますので、まずは無料のプログラミング学習サイトで最低でも1週間は学んでから考えることをおすすめします。
複数の言語を同時に学んで挫折した
プログラミング言語を学ぶ時は、1つずつが大原則です。
プログラミング言語は、それぞれ書き方、コードが異なります。
同時に複数の言語を学ぶと大混乱を起こします。
でも、逆にまずは1つのプログラミング言語を習得すると、プログラミング言語特有の共通ルールが分かってきます。
『入力』『処理』『出力』という流れで動くことが分かり、命令文としてのアルゴリズムが分かると2つ目、3つ目のプログラミング言語を学ぶのにかかる時間は半分以下になります。
だから、目標として3言語が必要だとしても、まずはしっかりと1つの言語を習得することがプログラミングを習得して稼げるようになるコツです。
初心者がプログラミングを稼げるプログラマーになるために学習する手順
目的を定める:ゲーム制作?アプリ制作?起業?転職?プログラミングを学ぶ目的は?
まずプログラミング初心者は、何のためにプログラミングを学びたいのか、その目的をハッキリさせないと学習の効果が低くなるばかりか、ムダになることがあります。
先ほども書きましたが、ゲーム制作とアプリ制作は似ているようで違います。
アプリでもiPhone用かAndroid用かでも変わってきます。
学ぶプログラミング言語が間違っていると、全く応用できないというわけではありませんが、最適なプログラミング言語の方が制作しやすいのは間違いありません。
また、起業や副業などのように1人で稼いで行けるようにするのか、転職したいのかによっても異なります。
1人で完結させたいなら大規模なシステムで必要とされるプログラミング言語よりもウェブサイトやアプリで必要な言語の方が稼ぎやすくなります。
転職も、プログラマーとしての価値を高めるキャリアアップか、他業種からプログラマーへのキャリアチェンジなのかによっておすすめのプログラミング言語は変わってきます。
だから、まずは自分の胸に手を当てて、本音でプログラミングを学ぶ目的を考えましょう。
でも、やっぱりこのような情報をプログラミングの世界に初めて足を踏み入れる初心者が考えてもよく分かりません。
業界には流行り廃りがありますし、業種によっても異なります。
そのため、目的を明確にしてなんの言語を学ぶべきかについては、専門家に聞いた方が近道です。
おすすめはプログラミングスクールの無料相談で質問をぶつけてみることです。
ただ、1社だけだとバイアス(偏見)が入る可能性がありますので、2~3社に聞いてみることをおすすめします。
注意点としては、建前上のかっこいい目標を立てないことです。
自分の素直な欲求・欲望に直結してる目標の方がやる気も出やすく、目標を達成できます。
言語を確定する:必要なプログラミング言語を選ぶ
次に、目的が定まったら、その目的に必要なプログラミング言語を選びましょう。
プログラミング言語はマイナーなものも併せれば、20種類以上あります。
超有名な言語もあれば、ごく一部でしか使われていない言語もあります。
まだ日本では普及していないけど、これから伸びていく言語もあります。
さらに、英語やフランス語などの外国語ができれば、外国語と併せるとよりあなたの価値が上がりやすくなるプログラミング言語もあります。
この辺りもIT業界に所属していないと分かりません。
一般的にゲーム=C言語と言われていても、実は一部では異なっているなんてこともよくあります。
だから、やっぱり最初の出だしでつまづかないために、必要なプログラミング言語を確定させるには専門家に確認することを強く強くおすすめします。
なお、専門家のアドバイスがあっても最後の決断はあなた自身で決めましょう。
おすすめは1言語ずつマスターすることです。
期限を区切る:いつまでに実現したいのか
学ぶ目的と必要なプログラミング言語が分かったら、期限を区切りましょう。
半年以内で実用レベルまで持っていきたいのか、1年以上かけてじっくり学べるのかによって選ぶべきプログラミング言語と順序も違ってきます。
また、1日に取れるプログラミング言語の学習時間もあらかじめ計算に入れておきましょう。
1日1時間を勉強に費やすのか、8時間以上を勉強に費やせるのかで期間も習得レベルも変わってきます。
コツは、現実的な期限を考えることです。
絶対にやってはいけないのは、『気合い』や『根性』で考えることです。
気合いや根性は、モチベーションが高い最初の頃や、ごく短期間なら役立ちますが、すぐに疲れて計画がとん挫します。
真面目な人ほど、当初建てた計画が崩れだすとモチベーションが無くなってプログラミング言語の勉強そのものを放棄してしまいます。
最初の期限の中で休む曜日や日程をあらかじめ決めておきましょう。
そうすれば、もし計画が滞っても休日にがんばればスケジュールを取り戻すことができます。
ロードマップを描く:どういう順序で学ぶのか
プログラミング言語を学ぶ順序を決めましょう。
プログラミング言語は、単純にコードのかきかたを覚えればよいというわけではありません。
アルゴリズムがあって、論理があって、その上にコードがあります。
まずは、この順序でしっかりと理解しながら覚えて行かないとコードだけ覚えても実務で使えるようにはなりません。
ポイントは、最後には必ず『成果物を作る』ことです。
その成果物については後ほど詳しく書きますが、自分なりに形あるものをゼロから作り上げることでプログラミングの全体の流れを理解できるようになります。
本を読んでコードを真似て書くだけでは絶対にプログラミングは習得できません。
メンターを選ぶ:疑問の解決方法を決める
プログラミングの学習に限らず、ゼロから学ぶ時に欠かせないのは、疑問点が出てきた時に、質問できる人を決めておくことです。
特にプログラミングのようにバグやエラーが当然のように発生する仕事は、素人が自分で疑問を解決しようとすると1週間どころか1か月ぐらい軽く吹っ飛んでしまいます。
だから専門家に聞ける環境を持つことは絶対必須です。
なお、メンターを選ぶ時に気を付けないといけないのは、『あなたが学習しているプログラミング言語に詳しい人』であることは絶対です。
片手間でちょっとだけ知っている人に頼んでもメンターの意味がありません。
実務経験があり、教えるスキルのある人を探してお願いしましょう。
メンターは、普段はプログラマーやエンジニアとして活躍している専門家です。
彼らの貴重な時間を割いてあなたは教わるわけですから無料なんてありえません。
彼らに支払うお金を惜しまず支払いましょう。
ざっくり言えば、1時間で5,000円以上がメンターに支払う最低金額と考えましょう。
トレースして覚える:既存サービスをそのまま真似てみる
私も実際にプログラミングを学習する時に実際に効果が合った方法を紹介します。
それは、既存サービスのソースコードをそのままトレース(模写)して自分で作ってみることです。
大きなシステムだと時間もかかるし、苦行のようで、一見するとものすごく無駄に思えます。
でも、アルゴリズムと論理とコードを学び終わった後に、成果物としてトレースを行うと、制作者の考えや意図がよく分かってきます。
『こういう意図があって、このコードを入れたのか』
『なるほど、このコードはうまいな』
そんなことを考えながらトレースすると、1つの成果物を作る大変さや実務上で大切なことがガンガン頭に入ってきます。
ハッキリ言って大変ですが、このトレースを行うごとにあなた自身のレベルがグンと高まることを実感できることは約束します。
正確性よりも完成を優先させてオリジナルの成果物を作る
いよいよ最終段階です。
まずは、オリジナルの成果物を作ってみましょう。
こんなのがあったら便利だなと思えるものを作ってみるのが良いでしょう。
そして、自社サイトでリリース(公開)してみましょう。
併せて、こう書きます。
『自由に使って下さい。ダメ出し歓迎!』
この言葉はとても勇気がいります。
でも、叩かれることを覚悟しながら公開すると、あなたよりも数段上の専門家があなたの成果物を実際に使ってバグを指摘したり、より使いやすくなる提案をくれます。
あなた自身が思いつかなかった内容を次々と学べるんです。
これほど有益な学びはありません。
もちろん辛辣な批判も含まれるでしょうが、大切なことは批判されることよりも、あなたが本気を出して作り上げた成果物の社会的なレベルを知ることができるのがとても大きなメリットです。
と、同時にゼロから作り上げた自分に自信も付きます。
プログラミング初心者におすすめの無料&格安の学習サイト
プログラミンの入門者におすすめの無料のプログラミング学習サイト
プログラミングを「動画」で学べるドットインストール:http://dotinstall.com/
プログラミングを始める人なら誰でも知ってる入門学習サイト
- ウェブサイト制作(Html/Css,JavaScript)
- WordPress(PHP)
- アプリ開発(Ruby)
- 人工知能AI(Python)
- サーバー制作(SQL)
学生起業家がつくるオンラインプログラミング学習「Progate」:http://prog-8.com/
初心者がつまづきそうなポイントは排除されて、楽しみながら入門レベルのスキルが身に付くようになっています。
ホリエモンこと堀江貴文さんも至れり尽くせりということで注目しているプログラミング学習の入門サイトです。
至れり尽くせりだな
これなら私でも学べそうーー学生起業家がつくるオンラインプログラミング学習「Progate」 – http://t.co/ZlAVjLeB7J— 堀江貴文(Takafumi Horie) (@takapon_jp) 2014年11月11日
- ウェブサイト制作(Html/Css,JavaScript)
- WordPress(PHP)
- アプリ開発(Ruby)
- 人工知能AI(Python)
- サーバー制作(SQL)
- Webサービス(Java)
- アップル社のアプリ(Swift)
- その他色々
プログラミンの入門者におすすめの格安のプログラミング学習サイト
プログラミングのみならずデザインや経営を学べるSchoo:https://schoo.jp/
月額980円(税抜き)で4700本以上の動画が見放題
プログラミングのみならず起業やデザインについても学べるので起業を考えている人にとってはおすすめです。
全て初心者を対象としているので入門レベルをクリアするには最適です。
JavaScript(31)
PHP(27)
Ruby(21)
Java(20)
Androidアプリ(19)
iOSアプリ(18)
Ruby on Rails(15)
Swift(8)
Python(8)
MySQL(6)
Bootstrap(5)
Xcode(5)
React(5)
プログラミング入門(5)
Visual Studio(4)
Node.js(3)
Unity(3)
SQL(3)
Sublime Text(2)
MVC(2)
C#(2)
COBOL(2)
Atom(1)
Google Apps Script(1)
Google Web Designer(1)
Realm(1)
Haskell(1)
C言語(1)
プログラミング、マーケティング、データサイエンスを学べるU-demy:https://www.udemy.com/jp/
スマホでも見られるので場所を問わず学習できます。
プログラミングだけでなく、資格の学習もできるので社内でスキルアップを目指す人にも最適です。
Schooと同じく、プログラミング言語以外のデータの使い方なども学べるのでプログラミングの初級レベルの卒業にはU-demyで完結できます。
実践で稼げるプログラマーを目指す人のおすすめのプログラミングスクール
実践で稼げるプログラミングスキルを身に付けるポイントは4つあります。
- 市場でニーズのある言語を選ぶ
- 講師は現役のプログラマーとして活躍しながら教えている
- 座学だけでなく成果物を作る
- 転職もしくは仕事をあっせんしてくれる
ニーズがあって、教え方が良くてもそれだけだとただのパソコンスクールです。
プログラミングスクールのメリットは、2つです。
- 成果としてアピールできる成果物を作ること
- 転職もしくは仕事をあっせんして『稼ぐきっかけ』を作ること
ここまでやってくれるからこそ通う意味があります。
後は、スクールや講師との相性だけの問題ですので、その点はご自身で無料体験に行って自分の目で見て、耳で聞いて確認しましょう。
プログラミングスクールのメリットと活用方法
1,時間をお金で買う!学習期間のを5分の1以下に短縮できる!
プログラミングスクールは、全くのゼロからの初心者でも教わってしっかりとスキルを身に付けられるというメリットがあります。
しかし、プログラミングに限らず、どの世界でもせっかくの一流のプロにマンツーマンで教わるのですから、『アルゴリズムってなに?』という超入門ぐらいは知っておいた方が時間を無駄にしません。
そのため、『入門の知識を学んだ上で学ぶ期間を5倍以上早めるほど学習効率を上げたいなら通うべき』というのが私の考えです。
独学だと半年や1年かかることを、プログラミングスクールなら1ヶ月ぐらいで学べるカリキュラムとサポート体制があります。
それぐらいプログラミングの独学は、時間効率が悪いのです。
ですが、やっぱり料金を見ると、価格で迷うかと思います。
そのため、まずは無料のサイトと格安のサイトで1ヶ月しっかり学んだ後にプログラミングスクールに通うことをおすすめします。
2,何をどう学ぶべきかを無料で教えてもらう!
ただし、その前に!
無料のサイトであれ格安のサイトであれ、『なんのために学ぶのかという目的』『どの言語を学ぶべきか』という2点については、プログラミングスクールの無料相談で先に確定させておきましょう。
どうせお金はかからないので、無料で得られる情報はもらっておきましょう。
その代償として営業トークもはいるかと思います。
その点はフィルタリングしながら聞けば良いだけです。
3,フリーランスになってどのぐらい稼げるのかを先に知っておく!
もう1つ無料相談で聞いておきたいのが、フリーランスになった場合にどのぐらい稼げるのかというぶっちゃけ話です。
プログラミングスクールの講師はフリーランスの人が多いので、収入面や労働時間などのリアルな話を聞くことができます。
ただし、大人になりましょう。
たくさんの無料相談の人がいる前で、
年収はどのぐらいですか?
と聞けば、プログラミングスクールに入学してもらわないといけないので良いことしか言いません。
だから、トイレに行く時や休憩中などの1対1になった時に、コッソリ聞くのがポイントです。
4,エラーやバグで悩んで時間とモチベーションを潰さないようにする!
プログラミングを学習する時、初心者はプログラムのエラーを修正するのに丸一日どころから、下手をすれば1週間かかってなにもできずに諦めることはよくあります。
ですが、プログラミングスクールで先生に直接聞けるなら、たった1分で解決することなどもよくあります。
なんてことはよくあります。
実は、こういったエラーやバグの修正の原因調査と対応で初心者のほとんどは挫折するか、多大な時間を潰します。
プログラミングスクールに通えば、そういった無駄な時間をだいぶ短縮することができます.
という人もいますが、少なくとも初心者にそれは不要です。
初心者に必要なことは、論理とアルゴリズム、エラーの発生原因を数多く覚えることです。
考えるのは中級以上でOKです。
フリーランスのエンジニアを目指す人のためのプログラミングの勉強法
プログラマーとエンジニアの違い
プログラマーとエンジニアは似て非なるものです。
簡単に言えば、エンジニアは指揮者、プログラマーは演奏者です。
ですが、指揮者は演奏できるからこそ指揮が取れます。
つまり、エンジニアになってたくさんのプログラマーに指示を出したいなら、まずはプログラミングを学んでプログラマーになることが第一歩です。
プログラマーからエンジニアにステップアップしたいなら2つの能力が必要
- 顧客の目的と要求事項を把握するヒアリング力
- 意図と必要情報を的確にプログラマーに伝える伝達力
まとめるとエンジニアはコミュニケーション力が絶対に必要です。
さらに言えば、プログラマーを経験していないエンジニアは適切な指示を出せないので、プログラマーであることはほぼ必須だと考えておきましょう。
ですが、誰もかれもがエンジニアを目指す必要はありません。
確かにエンジニアはプログラマーの上位に位置付けられるので、給料も上がりやすくなります。
でもその分、エンジニアは心労も大きく、時間も取られます。
そのため、プログラマーとしてプログラミングのコードを書いて成果物を作るという生き方もあります。
ちなみに私が副業で行っているのはプログラマーです。
その程度のことなら半年しっかり学んで実践すれば可能です。
ですが、それでも日本にはIT人材が不足して足りないので、今後20年は需要が尽きることがありません。
ITで圧倒的な遅れをとっている日本
引用:We no longer have faith in technology to solve global issues
分かりますか?
日本は、中国からも大きく後れをとっています。
主要先進国の中では断トツのビリです。
これからの世界はより一層、IT力が必要になってきます。
特に人口が減りつつある日本では、ITの人材も減っていきます。
だからこそ、ITをしっかり学ぶ人が必要になってきます。
特にAIやビッグデータなどは需要が急増しています。
AIとビッグデータを制する国が21世紀を制します。
今のうちからこの2つを習得しておくと、就職先や仕事に困ることはありません。
起業してフリーランスで働くことも、会社を興すことも自在ですし、人材を確保できない会社がたくさんありますので転職先も無数にあります。
生活に困らず自由に生きたいなら、まずはプログラミングの学び方について正しい情報を無料相談で入手してきましょう。