Ruby on Railsを独学で勉強(学習)するのは難しいからプログラミングスクールで学ぶのをおすすめしたい。

f:id:free-engineer:20180331032101j:plain

最近、「Ruby on Railsの学習方法について教えてください」みたいな質問を受けることが多く、いちいち答えるのも面倒なので、この記事にまとめておきます。

Ruby on Railsを学ぼうと思っている方やRuby on Railsを学んでいる方向けの記事になりますので、ご了承ください。

目次 

Ruby on Railsに限ったことではないが、プログラミングの独学は難しいから辞めた方が良い

 

プログラミングって、ぶっちゃけ、難しいです。

 

簡単だ!って言う人もいるんですよ、ホリエモンみたいに。でも、あれは半分正解で半分間違い。プログラミングって、わかってしまえば、決して難しいものではないんですが、わかるまでが難しいんです。

 

具体的には、わかってくるようになるまでの最初の3ヶ月が大変なんですよ。その3ヶ月の間を挫折せずに毎日継続できるかどうかの勝負。ただそれだけな気がします。

 

その最初の大事な3ヶ月間が独学で誰も横に質問できる相手がいないと、多くの場合、挫折してしまうんですよ。

 

なので、最初の3ヶ月はマンツーマンで基礎から教えてくれる人と一緒に取り組むのが良いです。

 

最初はMacの使い方やターミナルのLinuxコマンドの使い方からわからないでしょうし、なおさらです。

 

Railsチュートリアルは初心者には難しいから辞めた方が良い

 

独学で一番やってはいけないパターンは、いきなりRailsチュートリアルをやること。

 

これは地味に難しいです。コンテンツとしてはクオリティは高いんですけど、プログラミング初心者からしたら敷居が高い。

 

まあ、ドットインストールをやって、プロゲートをやって、スクールに通って、簡単なアプリケーションを作った経験のある人にとってはちょうど良いです。

 

ある程度わかっている人が頭の中を綺麗に構造化するために読むのが良いです。

 

全然理解できなくても、自分はアホだとかセンスがないとか思う必要はない

 

わからなくても落ち込む必要はないです。わからなくて当たり前です。

 

本を読んでても、知らない用語がバンバンでてきたら、大変ですよね。脳内に必要な知識がインストールされていないと、そりゃあ、わかりませんよ。

 

最初のうちは、わからない用語がバンバンでてくる。重要なのは、その度に、わからない言葉をわからないままにせずに、一つ一つコツコツ調べていく姿勢です。

 

わからない言葉がでてきた。すると、その言葉をググる。すると、その言葉を説明する記述がでてくる。その記述の中にさらにわからない言葉がでてくる。

 

萎えますよね。萎えます。しかし、ここが勝負なんです。

 

わからない言葉が出てきて、調べたら、さらにわからない言葉が出てきた。それらを面倒臭がることなく、一つ一つ、徹底的に調べて行って、自分の言葉で説明できる状態にすることが重要です。

 

最初のうちは途方もなく時間がかかります。でも、最初に頑張れば頑張るほど、後で楽になります。最初の基礎的な土台を抑えておくのが極めて大事です。

 

知らない言葉を無くしていく。すると、徐々に、概念と概念が繋がっていって、いつの間にか理解できるようになっている、と言う感じです。

 

Ruby on Railsで勉強すること自体を目的にするのではなく、ウェブサービスを作るためにRuby on Railを使うという態度で臨むべき

 

これはよく言われることなんですが、Ruby on Railsに関わらず、プログラミングを学習する上では、自分が作りたいサービスを明確化してから取り組むことが重要です。

 

ぶっちゃけ、技術的な細かい部分を掘り下げたらキリがないですし、そこまで複雑なアプリケーションを作るのでない限り、使うgemもそんなにない気がします。

 

ログイン機能とか検索機能とかページネーションをつけるくらいではないでしょうか。

 

なので、ちゃっちゃと実装してしまって、もっと見た目をこだわるとか、マーケティングを考えるとか、そっちの方が良い場合も数多く存在する気もします。

 

第一、やっぱり自分でサービスを作らないと飽きてくるし、面白くないです。勉強すること自体が目的化してしまうのは良くないです。自分が作りたいサービスを考えて、そのために必要な機能を実装すべく、一つ一つ調べるという姿勢が大切です。

 

