どうも、ウェブ系ウシジマくんです。僕は今でこそフリーランスのエンジニアとしてリモートで働いていますが、かつてはプログラミングについて右も左も分からないヒヨッコでした。
最近、Twitterを始めたSNSでも、未経験からプログラミングを習得したいという人が増えているので、今回のエントリーでは、その方々に向けて、僕の経験を元にしたオススメの勉強法を紹介したいと思います。
Progate
もはや説明不要となった、初心者向けプログラミング学習サービスのProgate(プロゲート)。
豊富な図解でプログラミング特有の専門用語を身近な例に例えているので、全く知識がない人でも理解しやすいのがポイントですね。
ただ、正直Progateをこなすだけでは、いつまで経っても業務レベルで使えるプログラミングスキルを身につけることはできません。
Progateはその名の通り、プロのエンジニアになるための登竜門なので、1~2周もすれば十分ですね。
Rubyのエンジニアを目指すのであれば、Progateでは次のコースを学ぶのがオススメです。
- HTML
- CSS
- Javascript(ES6) <= 好みで
- Ruby
- RubyonRails
- SQL
- CommandLine
- Sass
- Git
HTMLとCSSについては、どちらかというとフロントよりの技術ですが、知っていて損はないので、
「わからなくなったらリファレンス参照しながら自分で調べられる」
くらいのレベル感でいいでしょう。Javascriptに関しては、お好みで。
この中で一番学習に時間がかかるのが、RubyonRailsのコースだと思います。
他のコースと異なり、学習範囲が広いので。
「解説されていることが、全然理解できない。。。」と感じるかもしれませんが、落ち込まなくて大丈夫。
穴埋め箇所がどうしてもわからなくなったら、どんどん答えをみて進めていきましょう。
プログラミングにおいて重要なのは、やり方を暗記することではなく、やりたい事をプログラミングで表現できるかどうかです。
実際の開発でも、リファレンスを参照しながら進めて行く事がしょっちゅうあるので、もっと気楽に構えましょう。
Skill Hacks
Progateを一通りやり終えたくらいだと、自分にプログラミングスキルが身についたかどうか不安になっている頃だと思います。
そこで、学習した事をより深く理解するために、動画教材でWeb開発の基礎を学びましょう。
Udemyやドットインストールで学ぶのもいいですが、内容が高度なことが多いので、個人的には-Skill Hacks- 動画で学ぶWebアプリ開発講座という教材がオススメです。
この教材は有料ですが、Progateでは解説されていないけど、業務では理解していることが必須な概念などについて詳しく解説されているので、時間的な効率を考えれば購入する価値は十分あるんじゃないかな。
動画だと、通勤・通学時間やお風呂といったスキマ時間を使えるので、挫折せずに続けられるのがメリットですね。
既存のサービスをマネたクローンアプリを作成する
ProgateとSkill Hacksで一通りウェブ開発の基礎を習得することができたら、ここで今までの知識を総動員して、既存サービスのクローンアプリを作ってみましょう。
クローンアプリの題材としてよく取り上げられるのがTwiiterですね。
クローンアプリといっても、作成するためには、
- データベースの知識
- フロント側から入力された値をデータベースに伝えるバックエンドの処理
- HTMLとCSSを使ったスタイリング
- 登録・閲覧・更新・削除といったCRUD処理
などなど、やることは結構あるので、アウトプットの題材としてかなり優秀なんですよね。
わからないことが出てきたら、
- Progateのスライドを見返す
- Skill Hacksの動画を見返す
- ググってみる
- 教えてくれそうなメンターを探して聞いてみる
このような形で一つずつ丁寧に解決していきましょう。
試行錯誤の末にクローンアプリを完成させることができたら、それをポートフォリオとして未経験からでも採用してくれるIT企業に応募してみるのもいいですし、まだ理解に不安があるようでしたら、スクールに通うのもアリです。
個人的には、もうIT企業に就職して経験を積んだ方がいいと思いますけどね。
プロを目指すRuby入門
クローンアプリを完成させる実力まで到達することができれば、もう技術書から学んでもいい段階にきています。
これまで学んでこたこと覚えられていなかったとしても、解説されれば理解できるハズ。
「でも技術書って、たくさん種類がありすぎて、どれを選んでいいかわからない」
とお悩みのあなたに、僕がオススメするのが、「プロを目指す人のためのRuby入門」です。
業務では基本的にRubyのフレームワークであるRubyonRailsを使うことが多いのですが、そのベースとなっているRubyの知識は必須です。
「プロを目指す人のためのRuby入門」は、著者の伊藤淳一さんがまるでマンツーマンレッスンをしてくれているかのような文章構成になっているので、他の技術書よりも理解しやすくなっているんですよね。
多くの勉強会でも、この「プロを目指す人のためのRuby入門」の輪読会が頻繁に行われているくらい、業界内でも評価の高い技術書です。
Kindle版と書籍版の両方があるので、Rubyをしっかり理解したいのならどちらかを購入することをオススメします。
Everyday Rails RSpecによるRailsテスト入門
RSpecとは、RubyおよびRailsに対応しているテスト用フレームワークです。
プログラマーとして仕事をする上で、テストコードが書けることは必須。
実際の動作が正常に動く事を保証させることがテストコードを書く目的であり、開発を安心して進めるために必要なものです。
ただ、RSpecはあくまでもテストなので、実際の開発経験を通じてでないと、なかなか身につけにくいのも事実。
そこで、実際にスキルを伸ばすのは現場に入ってからでもいいとして、前提知識や基本の知識を知るために「Everyday Rails RSpecによるRailsテスト入門」をオススメしています。
こちらは電子書籍版のみの対応となっていますが、一度購入すると、アップデートされた際に無料で最新版がダウンロードできるようになるので、お財布に優しいんですよね。
なお、こちらの原著は海外のRailsエンジニアが書かれているものですが、先ほど「プロを目指す人のためのRuby入門」の著者である伊藤淳一さんも翻訳に関わっているので、初心者でもわかりやすい内容になっています。
これまで紹介したものの中では学習優先度としては低いですが、興味がある人はチャレンジしてみてくださいね。
最後に
世の中にはたくさんのプログラミング言語がありますが、その中でもRubyはコードと同じくらい働き方も柔軟な気がしています。
実際リモートワークを許容している企業はRubyを採用しているケースがほとんど。
プログラミング言語の人気ランキングでは10位以内に入っていることが多いですし、唯一の日本産の言語というのもあり、個人的に非常に思い入れがあるんですよね。
今回紹介した勉強法を参考にしていただいた方が就職して、Rubyエンジニアが増えることに貢献できたら、すごく嬉しいです。
最後までお読みいただき、ありがとうございました。