プログラミングを独学で習得できる人って天才じゃない?
いったいどんな方法で学習してるの?
といった疑問をもつ方へ向けた記事になります。
先日のツイートです。
プログラミングの天才と凡人の違い
— モリ|Web系フリーランス (@MockRoll) August 27, 2022
疑問をもつか否か
たとえば30分かかる単純な入力作業に対し
こういうものだ、仕方ない
と考える人は凡人
もっと早く終わらせる方法は?
と考えるのがプログラマー
そもそもやらずに済む方法ない?
と考えるのが天才#駆け出しエンジニアと繋がりたい
プログラミングの天才と凡人の違い
疑問をもつか否かたとえば30分かかる単純な入力作業に対し
こういうものだ、仕方ない
と考える人は凡人もっと早く終わらせる方法は?
と考えるのがプログラマーそもそもやらずに済む方法ない?
と考えるのが天才
- 天才のやり方を知ることで、プログラミング独学がはかどります。
- プログラミングに対する向き合い方が変わり、習得につながります。
天才のプログラミング独学の方法って?凡人との違いを紹介
プログラミング独学をするも「自分は凡人だ…」と挫折しそうな方も多いでしょう。
本記事を書いている僕は独学でプログラミングを習得し、エンジニアとして転職した経験があります。
とはいえ僕も凡人で、何度も挫折を繰り返しました。
さらに転職まで人一倍時間をかけた(1年半ほど)ので、気持ちは痛いほどわかります。
本記事で言いたいことは、以下になります。
プログラミングは独学でも習得できる。
しかし独学にも、向き不向きがあることは事実。
凡人と天才の違いは、頭の作りとか思考回路ではなく、行動や学習方法です。
プログラミングにおける天才と凡人の違い
プログラミングにおける天才と凡人の違いは以下です。
その①:さまざまなことに疑問をもち、調べる
その②:目的やゴールからスタートさせている
その③:エラーを恐れない
それぞれ紹介します。
その①:さまざまなことに疑問をもつ
これがもっとも大きな違いです。
天才は常に、さまざまなことに疑問をもちます。
たとえば毎日30分かかるエクセルの入力作業があったとします。
この作業に対し凡人と天才は、それぞれ以下のように考えます。
こういうもんだよね。
仕方ないよね。
本当にこのやり方しかないかな?
もっとラクに素早くやる方法ないかな?
そもそも、やらずに済むようにならないかな?
天才は疑問をもつだけでなく、実現のため、わかるまで徹底的に調べます。
「こういうものだ」と最初から現状を疑わない人は、独学向きではないかもしれません。
その②:目的やゴールからスタートさせている
凡人と天才では、そもそもの入り口が異なります。
具体的には以下です。
プログラミングできるようになりたい。
↓
まず目的やゴールを決めるといいのか。
↓
作りたいものとか、とくにない。
何がいいかな~、うーん…。
飲食店を記録・評価・コメント付きで管理できる忘備録的グルメWebアプリを作りたい。
↓
そのためにはRubyというプログラミング言語を使うといいのか。
↓
じゃあそのRubyのうち、グルメアプリに必要な機能って何だろう。
天才はまず、目的ありきでプログラミングを始めます。
たとえきっかけがさまざまでも、天才は傾向としてすぐに目的を見つけます。
「目的は弾丸があるから速く飛ぶ」という言葉もあります。
その③:エラーを恐れない
天才と凡人では、エラーに対する向き合い方が違います。
エラーは決していじめではなく、プログラミングのミスを教えてくれるものです。
エラーを恐れることなく、表示されている箇所や原因を冷静に探すことが大切です。
何度もエラーを経験して改善することで、エンジニアとして成長できます。
天才をこれを知っているため、エラーを恐れません。
一方で凡人はエラーが出ると萎え、挫折に走ってしまいがちです。
天才がやってるプログラミング独学の方法
天才がやっているプログラミング独学の方法として、以下の3つをご紹介します。
その①:楽しいと思える分野から手を付ける
その②:アウトプット9割・インプット1割
その③:6~7割の理解でも先に進む
その①:楽しいと思える分野から手を付ける
ひとえにプログラミングといっても、さまざまな分野があります。
天才は、楽しいと思える部分から手を付けています。
いくら基礎が大事でも、基礎がつまらなければ力になりません。
その基礎のせいで挫折してしまったら、本末転倒です。
ギターで例えるなら、ギターに触る前にコードや音楽理論を学習してるようなもの。
まず好きな曲を弾いたほうが楽しいし、上達も早いのは明白です。
プログラミングでも同じです。
- Javaのオブジェクト指向が難しいから、Rubyをやろう。
- バックエンドが苦手だから、HTML/CSSをやってみよう。
- 基礎学習で挫折しそうだから、まず実際に何か作ってみよう。
このように、まずは楽しそうなことに手を付けてみましょう。
基礎の重要性や学習の順番などは、無視したほうがいいです。
その②:アウトプット9割・インプット1割
天才はアウトプット9割、インプット1割で学習します。
アウトプット中心の学習のほうが、圧倒的に効率がいいからです。
アウトプットをすることで、
- どこまでが得意で
- どこからが苦手なのか
を明確にできます。
明確になったら、その部分だけをインプットすればいい話です。
勉強するなら、まずアウトプット。
天才がやっている勉強法として、基本中の基本です。
その③:6~7割の理解でも先に進む
天才は6~7割の理解で先に進みます。
メタ(旧フェイスブック)のCEOマーク・ザッカーバーグ氏に、以下の名言があります。
完璧を目指すよりまず終わらせろ
マーク・ザッカーバーグ
つまり不完全でもリリースし、あとで改善しましょうということです。
これはプログラミング学習でも同じであって、完璧を目指してもなかなか終わりません。
ざっくりとした理解で先に進む勇気が大切です。
独学に挫折したらやること
独学に挫折したらやるべきことは、次のとおりです。
その①:別の目的や言語に切り替える
その②:諦めてスクールに投資する
それぞれ見ていきましょう。
その①:別の目的や言語に切り替える
挫折したら、別の目的や言語に切り替えましょう。
挫折する=つまらない、ということだからです。
天才は、やってて楽しいと感じることを優先してやります。
つまらないと感じるフィールドで戦うことはありません。
「好きこそものの上手なれ」です。
挫折しても自己否定せず、楽しいと思える言語や目的にシフトしましょう。
その②:プログラミングスクールに投資する
独学で挫折したら、プログラミングスクールに投資することも賢明な選択です。
丸っきり天才のマネをしても、同じようにできるとは限りません。
同じ努力をしても全員がウサインボルトのようには走れないのと同じです。
天才と呼ばれる実業家の迫佑樹さんも、プログラミングスクールの卒業生。
プログラミングスクールには、以下のようなメリットがあります。
- 講師に聞けるため、エラーに悩む時間を圧倒的に短縮できる
- 知識の偏りを最小限にでき、現場で使われる技術を効率的に学べる
必要に応じて他人の力を上手に借りれる人こそ、目的を達成できるものです。
- TechAcademy:規模・知名度No1。転職保証は32歳まで。
- TECH BOOST:挫折させないサポートが特徴。完全未経験向け。
- DMM WEBCAMP:かの大手、DMMグループ。卒業後の即戦力にこだわる。
- ポテパンキャンプ:カリキュラムはWeb系、提携企業も自社開発がメイン。
まとめ
以上、天才と凡人の考え方の違いや、学習方法について紹介しました。
記事の内容をまとめると、以下のとおりです。
- 天才は目的ありきでプログラミングを始める
- 天才は自分が楽しいと思えるフィールドでしか戦わない
- 天才はアウトプットメインで、6~7割の理解で前進する
- 挫折しそうなら、柔軟に目的や言語を変えることが大切
凡人と天才の違いは、行動や学習方法です。
頭の作りとか思考回路、思考力などではありません。
天才の行動や学習方法をマネて、学習速度を加速させてほしいと思います。
1992年生まれ|2020年10月フリーランスとして独立|Web制作、SEOライティングを軸に活動中|接客→生産管理→システム開発会社→現在|モリブログ運営。Web制作、フリーランスジャンルを中心に更新中。PV数は年間14万人以上||温泉、旅行、甘いものが好き。