HTMLとCSSは重要。舐めてはいけない

 

地味に、重要なのがHTMLとCSS。

 

ぶっちゃけ、例えばマッチングアプリケーションのようなウェブサービスを作る場合、そこまで技術的に複雑なプロダクトは最初から作る必要はないし、作る意味もない。

 

プロダクトがグロースするしないは、市場と参入するタイミングとマーケティング力に依るところが大きいからです。だからバックエンドは最初のうちはある程度で良いですよ。

 

※ もちろん、最終的には、セキュリティ周りとかデータベース周りとか超重要なんですけど、初期段階では、個人情報をあんまり持たないようにするとかして、とりあえず動くモノを作ることが大切です。

 

でも、フロントエンドは何気に重要です。デザインがそれっぽくないと、ワクワクしないし、みんな広めようともしてくれない。応援者も現れにくい。

 

HTMLとかCSSって、RubyやPythonのようなサーバーサイドのプログラミング言語と比べると、少し低級な感じがしませんか?少なくとも私はしてました。

 

でも、意外にこれらのスキルは重要です。

 

Ruby on Railsでも、MVCアーキテクチャのうちのV、つまりViewはHTMLをベースとしたERBテンプレートで書かれていますし、あとは、CSSについても、Stylesheet内にCSSもしくはSCSSが書かれている。

 

この部分がイケテナイと、なんかパッとしません。

 

ぶっちゃけ、ウェブアプリケーションを作る場合、ある程度サイト構造とかパターンが決まってるんですよ。ナビゲーションバーがあって、トップページがあって、詳細ページ一覧があって、クリックすると、詳細ページに飛ぶ、みたいな感じです。

 

なので、結構、サーバーサイドでやることはパターンが決まっている。だから、フロントエンド、つまり、デザインが相対的に重要になるわけです。

 

ぶっちゃけ、今の時代なら、chromeブラウザのデベロッパーツールとか見れるんで、デザインも優れたサービスの優れた箇所を参考にしたりすることはできるんですが、最初のうちはデベロッパーツールの使い方もわからないでしょうし、こんな便利なものがあると言うことも独学だけでは気づかない場合も多いと思います。

 

この辺りも含めて、独学ではなくプログラミングスクールが良いなあと思う次第です。

 

具体的におすすめなプログラミングスクール

 

じゃあ、どこのプログラミングスクールがおすすめなのかと言う話なんですが、個人的には、対面マンツーマンで教えてくれるところです。それも、オンラインではなくて、オフラインの方がおすすめです。

 

私が実際に通ったスクールでもあるのですが、Tech Boost は良いと思います。渋谷にある教室に通う必要がありますが、メンターが丁寧に教えてくれます。

 

Tech Boost は、AIやブロックチェーンやIoTを学ぶことができるプログラミングスクールと言う触れ込みがありますが、実質的には、Ruby on Railsを学ぶスクールです。Ruby on Railsを学んだ上で、オリジナルアプリケーションを制作する部分が一番大きいです。AIやブロックチェーンを学びたいなら、テックブーストに加えて、プロゲートやアイデミーあたりでPythonをさらに学習する必要はあるでしょうね。

 

Tech Boost の難点としてよくあげられるのが、料金の高さなんですが、確かに、一般的な感覚からすれば、3ヶ月で30万円と言うのは、なかなか敷居の高い金額ではあると思うんですが、私の場合、お金をある程度出した方がモチベーション管理の面で良いので、この辺りは出し惜しみしないほうが良いと思う派です。

 

プログラミングってダイエットや筋トレと似ている部分があって、結局のところ、モチベーションを維持できるかどうかってところが大きいんですよ、と言うか、これが全てです。

 

あとは、僕は通ってはいないのですが、テックキャンプ も良いです。通ったこともないのに、なぜテックキャンプが良いかわかるんだと言われるんですが、私はテックキャンプ のメンター5人くらいと仲良しで、友人の中にも、通っている生徒が3人くらいいるんです。だから、結構、中のことはわかっている。

 

で、一緒にカフェで作業している時にテックキャンプ のテキストをちょっとだけ見せてもらったりするんですけど、テキストの質がめちゃくちゃ高いんですよね。で、メンターのレベルについても、特に八重洲校に関しては、かなり良い気がします。

 

