プログラミングを独学で習得する手順【サーバーサイド編】
昨今のエンジニアへの転職ブームや副業ブームが合わさって、プログラミング初心者の数が今爆発的に増えています。
プログラミングは、動画編集やAdobeソフトを用いたデザインなどと比べると、学習コストが比較的高く、挫折してしまう人が多いのが現実です。
「挫折してしまうならプログラミングスクールに行けばいい」という人がいるかもしれませんが、スクールは安くても8万円、高い場合には数十万円もかかることがあります。
「自己投資として、それくらいの投資をためらうなよ」と思うのはよろしくないです。
世の中にはいろんな人がいます。
スーパーかかあ天下で、毎月のお小遣いが月に3万円というかわいそうな夫がいるかもしれません!
世の中には数十万円〜数百万円とする優良教材があるくらいですから、通常であれば、10万円程度ならすぐにでも投資して欲しいレベルですが、各々の家庭でどのような事情があるかはわかりません。
プログラミングを独学で学ぶことは、結論を言ってしまえば可能です。
ただ、当然スクールに通うよりも、強いメンタルと正しい勉強方法の理解が求められます。
そのため、今回はそのようなスクールに何かの事情で通えない人のために、プログラミングをゼロから独学で学ぶ勉強方法についてまとめていきます。
この「プログラミングを独学で学ぶ手順」は、フロントエンド編とサーバーサイド編の二つに分けてまとめていきます。
フロントエンド編については、以下の記事にまとめていますので、参考にしていただければと思います。
プログラミングの学習を始める前に
プログラミングの学習をする前にやらなければいけないことは、具体的な手順の前に、しっかりと継続的に学習できるマインドや作業環境を整え、正しい勉強方法を知ることです。
プログラミングは、転職するにしても、副業をするにしても、他の分野より比較的覚えることが多く、またエラーが多発することにより挫折しやすいことは事実です。
そのため、いきなり勉強に入るのではなく、必ず先ほど言った、学習する上でのマインドや作業環境、正しい勉強方法の理解は、必ず整えておいてください。
これらについては、以下の記事にまとめてありますので、熟読するようにしてください^^
STEP1:Progate
上記した記事を読んでくれたら、次からは早速具体的な学習に取りかかります。
一番初めに取り掛かるのは、よくネット上でも言われているようにProgateで問題ありません。
いきなり分厚い書籍などで学習を始めてしまうと、十中八九挫折してしまいます。
Progateの具体的な進め方やスケジュール感については以下のような感じです。
()内が目安となる所要時間ですが、割とゆったりめに設定してあるので、このラインは超えないように努力してください。
- Web開発パス(Ruby on Rails):2周以下(4週間)
- JavaScriptコース:1周(2日)
- jQueryコース:1周(2日)
- SQLコース:1周(2日)
- Gitコース:1周(2日)
- Command Lineコース:1周(2日)
学習する順番は、そこまで厳密じゃなくても大丈夫ですが、ひとまず上記のコースを終わらせていきましょう。
もちろん、全て「道場コース」まで含んだスケジュールになっています。
サーバーサイドの勉強となると、他にはWeb開発パス(Node.js)というコースもありますが、こちらは別に学習しなくても大丈夫です。
Node.jsは2009年にリリースされた、サーバーサイド用のJavaScriptアプリケーションのプラットフォームであり、一言でいうと、Node.jsはサーバーサイドのJavaScriptです。
従来、JavaScriptはフロントエンドで使用されていましたが、最近ではより発展して、サーバーサイドでもJavaScriptを動かせるようになりました。
最近、Node.jsは流行っていますが、初学者が転職するために学ぶべきかというと、そうではありません。
やはり、初学者の場合は、求人数や学習環境の観点から、Ruby、Ruby on Railsを学んでいく方がいいでしょう。
入社して、Node.jsが必要になったときに、取っ掛かりとしてProgateで学習してみることはいいと思います。
ひとまずは、「JavaScriptでサーバーサイドもできちゃうんだ」くらいの認識で大丈夫です。
Progateで学習するときのコツや、ぐるぐる周回してはいけない理由については、以下の記事にまとめているので、そちらも合わせて参考にしてください。
STEP2:Railsチュートリアルで学習する(3週間)
STEP1のProgateで基礎学習を終えたら、次はRailsチュートリアルで、ゼロからプロダクト開発をしていきましょう。
やはり、言語やフレームワークを学習しようとしたら、公式ドキュメントやチュートリアルを参考にするのが一番です。
Railsに関する無料教材の中では量、質ともに間違いなく最高の教材です。
Railsチュートリアルは、Webアプリ開発に関する世界的に有名な書籍の 「Ruby on Rails Tutorial」 を日本語訳したサイトで、Railsの開発環境構築からユーザー登録などのアプリ作成について学ぶことができます。
Railsチュートリアルは中級者向けの教材なので、初学者がいきなりチュートリアルから挑戦すると、挫折してしまいますが、ProgateでRailsコースを2周ほどしておくと、なんとかついていくことはできます。
Railsチュートリアルの主な特徴としては、以下があります。
- 本格的なWebアプリを開発できるなど、内容の質が高い
- 全体を通して3つのWebアプリを開発できるなど、学べる量が多い
- 他の無料教材にはない、テスト、デプロイ等の発展的な部分を学べる
9〜14章は、少し発展的な内容になっているので、ひとまず8章までの内容を繰り返し手を動かして、頭に叩き込みましょう。
Railsチュートリアルを学習していくスケジュール感としては、ゆったりめのペースで、1ヶ月かけて3周できればいいです。
1周目は、特に手を動かさなくてもいいので、ざっと全体に目を通して、出来るだけ内容を理解するように努める。
このときの理解度は、だいたい60%〜70%くらいあれば大丈夫です。
理解度を90%〜100%にしようとして、時間をかけすぎないようにしてください。
そして、2週目以降から、エディタを使いながら、実際に手を動かして、チュートリアルに沿って、プロダクトを作ってみてください。
Railsチュートリアルは、初学者からすると、なかなか手強いですが、ここを乗り越えれば、かなりRailsの理解が深まっていると思います。
STEP3:サイトを自分で作ってみる(1ヶ月)
Progateで基礎を学び、Railsチュートリアルで中級レベルまでインプットすることができたら、ここから転職活動用のポートフォリオサイトを作っていきます。
ポートフォリオの数は、2つで大丈夫です。
実際に自分が転職活動をしてみて、1つはサンプル数が少なすぎるし、3つはあればいいが2つでも印象はそこまで変わらないことから、2つが一番いいと個人的には思っています。
ポートフォリオサイトの内容を決める時は、自分の趣味と関連付けながら考えると、案外自分が作りたいサイトはすぐに決まったりします。
例えば、自分の場合は、映画鑑賞が好きなので「好きな映画を共有することができるプラットフォーム」を作ったり、一人旅が好きなので「世界を旅するバックバッカー同士が交流できる掲示板」を作ったりしました。
サイトの中身を考えるときは、自分が趣味をやる中で、「こんなサイトがあったら便利だな」程度で大丈夫です。
実際にリリースするわけではないので、需要があるとかないとか、その辺は深く考えなくてもいいです。
自分の日常生活を思い浮かべてみて、何かの「不(不満、不便…)」を解消してあげるサイトでもいいかもしれません。
何か思い浮かんだら、すぐに制作にとりかかるのが重要です。
エディタとしては色々種類がありますが、迷ったときはとりあえず、「Visual Studio Code」を選んでおけば大丈夫です。
自分でアプリの内容を考えて、自分がゼロからコーディングしていく作業は、大変ですが、かなりやりがいがあって楽しいと感じるはずです。
1ヶ月で2つのWebアプリケーションを作れるように頑張ってみましょう。
もし厳しそうなら、5週間に少し伸ばしてもいいので、とにかく最後まで作りきりましょう。
あと、これに関しては入社が決まってからでも大丈夫ですが、以下の書籍も目を通して、実際に手を動かしておくと、現場に入ってからよりスムーズになると思います。
これらは、自分が会社のエンジニアさんからオススメされたものです。
特にSQLに関しては、サーバーサイドをやる人間なら絶対に避けては通れない道なので、しっかりと読み書きできるようにしておきましょう。
STEP4:転職活動をする
自分のオリジナルサイトが二つ完成したら、ここで転職活動に移りましょう。
「このスキルセットで転職活動始められるの?」と思う人がいるかもしれませんが、答えは「可能」です。
「DockerやKubernetes、Circle CIもポートフォリオに組み込まなくても大丈夫?」と思った人もいるかもしれませんが、正直そこまでしなくても全然大丈夫です。
何故ならば、確かにエンジニアに転職する際は、スキルが高いにこしたことはないですが、完全未経験の場合は、スキルよりもどちらかというとヒューマンスキルの方が重要だからです。
つまり、コミュニケーション能力や、レスポンスの速さ、メールの文章などですね。
実際に自分も転職活動をやっていたときに感じましたが、スキルよりも明らかにヒューマンスキルの方が重要視されていた印象です。
せっかくポートフォリオを持っていっても、ほとんど触れられずに終わることだってあったくらいです。
触れられたとしても、1〜2個の簡単な質問をされて終わりということが多かったです。
初学者は、ポートフォリオの質を高めたり、難しいスキルを組み込むことよりも、「なぜそのターゲットを選んだのか」「このWebアプリを通して、どんな価値提供ができるか」のようなサービス寄りの質問に、しっかりと答えられる方が、圧倒的に評価は高いです。
実際に自分が転職活動をしていて、そのことを実感したし、自分の会社の採用担当のエンジニアさんも同じことを言っていました。
転職活動時によく聞かれる質問やそれに対する答え方だったり、求人サイト「Wantedly」の使い方については、以下の記事にまとめていますので、そちらもフルに参考にしてみてください。
まとめ
上記の手順に従えば、プログラミングをゼロから学び始めて、だいたい3ヶ月〜4ヶ月ほどで転職活動が完了します。
ここで余談なんですけど、余裕のある人は、転職活動をしながら、発信活動用に、面接官からよく受けた質問とか、裏話とか、自分が経験した印象的なことを逐一メモしておくいいです。
そうすれば、転職活動後にTwitterでもブログでもYouTubeでも、発信できるネタになって自分をブランディング化することに役立ちます。
転職活動、なかなか大変だと思いますけど、大変なことの後にはいつだっていいことが待ってますからね。
入社さえ決まってしまえば、最高の環境で最高の学習教材をもってして、毎日10時間以上プログラミングと戯れることができます。
そうなれば、市場価値はうなぎ登りに上がっていきます。
そして、人生はどんどん楽になっていきます。
自分の家族との時間もどんどんと増やしてくことができるようになります。
苦しい時も、そんな未来を想像しながら、頑張ってみてください。
それでは転職活動、応援しています^^
- STEP1:Progateで基礎知識をインプットする
- STEP2:Railsチュートリアルで学習する
- STEP3:簡単なサイトを作ってみる
- STEP4:転職活動を行う
今回の内容については以下の動画でも解説しているので、ぜひご覧ください^^