本読んでプログラミング独学!?いや実務につくべきです【経験談】
「本を読んでプログラミングを勉強するぞ」プログラマーに転職しようとしている人はほとんどがこの思考です。
実はプログラマーになるためにする事は勉強はそこまで必要はなく、一番手っ取り早いのは実務に就く事です。
その理由を自分の経験談を交えて解説しています、プログラマー希望の方は参考にどうぞ。
プログラマーになるには勉強しないといけない
なぜでしょうか?
すぐ答えられなければアウト、それは雰囲気やなんとなくで動いているから。
でも安心してください、大体の人はそんなものです。
知識ゼロの状態からプログラマーをイメージした時、なぜか勉強が頭に浮かぶものです、私もそうでした。笑
でも考えてみてください、「プログラマーになるには勉強しないと」って思うってことはですよ。
勉強すればプログラマーになれる
つまりこういう事、これってどうなんでしょう?
プログラミング勉強すれば就職できるよね?【間違いです】
残念、間違いです。
勉強しても半歩くらいは前に進める程度、それじゃ就職はできません。
それはなぜか?3つあります。
プログラミング勉強が意味を成さない理由
- 独学で入る知識なんて知れている
- 知識量より何ができるかが重視される
- 実務経験者優遇に変わりはない
こんなところです、それぞれ簡単に解説します。
独学で入る知識なんて知れている【ソースは自分】
明確な目的のもとプログラミングを勉強している方は気にしないでください、問題ありません突き進んでください。
転職したい > 手に職付けたい > 時代はパソコンだよね > プログラマーなんかいいかも > 勉強しよう
上記のような人はアウトです。
こういった経緯で勉強している人のほとんどは、手段が目的になってしまったり、勉強している事自体に満足してしまっている事が多いからです。
一度下記の事を自分に問うてみる
・いろいろな言語に手を出している
・なぜその言語を勉強しているのか?
・それを勉強すると何ができるようになるのか?
当てはまってたり、答えられないと赤信号です。
えらそうに言っている私も実はそっち側の人間で、半年勉強して面接をかなり受けましたがほとんどアピールできなかったですね。
それもそのはず、明確な目的のもと勉強に取り組んだわけでなく、その意味も理解していなかったから。
勉強で得た知識やスキルは無駄ではありませんが、学ぶ側がその意味を理解していません、残念無念。
知識量より何ができるかが重視される【定番です】
よくわからないまま勉強すると圧倒的にここが欠けます。
基本情報処理の資格を取っても面接ではあまり役に立たない
よく聞きますよね、事実でありその典型です。
例えば、1年間プログラミング勉強したとして、面接時どのようにアピールするか考えたことありますか?
プログラマーになるために、1年間独学でJavaを勉強しました
これを軸にアピールしようと考えているならアウト!
おそらくこう返されます。
- 数ある言語の中からJavaを選んだ理由は?
- Javaを勉強して何ができるようになりましたか?
- Javaで何か作ったことはありますか?
全て自信を持って答えられるなら問題ありません、そういう人は前述した「独学で入る知識なんて知れている」にも当てはまらないでしょう。
ですが、だいたいの人は答えられないと思います。
なぜなら、とりあえず勉強しインプットしただけだからです。
それなら基本情報処理を1,2か月で取得し、行動力をアピールしたほうがまだマシです。
プログラマー不足の現在ですが、なろうとした時には勉強しただけじゃ採用されないのが現状です。
なら何か作りましょうってことですが、作れますか?って話です。
前述した「独学で入る知識なんて知れている」に当てはまる人はここで挫折して終了ですね。
実務経験者優遇に変わりはない
これ、未経験でプログラマーになろうとした時の最大の壁です。
私も最初の頃はこれで何度落とされたことか、今となってはいい思い出。
未経験OKの求人でも平気で落とされます、蓋を開けてみたら「実務経験がないとね~」です。
いくら勉強しても未経験に変わりはないことに気を付けましょう。
残念なことにどの会社も人手不足と言いつつも、長い目で育てていく気はないんです。
勉強しても意味ないじゃん
その通りです。
ならどうするか?
まず実務に就きましょう、そういうこと。
言いたい事はわかります、後述しますのでご安心を。
実務に就く事が最優先【オススメ】
独学で勉強するよりまず実務についた方がいいと私は考えます。
- 勉強し知識を積み上げる > 就職 (難しい)
- 実務で経験値を積み上げる > 好きなところに就職 (簡単)
私は実際に後者にシフトしました、結果間違っていなかったと思います。
実際に働いてみないとわからないことが多すぎるんです、特にこの業界は。
実務のメリットが大きすぎるという事実
実際に、独学から実務にシフトして今でも思うのは、
この一言に尽きます。
なぜなら、独学で勉強するより実務を通して勉強した方が得られるものが多いからです。
実務で感じたメリット【私の場合】
- プログラミングの基礎を学べる
- 質問できる
- 指摘してくれる
- 実際のコードに触れられる
- プログラミング以外のIT知識を学べる
- ビジネスマナーを学べる
- キャリアを積める
- お金が入る
- 共通の仲間ができる
- 目標が明確になる
軽く挙げてもこれだけあります、やらない方がおかしいレベルです。
それぞれ簡単に解説します。
プログラミングの基礎を学べる
これは会社にもよりますが、実務に入る前に研修でプログラミングの基礎を学べます。
私の場合独学していたとはいえ、知識ゼロの素人みたいなものです。
そんな人が現場に出て活躍できるわけがありません、むしろ邪魔。そのための研修がありました。
研修で学べたのは下記の通り(プログラミング)
- マークアップやスタイル(HTML・CSS)
- フロントサイド言語(Javascript・jQuery)
- サーバーサイド言語(PHP)
- DB制御(Mysql・Sql)
- オブジェクト指向言語(javaとC#)
研修期間は2,3ヵ月でしたがかなり多く学べたと思います(研修期間は他社と比べて長い方です、普通は2週間~1ヵ月)
これは独学では難しいと思います、少なくとも私には無理です。
質問できる
これ、メリットとして大きすぎますよね。
独学中の方ならわかると思います、質問できるという事がどれだけ恵まれているか。
わからないことがあれば、質問すると教えてくれるので効率が段違いです。
独学だと自分一人で解決しないといけませんし、それが正しいのかどうかもわかりません。
私は、研修中これでもかってくらい質問しました。
指摘してくれる
質問できるということは指摘もしてくれるということ。
独学だとネットや本に載っていることでしかコードが正しいか判断できません。
ここも独学との大きな違いです、
コードは書けばいいものではありませんし、動けばいいってものでもありません
指摘してくれる事がこれほど幸せなことだとは思いませんでしたね。
実際のコードに触れられる
研修でもそうですが、実務に出ると実際のコードに触れることが可能です。
実際のコード、つまりは現場のコードを読むことができます。
最初からコードを触ることは難しいですが読むことは可能なので、「こうやって書くんだ」なんてことも多く良い経験になります。
コードを読む力も身につくのでこれも実務で得られる大きなメリットの一つです。
本やサイトでは絶対に得られない部分ですよね。
プログラミング以外のIT知識を学べる
当たり前のことですが、プログラマーに必要なのはプログラミングスキルだけではありません。
プログラミング以外の知識も必要です。
独学だとプログラミング勉強に偏りがちですが、プログラマーにはITリテラシーも求められるんです。
実務に出れば必要な知識は先輩が教えてくれますし、基礎的な部分は研修中に講義してくれるので問題なし。
何より広い範囲ではなく、現場で使うものを重点的に学べるので効率が良いです。
ビジネスマナーを学べる
これは人によっては必要ないかもしれませんね。
私にはありがたかったです。
最近のプログラマー求人では基本的なビジネスマナーを研修に盛り込んでいるところが多いです。
ビジネスメールや名刺の渡し方、お客様の案内までかなり手広く教えてくれたりします。
キャリアを積める
これが一番のメリットです。
実務に入ればそれは立派な経験です、1年も経験を積めば「選ばれる側から選ぶ側」になれます。
どれだけ独学で知識を積み上げても経験値はゼロです。
勉強なんかしていないでまず実務に就き、勉強しながらキャリアアップしましょう。
お金が入る
勉強しながらお金が入るってやばくないですか?
私は実務を仕事と思ったことはなく、日々勉強する気分でこなしていたので、よりそう感じたのかもしれません。
働きながら勉強しプログラマーを目指している方は独学なんかしている場合じゃないですよ。
あと、実務として取り組むということと、独学で勉強するということでは大きな違いがあります。
それは、背負っているものがあるかかどうかです。
【背負っているものがある場合】
背負っているもの、つまりお金が発生しそれを達成する責任があるということ。できませんでしたという選択肢はないので最終的には必ず達成することができます、ですのでスキルも必ず身に付きます。
【背負っているものがない場合】
あくまで勉強なので、必ず達成しなくてもいい、出来なくてもOKということ。つまり、やらない言い訳をいくらでも作れます。こんな感じでスキルが身に付かないことも少なくありません。
専門学校が良い例、そこにかけたお金を無駄にできないから皆勉強するんです、やらないといけない理由を作るために通うんです。
実務で得られるものは目先のお金だけではないんです。
共通の仲間ができる
会社に入ってしまえば同期や先輩、上司といった繋がりができます。
IT系の友達や知り合いがほとんどいない私にとってこの繋がりは大きかったです。
高めあうことも相談することも出来ます、持つべき友はエンジニアですね。
同期とはお互い会社を離れた今でも、連絡を取って一緒にWEB制作の仕事をしたりしています。
目標が明確になる
今までは「プログラマーになりたい」というざっくりとした目標でしたが。
実務に入ればプログラマーにもいろいろ種類があるという事を知ります。
その中でやりたい仕事とやりたくない仕事って出てくるもので、自然と何がしたいかがハッキリとしてきます。
私の場合、システム開発よりWEB系の仕事のほうが楽しかったので、WEB系プログラマーが目標になり最初の頃より目標が明確になりました。
「何がしたいか、何になりたいか」目標を決めることは大事な事です、本やサイトを眺めて勉強してる間はわからなかったことですね。
以上実務におけるメリットになります。
研修を受けるメリットとも取れますので、研修を受けるだけ受けてすぐやm。
会社に入れないから実務できないよね?【それ勘違いです】
実務が大事なのはわかった、でも勉強して知識付けないと会社に入れないから結局勉強しないといけないよね?
気持ちはわかりますが、残念ながらそれは勘違い。
- 知識がないから会社に入れない(誤)
- 飛び込む勇気がないから会社に入れない(正)
知識なんてなくてもどうにでもなるんです。
選り好みしなけりゃ普通に入社できるという事実【経験談】
実務経験もないのに求人を選り好みしていませんか?
入るからには良い環境で働きたいのはわかりますが、未経験のうちはそんな立場じゃないですよ。
調べてる時間が無駄、とりあえず飛び込んでみましょう。
数打ちゃ当たる作戦で片っ端から未経験求人に応募してみるといいです、必ずあります。
とはいっても時間は無限にあるわけではないので、何も考えず応募するのは時間が勿体無いので、
求人を探す際のポイントを挙げてみました。
ポイントは2つだけ
- 未経験より初心者というキーワードを使っている
- 研修期間が1ヶ月以上ある
上記を満たしている求人は手応えがあったので面接に通りやすいと思います。
「未経験者」の定義が、専門学校卒や小さい頃からプログラミングをしていた実務未経験者と考えている企業が多いです。
なので求人詳細で未経験を強調しているものは通りにくいと思います。
逆に手応えがあった求人は、初心者というキーワードを使っていたり、要求している知識レベルを明確に記載していました。
研修期間が1ヶ月以上あるのも良かったです、要は知識や経験を考慮せず一から育てようとしている企業の求人が通りやすいってこと。
求人探しにお役立てください。
まとめ
本記事の内容を簡単にまとめました。
- 明確な目的があるなら独学は全然OK
- 勉強すればプログラマーになれるというのは間違い
- 独学よりまず実務に就くことがオススメ
- 知識ゼロでも実務に就ける(ソースは自分)
いかがでしたでしょうか?
独学で得た知識は無駄ではありませんが、それ以上に実務で得られることは大きいです。
よくわからないまま勉強しているという方は、一度整理して考えてみることをオススメします。
以上になります。
ライティング力と日本語力がまだまだなのでわかりにくかった点多々あると思います、
そんな時はお手数をおかけしますがTwitterにてDMしていただければ答えられる範囲でお答えします。
Twitterでも情報や経過を発信していますのでフォローよろしくお願いします。
不明点やアドバイスなどありましたら、コメントかTwitterからお願いします。
飲食→派遣→IT系ベンチャーに転職。
本業をベーシックインカムとし、やりたい事に挑戦するWebエンジニア。