加えて、メンターの中で、どうすれば、テックキャンプ がよりよくなるか主体的に考える企業カルチャーが醸成されていて、この辺りの組織づくりはなかなか凄いなあと思ったりもします。

 

と言うわけで、対面マンツーマンのTech Boost テックキャンプ は個人的におすすめです。

 

対面マンツーマンではないコードキャンプやテックアカデミーも悪いサービスではないですが、私の感覚で言うと、やはり横で教えてもらうのが良い気もします。

 

実際、コードキャンプは受講したことがあるんですけど、あんまり合いませんでしたね。リアルタイムで質問がしにくいと言うことに加え、Macで環境構築とかはやらずにCloud9というIDEを使って開発をしていくんですけど、個人的には、Macで開発環境インストールしたりするところがプログラミングを行う上で大切な気がしているので、その部分からみっちり教えてくれるスクールの方が個人的には良いと思います。

 

Cloud9を使った方が、最初の立ち上がりは楽なんですけど、長期的な目線で見ると、普通にMacで一から環境構築した方が良いと思います。

 

という感じです。何か質問などがありましたら、コメント欄に書いていただければ、答えますので、宜しくお願いいたします。

 

プログラミングを独学で勉強してマスターしたいあなたへ。無理だし効率悪いから普通にスクールで学んだほうがいいよ。

こんにちは。

 

今日は初心者向けにプログラミング学習について語りましょうか。

 

最近ですね、

 

「プログラミングを独学でマスターしたい!それも1ヶ月で」

 

みたいな相談を受けたりするんですけどね。

 

ぶっちゃけて言います。

 

1ヶ月でプログラミングはマスターできません。

 

できる人もいるかもしれないですけど、独学では無理。

 

基本的には無理。

 

そんなことない!俺は1ヶ月でアプリケーション作れたぞ!みたいな人がいるかもしれないですけど、

 

大概、そういう人って元々軽くプログラミングやったことあったりして、ほんまもんの未経験者ではないんですよ。

 

まあ、あとはその人にたまたまセンスがあったっていう話。

 

万人に通用する話ではないんですよ。

 

普通の人がプログラミングを独学でマスターするのは無理。っていうか、途方もなく効率が悪い。

 

確かに、最近は独学でプログラミングを学ぶことができる優れた学習サイトもありますよ。

 

ドットインストールなんかは作った人は凄いと思いますし。

 

あと、プロゲートとかもプログラミングを学ぶ上ではかなり良いサービスだと思います

 

※ 若干、海外のサービスの丸パクリにも見えないこともないですけど、そこについては今回は触れません。

 

ドットインストールは無料だし、プロゲートも月額課金するとしても数千円くらいだし。なんという良心的な価格設定。

 

まあ、こういう風に個人が独学でプログラミングを学びやすいような環境はできつつあるんです。でもね、それでも一般の人にはキツイですよ。

 

だって、まずもって、プログラミングを学ぶ上で出て来る用語がイチイチわからないし、わからない単語がボコボコ出てきたら嫌気さしますよね。

 

頭にも負担かかるし、疲れるし、うんざりする。

 

コードを書いてみても、バグでうまく動かないし、動かない理由をウンウン考えているうちに日が暮れる。

 

正直、時間がめっちゃかかって鬼のように非効率なわけです。

 

今って、プログラミングスキルもそりゃあ大事なんですけど、それよりもフレームワークとかライブラリとかAPIを活用して、ちゃっちゃと組み合わせてマッシュアップしてサービスを完成みたいなやり方がイマドキだと思うんですよね。

 

コードを書けることは大事だけど、それよりもDJ的な掛け算のスキルが求められる。先人が優れたコードを残してくれているのでね。それらを有効活用するのが手っ取り早いです。

 

まあ、ウンウン唸る時間ももちろん必要だとは思うんですけどね。

 

でも、ある程度のレベルにパッと持ち込んで、パッとウェブサービス作るみたいなやり方が良いんじゃないかなあと思ったりするわけですよ。

 

言語でいうと、Ruby on Railsとかで。

 

まあ、あとはモチベーションの問題。

 

