よくネットをしていると
「最短、最速でプログラミングを身につける方法」
みたいな文言が記載されているサイトやアフィリエイト広告などを見つけます。みんなそりゃできることなら時間をかけずにプログラミングができるようになりたいですよね。

プログラミングを学ぶ目的
ところで、この記事を読んでくれている人はなんのためにプログラミングを身につけたいと思っているのでしょうか?
大きく分けても
- 開発の仕事でお金を稼げるようになりたい
- 単純にプログラミングを理解したい(趣味や個人開発)
の上記の二つに当てはまる人が多く、どちらかというと前者の方が多いかもしれません。
プログラミングの技能をあげるという意味ではどちらも同じなんじゃないの?
と思う方もいるかもしれませんが、僕はこの二つのうちのどっちなのか次第でプログラミングに対するアプローチは大きく変わってくるんじゃないかと思っています。
バリバリ稼ぎたいなら早く転職して仕事にフルコミットすること
まず、開発の案件に参画して稼いで行きたいのなら。技術の習得はそこそこに企業に入って業務に当たりながら学ぶべきです。
「まだまだそのレベルの技術がない」と思う人もいるかも知れませんが、今現在の技術がどうこうよりも仕事にありつく方が大事です。
仕事として開発するためのお作法は勉強から学ぶことが難しく、実際の仕事を通して身につけるのが一番なのです。
企業側、開発現場から見ても、「こいつのプログラミングの腕前はどれくらいなのか?」
ということよりも
「こいつは仕事を円滑に進めていくことができるのか?」
というのが一番の心配事なんです。
プログラミングスキルというのもその中のスキルのうちの一つに過ぎなくて。
デバッグ(期待通りに動かない原因を調べること)の仕方、調べ方、わからないことがあったがあった際のチームメンバーへの質問の仕方などなどが適切に行えればそこまでプログラミングスキルは重要ではなかったりもします。(もちろん全くのど素人だと厳しいのですが。。。)
そして、一度実務の現場に入ってしまえばエンジニアは独学やスクール等での学習期間よりも圧倒的に成長することができます。
「システムを作るってこういうことなんだ!」という、これまで点でしかなかった知識がどんどん繋がっていく感覚を得られると思いますよ。
そのため、開発して稼いで行きたい人にとっての「最短でプログラミングを習得する」は「最短で開発現場に参画する」ということになると思います。
単純に技能を上げたいだけの場合
二つ目の単純にプログラミングを理解したい(趣味や個人開発)人の場合ですが。
このケースの人は、本業としてはやっていくつもりはないけど自分でアプリを公開したいという人を想定しています。
このタイプの人は独学で自走していく習慣を身につける→とにかくアプリを作成して公開する。
を繰り返していくことだと思います。
本業にしたい人とは違って毎日のように開発現場で技術力のある人に接することが難しいため、自分で検索する、書籍を読む、公式ドキュメントを読むなどの精度を高めて自分自身で問題解決していける力が特に重要になると思います。
単純に個人のプログラミングのスキルだけで言えばこっちのタイプの方がオールマイティーにこなせる力は身につくかも知れません。
(変な癖がついてしまう可能性もありますが。)
最後に:プログラミングスクールの謳う「最短、最速」とは?
正直、プログラミングスクールやアフィリエイト広告の謳っている「最短、最速でプログラミングが習得できる」の意味が僕にはあまりわかっていません。
教材に関しては今無料でネットに公開されているようなものと、学習サービスが提供している教材は対して違いはありませんし。
分からないことが出てきた際に相談するメンターへの質のことを言っているのであれば一般的なプログラミングスクールは正直質はよろしくないです。(個人の現役エンジニアに聞いた方が有益です。)
初心者に学びやすい言語の種類についてもいくらでもネットに情報が落ちています。
実際にプロダクトを作り上げるのが一番理解につながるので、是非それを意識してプログラミングを学んで楽しく開発していただければと思います( ˙-˙ )!