2018/03/02)本読んでプログラミング独学!?いや実務につくべきです【経験談】THOUGHT「本を読んでプログラミングを勉強するぞ」プログラマーに転職しようとしている人はほとんどがこの思考です。実はプログラマーになるためにする事は勉強はそこまで必要はなく、一番手っ取り早いのは実務に就く事です。その理由を自分の経験談を交えて解説しています、プログラマー希望の方は参考にどうぞ。プログラマーになるには勉強しないといけないなぜでしょうか?すぐ答えられなければアウト、それは雰囲気やなんとなくで動いているから。安心してください、大体の人はそんなものです。知識ゼロの状態からプログラマーをイメージした時、なぜか勉強が頭に浮かぶものです、私もそうでした。笑でも考えてみてください、「プログラマーになるには勉強しないと」って思うってことはですよ。勉強しても半歩くらいは前に進める程度、それじゃ就職はできません。それはなぜか?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からお願いします。プログラマー→WEB制作会社で勤務(今ココ)WordPressを使ったサイト制作やSEOを専門としています。サイト制作や運用・更新などお手伝いします、気になる方はご連絡ください。【CoDモバイル】ガチ勢直伝「AK117」最強カスタム!強すぎワロタ。me!未経験からプログラマーを目指し今ではWEB系エンジニアとして働く日々、ゲームを通じてブログでの情報発信に力を入れる。ギャンブラーとしての一面も持ち、パチンコ・パチスロで遊ぶ事も、最近はボートレース中心でブログで稼いだお金はここに溶けているとか。