自分だけで勉強するのはマジでキツイ。だって、高校受験も大学受験もあんだけ予備校が流行ってるわけだから、みんな普通に一人じゃ頑張れないわけですよ。やる気が続かないのです。萎えるのです。

 

なので、プログラミングを独学で学ぼうとする方々に言いたいのは、普通にスクールに行くとか家庭教師に教えてもらった方が効率が良いよってこと。

 

スクールで間違えたときにさっと指摘してもらえる環境をつくるべき。わからないことを一瞬で解決してもらえる環境をつくるべき。

 

長期的に見て、絶対そっちの方が効率良いし、しかも安上がりだと思いますよ。

 

個人的にはCodecamp(コードキャンプ)がオススメなんですけど、ここも1ヶ月で15万円弱ですからね。3万円払えば1ヶ月延長になるし。

 

それに、エンジニア転職コースを受講してエンジニアに転職することに成功すれば、2ヶ月間の受講料がタダになるんですよ。

 

これ、革命的ですよ。

 

今なら、無料体験レッスンを受けた方には1万円分の割引きクーポンがつくみたいなので、とりあえず無料体験を受けて担当の講師の方に色々と質問してみるのも良いと思います。

 

まあ、Codecamp(コードキャンプ)については、僕個人が良いと思うだけで、合う合わないは人それぞれだと思うので、実際に自分の頭で決めてもらえばいいんちゃうかなと思います。

 

▼▼Codecamp(コードキャンプ)の無料体験レッスンはこちらから▼▼

 

プログラミングのオンラインスクールのCodeCamp

フリーランスエンジニアが登録すべきおすすめのエージェントの評判を比較してみた。

「manhattan」の画像検索結果

目次

  • ①:ギークスジョブ
  • ②:レバテックフリーランス
  • ③:Midworks(ミッドワークス)
  • ④:PE-BANK(ピーイー・バンク)
  • ⑤:ハイパフォーマー
  • ⑥:ポテパンフリーランス
  • ⑦:エンジニアファクトリー
  • ⑧:エンジニアルーム
  • ⑨:PROSheet(プロシート)
  • ⑩:ハッピーエンジニア
続きを読む

エンジニアルームの評判・口コミ|おすすめの理由とメリット、デメリットを調査してみた。

「エンジニアルーム」の画像検索結果

目次

  • エンジニアルームの基本情報
    • 運営企業
    • 代表取締役
    • 本社の所在地
  • エンジニアルームのメリット(長所)
    • ①:首都圏最大級の案件数
    • ②:東京以外の案件も扱っている
    • ③:担当コーディネーターの丁寧なサポート
    • ④:支払いサイトが最短20日
    • ⑤初心者向けの案件も多数
    • ⑤:確定申告のサポート
    • ⑥:約20年の実績
  • エンジニアルームのデメリット(短所)
  • 取引先
  • エンジニアルームの評判・口コミ
  • 最後に
続きを読む

PROSheetの評判・口コミ|おすすめの理由とメリット、デメリットを調査してみた。

 

「prosheet」の画像検索結果

目次

  • PROSheetの基本情報
    • 運営企業
    • 代表取締役
    • 本社の所在地
  • PROSheetのメリット(長所)
    • ①:週2日、週3日の参画も可能
    • ②:freeeの利用が可能
    • ③:福利厚生が充実している
    • ④:フェイスブック登録が可能で便利
  • PROSheetのデメリット(短所)
    • ①:案件のレベルが高い
  • PROSheetの案件
  • PROSheetの評判・口コミ
    • ①:週2日の求人もあり、良い
    • ②:キャリアアップの相談に乗ってもらえる
  • 最後に
続きを読む

ハイパフォーマーの評判・口コミ|おすすめの理由とメリット、デメリットを調査してみた。

目次

  • ハイパフォーマーの基本情報
    • 運営企業
    • 代表取締役
    • 本社の所在地
  • ハイパフォーマーのメリット(長所)
    • ①:単価が高い
    • ②:老舗である
    • ③:支払いサイトが速い
    • ④:週3日の案件もある
  • ハイパフォーマーのデメリット(短所)
    • ①:知名度が低い
    • ②:案件の難易度が高そう
  • ハイパフォーマーの案件
  • ハイパフォーマーの評判・口コミ
  • 利用の流れ
  • 最後に
続きを読む