ずいぶん長い間ブログの更新をしていなかったのですが、プログラミングを頑張っていました。
結果として、4〜6ヶ月ほどの頑張りで在宅で月に10万くらい(週2〜3稼働)稼げるようになりました。
そんな僕が、大学生ならではの、プログラミング学習のメリットと稼ぎについてお話ししていきたいと思います。
また、今回の記事を書くのに当たって、社会人未経験からのエンジニア転職に関する情報を漁っていたのですが、そこで分かった大学生であることのメリットについても述べていきます。
音楽をやっていて感じたプログラミングのチート性

個人的な話になってしまうのですが、音楽制作を2年くらい続けていまして... 今の所そこそこ順調に行っていると感じています。
Spotifyでは公式プレイリストに採択されましたし、一応YouTubeでも5桁再生行った曲があるので、下手すると日本の事務所に所属しているまだ売れていないバンドとかよりも沢山聴かれている可能性だってあります。
...それでも音楽では殆ど稼げていません。そのくせプラグインやらサンプルやらで浪費するのでお金は出ていく一方です。
プログラミングはその真逆です。使うお金は少なくて済み、コードを書けばしっかりお金が入ってきます。
また、これまでは、飲食のバイトを2週間も耐えられなかったり、単発のバイトでなんとか3週間の一人旅の費用を賄ったり(しかも結局足りなかった)していたので、どうしてもお金を稼ぐのは辛くて苦しい印象しかありませんでした。
プログラミングでお金を稼ぐことのチート性は、他のバイトとかをやった人ほど実感できるようになるかもしれません^^
社会人ではなく、大学生のうちからプログラミングを始めるメリット

未経験社会人のエンジニア転職 対 学生エンジニアインターン

上のグラフを見ると分かる通り、プログラミングスクールがここ最近物凄い勢いで伸びてきています。社会人の未経験エンジニアだとスクールを経て転職しようとしている人(絶対数)が増えています。
しかし、それに伴い以下のようなデメリットも発生してきているそうです。
- 履歴書に「〇〇(プログラミングスクール名)〇〇期生」と書くと印象が悪くなることが多くなってきた
- レベルの高い自社系の企業になればなるほどスクール卒の技術力じゃ足りない → 就職先の妥協につながる場合も
前者に関しては、スクールの卒業生が、転職の際の面接時にスクールで作ってきたポートフォリオ(orそれに毛が生えた程度)をそのまま提出してしまったりすることであまり良く無い印象を持っている方がいるそうです。
後者の方だと、スクールに期待をしすぎて自走力が証明できず、なかなか上手く結果が出せなかったり...
このように、社会人だと前の職業から完全に乗り換えていかなければならないので大きな労力が必要となります。
それに比べると、学生インターンは非常に気楽です。最悪合わなければすぐにやめられます。
学生インターンの場合はスキルをつけてそのままその会社に就職することも可能ですし、社会人の場合の転職と比較しても求められる技術力は低い場合が多いです。
それでいて普通に稼げます。
しかも、現在(2020,21年)は某ウイルスの影響もあり、在宅勤務又は週1程度出社の原則リモートインターンが増えてきています。僕も最近は在宅でパジャマ姿で作業することが増えてきています。精神的にも気楽です。
まとめると、
- 技術レベルが高くなくてもインターンは可能。しかも、だからと言ってやることのレベルが低いわけでは無い
- 合わなければすぐにやめられる
- インターン先にそのまま就職できる可能性がある
- 接客バイトの半分以下の疲労度で倍稼げる
- リモートで稼げるインターンも増えてきている
そもそも自分がプログミングに向いているのかを社会に出る前に判断できる
僕の通っている大学の教授とこの前、
「この世の中にはプログラミングというものにとことん向いていない人がいる」
という話をしました。例えば、for文や関数の概念がいつまで経っても理解できなかったりする人はおそらくプログラミングは向いていません。割合で言うとそんなに多く無いと思いますが、こういう人は良い意味でプログラミングを諦めることができます。
もしこういう人が、社会人になってから仕事をやめ、プログラミングスクールに通ったら辛くなってしまうと思います。
僕のプログラミング勉強法

Udemyのみ(総費用: 〜1万円)
僕がインターンに入るまでにした勉強はほぼUdemyで完結しました。最後の方は英語の論文から機械学習を実装しましたが、インターンに受かるのにこんなことをする必要はありません。
ぶっちゃけ勉強する言語なんて有名どころであればなんでも良いと思いますが、プログラミング未経験ならRuby、PHP、Python、Javascriptのどれかを選べば良いと思います。勘違いしないで欲しいのが、例えば、Pythonしかやったことなくとも、RubyやPHPを使っている会社のインターンに行くことは可能です。話す言語とは異なり、プログラミング言語は似通ったものが多いです。
ちなみに僕はPythonを選びましたが、それで良かったと思っています。理由としては、競合が少なく(最初はRuby on RailsとPHPを選ぶ人が多い)、なんと言っても機械学習系のポートフォリオがサクッと作れて他の人と差別化しやすいからです。
これから3つ講座を紹介しますが、全て僕が実際に受けた講座なので安心してください笑 上から順番にやっていけば良いと思います。
また、Udemyは頻繁に(月に2〜4回程度)大幅セールを行っているので、そのタイミングで買うと良いです!そうすれば、講座3つとか4つ買っても5000円程度に抑えることができます
現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル

これは僕が最初に買った講座で、Pythonの基礎から応用まで一通り抑えられます。ロギングなどの、初見では一体何に使うのかよく分からないようなところは全部飛ばしても大丈夫です。基礎編の最後の方に演習がありますが、プログラミングやったことのない人が初見で実装するのはかなり難しいと思います。
逆に、それができるようになればその時点でそこそこのレベルにはなっています。何度でも再生して根気よく続ければ大丈夫です。ポートフォリオを作りたい場合はFlaskのところを見ておくと良いと思います!
現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル
NLP - Natural Language Processing with Python

日本語でいうところの自然言語処理です。その名の通り、日本語や英語の文章を解析(感情分析、品詞分解等)したり、応用所でいうとチャットボットの実装などがこれに当たります。
ポートフォリオに組み込めると他と差別化することができます。
英語が苦手でも画面を見れば大体わかると思いますし、それでも嫌だという方は日本語のコースを検索してみてください!
NLP - Natural Language Processing with Python
作りながら覚えるMicrosoft Azure入門講座(PaaS編)

ポートフォリオが作れたら、AzureやAWSといったインフラ系の講座を一つとっておくと差別化に繋がって良いと思います。
Azureでできることの一つとして、「ポートフォリオを世界中に公開する」ことが挙げられます。要するに検索エンジンでURLを入力すれば皆さんの作ったWebアプリなどにアクセスできるというものです。
このようなサービスでHerokuというものがありますが、速度が遅かったり、Heroku特有の謎エラーなどが発生したりするので個人的にはもうあまり使っていないです。
学生インターンでも、AWSやAzureがある程度でも触れると、応募できる会社のバリエーションが一気に増えるのでオススメです!
作りながら覚えるMicrosoft Azure入門講座(PaaS編)
勉強期間は3〜6ヶ月程度で十分

大抵の場合は3〜6ヶ月程度勉強すればインターンとして参加するには十分だと思います。
その間はバイトでお金を稼ぎ、インターンに受かったらそちらの方にシフトしていけば良いと思います。
正直、早ければ早いほど楽にお金が稼げるようになる傾向が高いです。僕がプログラミングを本気で始めたのは大学3年からですが、正直1年の頃からやっておけばもっと良かったなと思っています。