- パソコンの操作に自信ないけどついていけるかなぁ
- プログラミングが難しくて挫折するか心配
- これからテックキャンプを受講しようと思っている
こういった疑問に答えます。
テックキャンプには絶対に挫折するポイントがあり、乗りこえることで自走力がかなり身につきます。実際に僕が挫折した経験から紹介していきます。
基礎カリキュラムでの挫折(受講2週間)
基礎カリキュラム期間は、プログラミングを続けることができるか適性をはかる期間でもあります。
3日目にRubyで挫折
受講して2日くらいはHTML/CSSを学んで簡単なビューをつくるのですが、わりと簡単でサクサク進むので楽しいです。
そしてプログラミングってこんな感じか、って思った頃にRubyといういかにもプログラミングっぽいコードが登場します。
hash = {name: “Tanaka”}
puts hash[:name]
ハッシュやオブジェクトなどの専門用語があらわれて3日目でプログラミングの難しさを実感します。
Rubyを使うための環境構築
そして最初に立ちはだかるのがRubyの環境構築です。
環境構築というのはRubyを使うためのソフトなどをインストールすることくらいに覚えておけば大丈夫です。
しかし、この環境構築がわりと面倒くさくてプログラミングを独学した人なら誰もが最初に挫折します。
特にMacのバージョンが合わなかったり、インストールされていたソフトが邪魔したりして、1人ではどうしようも解決できないってことがあります。
環境構築に2日かかってしまうことも普通にあります。
カリキュラム通りにやれば問題ないので、エラーがでないように祈りましょう。
もしエラーがでたとしても基礎カリキュラムのうちはメンターさんが解決してくれるので安心です。
ターミナルの使い方
プログラムを実行するには、ターミナルを使ってコマンドを入力する必要があります。
こんな感じです。これの操作に間違いなくつまづきます。しかしターミナルは1度慣れてしまえば大丈夫なので安心を。
本試験に合格する
基礎カリキュラムの後半は、中間テストがあります。ここでほとんど解けなくて絶望するのが恒例行事。
応用カリキュラムに進むには、本試験で70点以上が条件なので、そのための復習や対策やらに手こずります。
本試験への流れは、下記の通り。
- 中間テストで実力測定
- 模試1
- 模試2
- 模試3
- 本試験
- (再試験)
問題は、HTML/CSSとRubyとRails(エラー解決)から出題されます。
オススメは、模試3回を一気に解いたあとに鬼の復習をすることですね。
くれぐれもカリキュラムを最初から復習していくことはやめましょう。
再試験でなんとか合格
この中間テストの平均点って実は20点くらいなんです。ほとんどの人が解けないし1発で受からないんです。
模試が3回分あるので、まず全て解いてしまって問題の傾向をつかみ、苦手なところや出題形式をつかんで、カリキュラムを徹底して復習するという流れが一番スムーズです。
気をつけたいのが、1つ1つの復習に時間をかけすぎないこと。
1回では絶対に覚えられないので、カリキュラムを何週もするイメージで復習しましょう。
ちなみに全額返金の対象は14日以内(基礎カリキュラム中)なので、この中間テストに挫折して辞めてしまう人もいました。
基礎カリキュラム内でプログラミング学習の流れやコツはつかめるので、全額返金をつかって辞めるのもアリだと思います。
もし辞めてしまったらオンラインのプログラミングスクールでの独学もアリです。料金もテックキャンプの半額以下になるので。
応用カリキュラムでの挫折(2週~6週)
応用カリキュラムからはchatspaceというチャットアプリを作っていきます。
それぞれの機能実装でメンターから合格(LGTM)をもらう必要があり、chatspaceでは合計5箇所のLGTMをもらう必要があります。
また、カリキュラムにはほとんどヒントがないので、自分で調べて実装していくしかありません。自走力も求められます。
データベース設計とフロント実装
チャットアプリを作るうえで必要な機能を洗いだして、必要な情報を保存するためにデータベースを設計します。
必要な機能ってなんだろう、というところでまずストップします。
また、送信したチャット情報はどのユーザーに紐づくかなども考慮しないといけません。
一対一や一対多、などの関係性も必要になるので、ここで丸2日くらい費やします。
そしてページの見た目を作るのですが、最初にやったHTML/CSSの理解が甘く、基本的なビューですら作れないことを思い知ります。
また、記述方法の指定がHamlとScssなので、HTMLで書くものがHamlだとどのように書けばいいのかで悩みます。慣れると楽なのですが。
メッセージ送信機能の実装(エラーとの対決)
メッセージを送信するには、コントローラーやモデルなどの仕組みを理解しないといけないのですが、ここでエラーが頻発し足止めをくらうことになります。
自分自身も実はこのメッセージ送信機能のところで1週間以上かかってしまい、後の進捗に大きく遅れをとる原因にもなりました。
とにかく訳のわからないエラーが出るので、メンターさんに相談しつつ悩みに悩んで解決することになります。だいぶこの範囲で自走力はついたと思います。
挫折を乗り越えたという経験
テックキャンプのカリキュラムには、これってわざと挫折させるようにできてるんじゃいか。と思うほど説明が不十分だったり、メンターさんとはオンライン質問だったり
とにかく挫折を乗り越えないと進まないようなカリキュラムになってます。
実際つらかったのですが、思い返してみるとかなり自走力がつき、その後1人で個人アプリ開発をする際にエラーが頻発しても、乗り越える力が身についたことは事実です。
また、同じチームの方と情報を共通しあったり、困ったらライフコーチなどに相談することで、モチベーションも維持できるし正直かなり挫折はしにくいですが、
これは1人で独学してたら絶対に挫折してると思いました。
受講料はそれなりですが、この環境に投資という意味では価格に見合っているのではないかと自分も思っています。