※21年4月よりWeb系自社開発企業で新卒エンジニアをやらせていただいています。
今日は、プログラミングの学習初期にやらない方がいい勉強法をまとめました。
自分自身、今でこそ初心者を脱出できたかな?レベルまで来れましたが、学習初期はかなり非効率な勉強をしてしまっていました。
ですので、NG集をまとめ、これから勉強を始める方、始めたての方に参考にしていただきたいです。
対象読者
・これからプログラミングを始めようかと考えている方
・プログラミングを始めたばかりの方
・効率的に勉強したい方
それでは、行ってみましょう。
こちらに僕の就活の全体像に関してはこちらの記事にまとめました。あわせてどうぞ!
【エンジニア就活】文系大学生がWeb系自社開発企業に新卒で内定をもらった方法【プログラミング】
NGなプログラミング勉強法
期間を空けすぎる
個人的に、興味が分散してしまう人間なので、継続して1か月とか勉強できていませんでした。これはまずいです。
プログラミングを学ぶのは初めてなので、最初に学ぶ時、勉強内容自体に加えて雰囲気をつかんでいくことはとても大事です。
例えば、
・カンニングして良いんだな。むしろ、積極的にググった方が良いんだな。
・全部覚えようとしなくて良いんだな。
・これくらいは覚えた方が良いかな。
など、力の入れどころを掴むためにもぜひ、1日30分だけでも継続的に勉強をすることをお勧めします。
Progateでいろんな言語をやる(やりすぎる)
Progateはとても素晴らしいサービスで、初心者の方でもゲーム感覚で勉強することができます。
ただ、楽しすぎてつい、いろんな言語のコースに手を出してしまうんですよね。
もちろん、学習ロードマップ的に必須のコースは全てやらなくてはいけません。
例えば、WEBアプリを作成したい、という目的でプログラミングを始めたのなら、以下のコースは必須でしょう。
(もちろん別のコースも考えられるので、これはあくまで一例です)
・HTML/CSSコース
・Rubyコース
・Ruby on Railsコース
・Command Lineコース
・SQLコース
ここで問題になってくるのは、Rubyというプログラミング言語を学んでいるのに、PHPやPython、Javaなどの別のプログラミング言語に浮気してしまうことです。
僕も、好奇心旺盛な男の子なので、つい別の言語のコースをやってしまいました。ただ、効率的な学習という点からするとあまり良いことではありません。
Progateのレッスン一覧のページに、「目的別コース一覧」というページがあります。最初はこれを参考に、どのコースをやるべきか決めると間違い無いと思います。
Progateのレベル上げに固執しすぎる
Progateって、クリアしたレッスンの数に応じてレベルが上がるようになってまして、自分も数百レベルまで行ってます。
でも、これって別に偉いことでもなんでもなくて、Progateを永久にやっているだけではエンジニアにはなれないんですよね。
というのも、Progateはとても親切なので、どこにどういうコードを書けばクリアになるかがだいたいわかっています。
さらに、環境構築やエラー対応など、より実務的な部分に関しては学習できない(むしろ、環境構築をせずに学習開始できるのが魅力)なので、Progateのレベル上げに夢中になるのはあまり良いことではありません。
Progateのレベル上げを目的化してしまうのは、エンジニアではなくもはやプロゲーターであると言わざるを得ません。
Pythonをやる
これは一概には言えないので、暴論かもです。参考程度にお読みください。
ただ、個人的な考えとして、エンジニアになるためにPythonをやる、というのは選択肢としてはちょっと微妙かもしれません。
僕自身、初めてのプログラミング言語はRubyではなくPythonだったんですが、WEBエンジニアになるためには、Pythonは学ばなくて良い気がしています。
Pythonって、今非常に人気が高く、プログラミングを知らない人でもパイソンという言葉だけは知っていたりします。
また、大手WEB系企業が新卒の機械学習エンジニアに高額の初任給を出していたりと、夢があることは間違いないです。
ですが、そういった新卒エンジニアは大学で機械学習を専攻していたり、正直独学の方とは数学とかのレベルが全然違います。
Pythonには確かに、機械学習のライブラリが充実していまして、Scikit-learnやTensorFlow、他にもPandas、Numpy、Scipy、Matplotlibなどデータサイエンス系のツールにあふれています。
それを少し勉強することで、機械学習を取り入れたWEBアプリを作ることもそんなに難しくはありません。
ただ、企業はライブラリを使いこなせるだけのエンジニアは欲しくないと思います。
知り合いに某京大で機械学習やってる人がいるんですが、その方はライブラリを使わずにベタでコードを書いています。数学の知識も半端ないです。
もし、僕みたいに「新卒で機械学習エンジニアになって初任給800貰ったろ!」と一瞬思った方は、そういった事情も考慮した方が良いです。貴重な時間を浪費する可能性があります。
また、AIブームを受けてPythonの人気が高いことは間違いないですが、依然としてWEB業界ではRubyやPHP、JavaScriptの案件が圧倒的に多いのが現状です。
以上のような理由で、WEBエンジニアを目指す方は、最初のプログラミング言語はRubyかPHPあたりを選ぶのがオススメです。
マーケターがPythonを学ぶのはオススメ
一方で、ツールとしてはPythonは非常に便利で、スクレイピングや分析など、学習コストが比較的抑えめにも関わらず、できることは無限です。強力な武器になるでしょう。
そのため、マーケティングを自分のフィールドにしようと思っている方は、むしろPythonオススメです。
PyQなど、Pythonに特化した学習コンテンツもたくさんあるので、ぜひチェックしてみてください。
効率的に勉強しよう
独学で1年ちょい勉強してきたので大変なこともありましたが、良質なコンテンツが豊富な時代なので楽しく学習を続けられています。
僕の失敗談を読んで、効率的な勉強法を知っていただけると幸いです。
お読みいただきありがとうございました!
コメント