プログラミング初心者の独学でRailsを選んだ2つの理由と学び方
こんにちは、外資系セールスから転職→現在はベンチャー企業にて起業家を支援している冨田到(@ItaruTomita9779)です。
Ruby on Railsの独学をしていますが、初心者・未経験の登竜門であるRailsチュートリアル(第4版)を1周しました。
プログラミングの独学について、初学者は「何をやればいいのか、どんな言語をどんな順番で学べばいいのかわからない」というケースがあると思います。
自分もそうでしたが、直近ではRuby on Railsを選んで、独学して、ウェブサイトを作成しています。ご参考までにこちらをまずは作ってみました(改善途中)。
今回は、自分自身が初学者ですが、なぜRailsという言語を選び、Railsの独学においてどういう学び方をしているのか、ご共有したいと思います。
Railsを選んだ理由と学び方の結論としては下記のとおりです。
- 前提:
プログラミングを学ぶ目的がなにか、自分の場合はその目的と手段でRailsを選んだ。 - 理由1:
Railsは食べログやTwitterなど、多くの著名なウェブサービスを創ってきたので、汎用性がある、参考にしやすい。 - 理由2:
RailsはRailsチュートリアルをはじめ、先行者のノウハウがネットに潤沢にあるので、学びやすい。 - 学び方:
学習ステップはProgate・ドットインストール→Rails Girls→Railsチュートリアルの流れで基礎を固める。
なぜ、プログラミングという手段でRailsを選ぶのか?
さて、プログラミングの初学者はとりあえずHTMLとCSSを学んで、という事例が多いと思いますが、実際には、「なぜ学ぶのか?」という問いに答えられない人も多いと思います。
私の場合は、「独学者向けのサービス」を作り、「独学者の孤独な学び(学習ステップの属人化)」を解決したいので、プログラミングという選択肢の中で、Railsを選びました。
つまり、あなたがプログラミングを学ぶ場合、なぜその選択肢を選ぶのか、そしてそれに適切な言語は何か、ということを考える必要があります。
昨今、多いプログラミングを通じて転職をしたいということもありですし、また私のように特定の課題に対してサービスを作りたいでもいいと思います。
なので、まずはプログラミングの目的をしっかり定義した上で、本当にプログラミングが必要なのか、ということを考える必要があります。
例えば、下記のような例があるでしょう。
- 転職をしたいのであれば、本当にプログラミングの勉強が必要なのか?言語はRailsでいいのか?市場需要が高いものを学ぶべきか?
- サービスを作りたいのであれば、プログラマーの友人とチームアップするのがいいのでは?
- サービスを作るにしても、解決したい課題を持っているユーザーにとっては、本当にPC向けのRailsがいいのか?スマホ・iOSユーザー向けの言語を学んだほうがいいかもしれない?
- 将来的にプログラミングで作るものを改善し続けないのであれば、WordPressのようにノーコードで作ってもいいのではないか?
以上のような問がある中で、未経験でプログラミングを学ぶ時間のコストをしっかり考えるべきだと、この数ヶ月、実際に勉強してみて思いました。
転職したいだけであれば、プログラミングスクールに通って、ポートフォリオを作り、スクールのエージェント経由で転職案件に入り込んだほうが相当早いでしょう。独学すべきではありません。
他方で、私のように、サービスを作って改善して、世の中の課題を解決したいのであれば、その課題を持つユーザーにとって、使いやすいサービスがなにか、考える必要があります。
私がRailsという言語を選んだ大きな理由の一つは、上記のようなプログラミングという手段がいくつかある中でも、Railsでは、食べログやTwitterなど、投稿型のUGC系やSNS系などのサービスを作られた事例があるからです。
それに類するものを作りたいのであれば、学ぶ価値があると思います。
プログラミング言語自体は、一つなれてみると、他の言語の習得は時間はかかりますが、出来なくはありません。
また、Railsの良い点は、このような類似サービスの作り方がネットに先人の知恵として、転がっている点が素晴らしいです。
Railsの初学者向けの独学ロードマップ
さて、そのような目的の中で、Railsを学ぶことが適切だと思われた場合は、ぜひ下記のステップで勉強してみましょう。
*所要時間的には、仕事しながら、コツコツやってたら、4ヶ月位かかりました。
- Progate、ドットインストールでHTML、CSS、SCSS、Java、SQL、Ruby、Command Line、Git、環境構築、jQueryの無料版のみ
- RailsGirlsの日本語のみ
- Railsチュートリアルの第4版(1〜14章)
Railsの独学を選んだ2つ目の理由は、Railsは上記のロードマップを無料で実践できるくらい、ネットに先輩方の情報がたくさんあるからです。
*プログラミングの独学については、わからないことが大量に出るので、ネットに解決策がたくさんあることが、初心者にとっては重要で、Railsはそれを満たしています。
まず、上記のロードマップについては、Progateは下記のURLからまずは登録してみてください。穴埋め式にわかりやすく学べますので、気に入ったら有料版にすればいいかと思います。
また、ドットインストールはこちらですが、HTMLやCSSが濃厚ですので、開発環境を用意して、写経されるのが良いと思います。
また、Progateとドットインストールの学び方は、下記の通り、Progateからすすめると理解しやすいです。
そして、実際のRailsの独学については、まずはRailsGirlsが比較的難易度も優しく、Gitの使い方とHerokuのデプロイも実践できますので、おすすめです。
そして、初級編の最後に、このRailsチュートリアルをやるのがおすすめです。いきなり難易度が爆上がりしますが、無料コンテンツの中ではこれが素晴らしいです。
Railsチュートリアルは、1章から14章までありますが、4章くらいから難易度がかなり上がります。
なので、わからない単語で検索したり、演習問題を解いてみたり、とにかく人の解釈に頼りまくってください。
例えば、下記のような演習解答が書いてあるQiitaを参照したり、JumbotronのCSSをいじってみたり、form_withを使ってみたり、演習サイトを作りながらも創意工夫しましょう。
上記のステップであれば、完全無料でまずは自分にプログラミングが向いていいるのか、確認できます。
また、上記のステップをしっかり回せれば、プログラミングの基礎能力はかなり付くと思いますので、そこから、サービスに必要な機能、ユーザーにとって一番価値のある機能を付けに行きましょう。
また、環境構築で、Windowsで挑戦されるツワモノがいらっしゃるのであれば、下記の記事もご参考ください。
プログラミングの独学は手段、提供すべきものはソリューション
仮に、あなたがプログラミングを通じて、世の中にサービスを出したいのであれば、ぜひ、しっかり解決したい課題を考えながら、作りましょう。
例えば、下記の記事のように、想定しうる顧客にインタビューを行ったり、自分自身をユーザーだとしたときに、何を解決したいのか?これをしっかり考えて、手段であるプログラミングを使いましょう。
転職のためのポートフォリオであっても、多くのベンチャー企業は、ビジネスサイドの視点を持つエンジニアに素晴らしい評価をくれると思います。
また、私もまだまだこれからですが、次に見つけた課題に対して、どのような設計でサービスを作っていくのか、下記のようにワイヤーフレームを立てて、機能実装頑張りましょう。
独学の目的次第で、プログラミングスクールでもOK
独学でもプログラミングは学べると思いますが、転職目的やプロトタイプ・MVPを作りたいだけであれば、プログラミングスクールもおすすめです。
独学をやってみて思いましたが、継続的にサービス改善をしていかないのであれば、スピーディにスクールなどで結果を求めてもいいと思います。
プログラミングを職業にされている方が、よくおすすめしているものの2つが下記のものです。
- TechAcademy:オンライン完結型のプログラミングスクール
- TECH::CAMP:プログラミング教室でじっくり学べるタイプのスクール
近くに教室があればTECH::CAMPで、なければオンラインで出来るTechAcademyが、効率的でおすすめのようです。
ちなみに今なら無料体験キャンペーンや返金キャンペーンをやっているようなので、独学が苦手な方や本格的にエンジニアを目指される方は、チェックしてみてください。
コメント