いとうです( ˙-˙ )!
プログラミング学習においては独学している多くの方が「自分は物覚えが悪いなあ」とか「向いてない/センスないのかな」とか不安になりやすいんじゃないかなと思っていますが。
ほとんどの場合はそんなことないよ、と言うお話をさせていただこうと思っています。
この記事の目次
プログラミングができることは、他職種の商売道具を使いこなせるようになることとなんら変わらない
新しいことを学んでいこうとする時に、どうしても拒絶反応が出てしてしまったりするのは自然なことです。
特にもしも学生時代に理数系科目をなるべく避けて来たような人はプログラムの例題のコードを見て意味不明な文字の並びに固まってしまってもしょうがないと思います。全然普通の反応だと思います。
例えば下記のコードでやっていることは物凄く簡単な処理ですが、何も知らない人が読んだら「プログラミングてめちゃくちゃ複雑で難しいじゃん。。。」と感じると思います。(Javaのコードです)
public class ExampleArrayFor {⏎
public static void main(String[] args) {⏎
int score[] = { 80, 75, 100, 90, 80 };⏎
String label[] = { "Tom", "John", "Mary", "Ken", "Jimmy" };⏎
for (int i = 0; i < score.length; i++) {
System.out.println(label[i] + "'s score is " + score[i]);⏎
}
}
}
しかし、ある程度プログラミングを日常的に触るようになった人であればこんなプログラムは簡単に何やっているものなのか読めると思います。
それは毎日当たり前のように見ている&書いているものだから。
ようは調理師の方が調理器具を使って料理を作ること、トラックドライバーの方が交通ルールにしたがって車を運転して仕事をしていることとなんら変わりません。
そりゃあ最初は慣れるまでは大変かもしれません。ですが、間違いなく使っているうちに覚えます。
プログラミングの学習効率は取り組んだ時間に比例してあるとき急激に上がる
本当に勉強し始めてまもない時の学習効率は、まさにザルで水を掬うようなものだと思います。
用語も覚えられないし、教材の通りに書いて見たもののなんで動いているか分からないし、人が書いたコードを読んでもさっぱり分からないしで僕も相当焦った記憶がありました。
しかしそれでも地道に学習を続けているとあの呪文のようにしか見えなかったコードでも少しづつ読める箇所が増えてくるんですよね。
そうなると誰かに聞く時の質問の質も上がるし、同じ教材やドキュメントを読んでも理解できる部分が格段に増えます。
これはもはや枠組みの出来上がったパズルです。「ここってもしかしてこう書けばいいんじゃないか?」という勘も的中し始めると
あれだけ才能がないと思っていたのにむしろ「俺って才能あるのかもしれない( ˙-˙ )!」と思えて来ます。
現段階で「1時間勉強しても学習内容の1割も理解できていない・・・。」と思ってる人がいても大丈夫です。
そのうち同じ学習時間でも2割理解できるようになりますし、いずれ4割理解できるようになります。
やがては、分からないことを検索しながらであれば自分でモノが作れるようになります。
学習を辞めない環境を作ることが一番大切
今はプログラミングを学習する方法は色々あります。
高額なスクールに通う方法もあれば、ネット上の教材で無料で独学する方法。
手法は様々ですが、一番は学習を継続できる環境を用意することが一番大事です。
貯蓄にそぐわない高額なスクールに申し込んだ結果、早いうちに収入が上がらないと生活が厳しくなるようでしたらやめた方がいいです。
逆に金銭的には多少余裕があるけど独学だとだらけちゃうので誰かに管理されたいという人はお金を払ってメンターをつけるようなことをすると良いかも知れません。
亀のような歩みでもIT業界から重宝される人材になることは可能ですが、さすがに学習をやめてしまったら難しいですね。
最後に:転職前提なのであれば学習と並行して活動すること
現状、開発を行える企業へ就職してしまうことがプログラミング学習の一番の近道であり、お金を稼ぐ、プロダクトを作るという目的そのものです
なので、プログラミングを習得してからではなく。学習と平行して就職活動をするのが正解です(ここでは採用されるされないは重要ではありません。)
独学していようがいまいが、企業から見た場合「実務未経験者」という同じくくりに入れられてしまうのは同じですので(これはしょうがない)
それであれば早いうちに動いた方がIT企業がどういうものかを知れますし、面接の経験値も積めますので得策です。