こんにちは!好奇心おばけのかわそん (@KKohey4)です!
このような意見に答えます。
本記事の内容
- プログラミング上達のコツがわかります
- よくある「力がつかない」例を紹介します
- 力を効率よくつける手順を解説
この記事を書いている僕は、プログラミングスクールで年間50人以上を指導している、大学生です。
いろんな生徒さんをみていると、、、「力がつく」人と、「いつまでたっても力がつかない」人がかなりはっきり分かれるんですよね。
そこで今回は、その違いは何なのか、じゃあどうすればいいのかについて、お話します。
目次
[断言]プログラミング上達のコツは「筋トレ」です[手順を解説]
、、、いきなり、スミマセン。しかしわりと事実なので、お許しください。
って言いかえれば、聞こえはよくなるかもですね。
というのは、『答えがあるもの=参考書とか』ばっかりやっても、たぶん、本質的な力はつきません。
だんだん、その内容に慣れてきますので、
ちょっとずつ負荷を上げていかないとですね。
✔️簡単な例
HTMLとCSSの基礎を勉強したら、簡単なポートフォリオサイトを作ってみる、とかとか。
こういうアウトプットをしてはじめて、『ググる力』とか、『0からものを作る力』がついてきます。
、、、ここで終わってもいいのですが、ちょっと寂しいので、あと少しだけお付き合いください。
3分あれば読み終わると思います。
プログラミングが上達しない原因[あるあるNG]
・簡単なものばかりやって、『できる気』になっている
結論として、上記の通り。本質的な力はつきません。
では、『本質的な力』ってどういうことかというと、『ググる力』とか、『0からものを作れる力』ですね。
✔️力がつかない例
よくあるのが、
っていうパターン。
確かに、プロゲートは入門としては、たぶん最高です。
スライド形式で、サクサク進めますし。
でも、、、だからこそ知識がバラバラに身についてしまうんですよね。
Railsを勉強したあと、
みたいなことは、けっこう、起こります。
程よい「筋トレ感」の見つけ方
結論からいうと、
カンタンすぎるのがだめなのはわかるかもですが、インプットしたものをそのまま再現するだけでも、不十分です。
もちろん、難しすぎても、ムリですね。
、、、ぶっちゃけ、このあたりのさじ加減は、『慣れ』が大きいので、試してみるのが一番早いのですが、参考までにちょうどいい例を出しておきます。
✔️『インプット + α』のいい感じの例
例えば、カウントアプリの作り方を勉強したとします。
『+』ボタンを押した時に、1増える、基本的なアプリですね。
それに+αするとどうなるか。
パッと思いつくのは、投票システムですね。
つまりこういうことです。
カウントアプリをベースにしつつも、色々考えないといけないことが出てきます。
「どのタイミングでインスタンスを作るのか」、「1人で何回も投票できたら、まずいのでは。。」みたいな感じ。
確実に上達する手順を解説[3ステップです]
結論は、ズバリ
- 目的にあった言語を選ぶ
- 正しい方法でインプット
- 筋トレ
です。
、、、もしかしたら、
と考える方がいるかもですが、的外れです。
たぶん、本質はいつもシンプル。だからこそ、疑ったり、軽く見たりして、『行動に移せない』っていう状況が起きているはず。
という訳で、参考記事を貼りつつ、丁寧に説明していきますね。
僕が0からTwitter解析アプリを作れるようになるまでの例をあげながら、説明していきますね。
①目的にあった言語を探す
自分の興味にマッチした言語を探します。
考えてみると、当たり前ですが、もし「その言語でできること」と「自分がやりたいこと」がずれていたら、勉強のやる気とか出てきませんよね。
じゃあ、どうやって選べばいいのか。
スミマセン。ボリュームが出てしまったので、別の記事を用意しておきました。
この記事で、『目的と手段』をマッチさせることができるはず。
それは僕が昔、こういう記事がなくて、困ったからです。過去の自分を救います。
②正しい方法でインプットする
ぶっちゃけ、最重要です。
しかし、9割の初心者が挫折する場所でして、「正しい方法で」っていうのがポイントです。
例えば、
次の瞬間、
っていうことがおきます。
もしかすると、『独学の力も大事じゃん』、って思うかもですが、その通り。
でも、後からでOK。
僕の結論は、いつも一緒でして、
この記事で、「挫折を防ぐにはスクール、そのコスパは高い」っていうことがわかります。
✔️僕がTwitter解析アプリを作った時
テックアカデミーというスクールの、Webアプリケーションコースで知識をまとめてインストールしました。
シンプルに、カリキュラムのレベルは高いのに、受講費が安かったからです。
③アウトプット[筋トレ]
ちょっときつめのサービスを、インプットしたことベースで作ってみます。
この大切さは今までお話してきました。
ふりかえっておくと、この段階で
でしたね。
✔️Twitter解析アプリのお話
テックアカデミーのカリキュラムに、Twitter解析なんか、ありません。笑
自分が成長できると思ったから、作ってみました。
その結果、身についたのは、
・信頼できる情報の見極め方
・エラーを解決するための、合理的な手順
などですね。
なお、ここまで聞いて、「うーん、難しそうだな」と感じるかもですが、問題なしです。
『作りたい』っていう気持ちが強かったので、苦なく身についていました。
振り返ってみれば、って感じです。
ある程度、スキルが上達した後の話
ちょっと、補足です。
上達までと、あるていど上達した後では、次のレベルに進むためのアプローチが変わってきます。
結論はシンプルでして、
上記の通り。
ぶっちゃけ、ある程度できるようになってくると、
で、この瞬間に成長が止まるんですよね。
対策もシンプルでして、
これだけ。
インターンや、エンジニアの勉強会に飛び込んでみると、まじで心がズタズタになります。
僕もサイ○ーズのオフィスで、何回ボコボコにされたか、、、笑
レベル1のスライムを倒していて満足していた自分が恥ずかしくなりますよ。
この恥が、成長には必要です。
まとめ:正しい方法でプログラミングレベルを上げよう
記事のポイントをまとめておきます。
- プログラミング上達のコツは「筋トレ」です。
- できることばかりやっても、本質的な力はつきません
- 力をつける手順を説明しました。
- ただし、方法を間違えると9割は挫折します。
- あるていど力がついたら、プライドを壊そう
こんな感じですね。
やっぱり、思うように力が伸びないな〜っていう時期はどうしてもあります。
僕も、今ブログを書いていますが、、スランプ的なことは感じます。
でも、まあ、気にしてもしょうがないですよね。
筋肉痛だと思って、ちょっとずつ挑戦あるのみかなと。
この記事が、少しでも『力がつかない原因』を見つけるきっかけになったら、幸いです。
早く『作りたいものを作れる』ような力を身につけたいので、コツとかあったら、話を聞いてみたいです。」