今後の将来のことを考えて、特別なスキルや資格を手に入れたい、そう思う人も多いのではないでしょうか。
ですが、仕事を続けながら、全く別のジャンルの勉強を始めるのは、なかなか出来る事ではありませんよね。
今回は、知識ゼロのパソコン初心者の人が、学校やオンラインで勉強できるネットスクールなどを利用せず、プログラマーになれるのか・なるためにはどのような勉強が効果的なのかを考えてみました。
知識ゼロの人が学校を利用せずにプログラムを勉強することは可能?
結論から言いますと、可能ですが難しいと思います。
というのも「知識ゼロの人がプログラム言語の参考書を見ただけで内容をすべて把握するのは凄く難しいからです。」
私も、学生時代はIT関係の専門学校に通っていました。
学校を卒業しても、授業で使っていた教科書はとても重要な情報が集約されていましたので、ずっと取っていたのですが、昔の友人がある日、独学でプログラムを勉強してみたいと私に相談しにきたことがありました。
私はフリーランスの仕事に忙しく、プログラムを組む機会もありませんでしたので、学生時代に使っていた教科書を彼に見せたのですが、まったく理解することができなかったんです。
普通の勉強であれば、私たちは参考書を見て理解していきながら、知識を深めることができますが、正直「プログラムに限っては参考書+教えてくれる人」が必要な難易度だと私は感じています。
そのため、独学でプログラムを組めるようになりたいのであれば、「実際にプログラムに詳しい友人を味方につけて勉強する必要がある」と私は思います。
つまり、「1人だけでやるのは難しいが、誰か1人でも近くに教えられる人がいればできる。」というのが私の考えです。
プログラムにはいろんな言語がある?
プログラムの知識がない人はビックリするかもしれませんが「日本語・英語など、世界にいろんな言語があるのと同じで、プログラムにもいろんな言語があるんです。」
え?プログラムって勉強すればなんでもできるんじゃないの!?
このように思われている人も多いと思いますが、違います。
以下に私が知ってる言語を私の印象と共に簡単に書いてみます。
- C プログラムの基礎を学ぶのにとても便利な言語「学校は基本的にこれを教えると思います。」
- C++ Cを強化した感じ?の言語
- C# オブジェクト指向の言語「絵を動かす、ボタンを押すと○○できるみたいな事が得意。」
- unity ゲームを作るのが得意な言語
- java インターネット上で使うプログラムを作るのに活躍している・・・はず
- ruby アプリ開発などに使われる
たとえば、スマホアプリを開発するためにrubyは使いこなせるけどunityで本格的なゲームを作った経験がない。
C系の言語でプログラムは良く組むけど、アプリ開発はやったことがない。
つまり、プログラムを勉強する際には「どんなことができるプログラマー」になりたいのかを見据えて勉強を始める必要があります。
ただ、プログラム言語は、1つ使いこなせるようになれば、ほかのものをこなせるようになります。
学校でC言語を学生に教えるのは、基礎を学べば、ほかの言語を勉強する際にも似たような感覚で勉強になるからだと思います。
このように、プログラムをじっくりと1から勉強したいのであれば、C言語から始めてみるのがいいと思いますが、ゲームやアプリを作りたいという人は、いきなりunityやrubyにチャレンジしてみるのもありかもしれませんね。
仕事にするために勉強するなら果てしない根気と時間がいる
IT関係の学校に通ったことがある人であれば「プログラムを勉強するには根気がいる」という一言に強く共感してくれる人がほとんどだと思います。
結論からいいますと、プログラミングは「難しいです。」
学校に通っている人でさえ、勉強を諦めてしまう人がいてもおかしくない難易度の勉強であることから、国家試験前には、吐き気やめまいに襲われながら大学受験生並みの勉強をしなければいけません。
つまり「独学の有無にかかわらず、プログラムの勉強は凄く根気と時間」が必要です。
めちゃくちゃ大変です。
なので、勉強することが可能か不可能かと言われれば「周りに誰か教えられる人がいれば、参考書片手に勉強することは可能」だとは思いますが、凄く大変だということは覚悟しておきましょう。
プログラミングは「どんな環境で勉強しようが、楽に身に着けられるものではありません。」
独学でプログラムを勉強して就職することはできるの?
これに関しては、「独学でプログラムを組んで、面接で評価されるほどのものを提示できるようになれば」中途採用でも不可能ではないと思います。
というのも、そもそも「面接時に会社に提示できるほどのプログラムを提示するのは学生であっても難しいからです。」
それができれば就職の可能性は見えるといって間違いないでしょう。
ただ、就職を狙うのであれば、あなたが勉強して身に着けた言語やスキルとマッチする就職先を探す必要があるでしょう。
上記でも書いたように、プログラマーと言っても幅広い種類があり、仕事によって使う言語などは異なってきます。
このことから、自分の技術と会社が求めている人材が一致している場所への就職を狙う必要があると考えられます。
また、学校を卒業していない中卒の方がIT業界未経験で入ることは難しいと思いますので、未経験者OKの求人を見つけることが大切かもしれませんね。
本当に好きで老後までの時間をプログラムに費やせるほどの人ならいけるかもしれない
プログラマーがハードワークで、寝る暇もないブラック企業で働く人もいることは皆さんもご存じだと思います。
プログラマーという職種は、よっぽどなホワイト企業でない限り、かなりのハードワークになることはもちろん、勉強そのものが難しいお仕事です。
そのため、本当に好きで何時間やっても続けられて、老後までの自分の時間をプログラムに費やせるような熱意のある人であれば、中途であっても転職は狙えると私は考えます。
逆に言えば、それだけの熱意とやる気が、勉強を通して湧かないのであれば、プログラマーがあなたの天職になり得る可能性は低いかもしれませんね。