こんにちは、ユウマ(@yuuuma_11)です。
テックエキスパートに入学し2019年10月21日にキックオフを終えてから約1ヶ月半が経過し、チーム開発以外のカリキュラムを無事に全て終え、個人アプリも仮ですが完成させることができました。
この記事ではテックエキスパートに入学してから、個人アプリ制作までのカリキュラムを終えるまでの中で、僕が感じた不満点や、逆に良かったと思える点について正直な感想をお伝えしていきます。
カリキュラムの流れ
まず、テックエキスパートのカリキュラムの構成についてですが、
- 基礎カリキュラム
- 応用カリキュラム
- 就活カリキュラム※
※就活カリキュラムについてですが、面接対策セミナーを受けることと、担当のキャリアカウンセラーさんと面接対策を行うだけでした。
大きく分けてこの3つに分かれています。
現在は「応用カリキュラム」の最終課題である、メルカリのクローンサイトをチームで開発しています。
追記:2019年12月26日にテックエキスパートを無事に卒業しました。感想を知りたい方は、以下の記事をお読みください。
基礎カリキュラムについて
入学してから約2週間(12日)の間は、基礎カリキュラムの学習期間として充てられています。
僕は入学前からある程度独学での学習を行なっていた為、5日目で基礎カリキュラムを全て終えることができましたが、テックエキスパートに入ると同時にプログラミング学習を始める場合、基礎とはいえ、かなり難しく感じるかもしれません。
テックエキスパートのカリキュラムと比べて、プログラミング学習サイトの「Progate」や「ドットインストール」の方が簡単で頭入ってきやすいです。
学習の難易度を「簡単←→難しい」で簡単に表すと以下のようになると思います。
- Progate < ドットインストール <<< テックエキスパートのカリキュラム
かなり難しめなので、これからテックエキスパートに入学しようと考えている方は、ある程度Progate等で予習をしてから入学することを強くオススメします。
ただ、基礎カリキュラム中は分からないことがあった場合、すぐにメンターさんをその場に呼んで気軽に質問することができるので、仮に予習無しで入学したとしても一応大丈夫です。
※ちなみに、応用カリキュラムではオフラインでの質問ではなく、TECH::CONNECTというものを使ってオンラインで質問する形式に変わります。
基礎カリキュラムで学習する内容は、以下の通りです。
- HTML/CSS
- Ruby
- Ruby on Rails
- モダンなWebサイトを作成(HTML/CSS)
- レビュー管理アプリ作成(Ruby)
- メモアプリ作成(Rails)
- ログイン機能付きのブログアプリ作成(Rails)
- Twitterのような画像投稿アプリを作成(Rails)
- 中間試験
- 模試試験1、2
- 本試験
最初はHTML/CSSの基礎的な学習から入り、最後はTwitterのような画像投稿アプリをRailsで作成しました。
画像投稿アプリを作成し終えたら、次は中間、模試、本試験が待っています。
中間と模試に合格不合格はありませんが、本試験に関しては70点未満の場合不合格となり応用カリキュラムに進むことはできず、再試験を受けることになります。
(本試験が合格の場合は、応用カリキュラムへと進むことができます。)
基礎の試験だしそこまで難しくないだろうと甘く見ていましたが、中間、模試試験はどちらも100点満点中50点程のズタボロな結果で終わってしましました。
後日他の受講生にも結果を聞いてみたところ、聞いた人の中では本試験の合格ラインである70点を中間、模試試験の一回目で取っている人はいませんでした。
試験の内容は大きく分けて4つで構成されており、その中にRailsのエラーを解く問題があるのですが、1つのエラー問題で詰まってしまうとそれ以降の問題が解けない仕組みになっています。
(例えば、前のエラー問題を解決した後にでてくるこのエラーを解決せよ。等)
RubyとRailsについてはどちらも入学前にprogateで一周していたのですが、Railsのエラーをprogateで解くことは無かった為、始めは全く点数が取れませんでした。
ですが、Railsの仕組みを理解する為にしっかりと復習をしたことで、本試験は一発で合格することができました。
この時集中的に学習したおかげで、 Railsのエラーを解決するスキルがかなり身についたと思います。
応用カリキュラムについて
基礎カリキュラムの本試験突破後は、応用カリキュラムに入ります。
応用カリキュラムでは、JavaScript/jQueryなどから始まり、後半は「ChatSpace」というチャットアプリを作成して、デプロイまで行なっていきます。
ChatSpaceのデプロイ後は、チーム開発開始までの余った期間で個人アプリを開発していきます。
以下が応用カリキュラムで学習する内容です。
- JavaScript/jQuery
- Git/GitHub
- SQL
- データベース設計
- Haml、Sass、BEM
- チャットスペース作成
- RSpec
- サーバーの基本知識
- AWS
- 情報セキュリティ
- 個人アプリ開発
- ChatSpace理解度確認テスト
- 最終課題(メルカリのクローンサイト制作)
応用というだけあって基礎よりも難しいのはもちろん、カリキュラムの内容が不親切になります。
例えば「Aという機能を実装するにはBというコードが必要です。Bに関しては自分で調べて下さい。」というように、頻繁に検索をかけて自分で調べていかないといけません。
自走ができるエンジニアになってもらいたいという理由で不親切にしているらしいですが、高いお金を払ってカリキュラムを閲覧しているのに、ひたすらカリキュラム外で調べさせられるというのには少し不満を持ちました。
結局、個人アプリ開発やチーム開発で調べる力はつくので、カリキュラム内に情報を盛り込んで完結させてほしかった。と個人的に思いました。
また、テックエキスパートのカリキュラムは、受講生の声や、各言語、OSのバージョンアップに合わせて定期的にアップデートされているのですが、昔のカリキュラム内容と、新しいカリキュラム内容が混ざって順番がおかしくなっていたり、カリキュラムの中でダウンロードするファイルがエラーを起こしたりする時があって、しっかりチェックされていない印象を受けました。
応用カリキュラムはかなり難しく進めるのに苦労しましたが、目標終了日よりも2週間半程早くChatSpaceの終了報告を行うことができました。
その後はチーム開発までかなり期間が余ったので、余裕を持って個人アプリ開発に取り組むことができました。
僕が開発したアプリは、自分のオススメスポット等のGoogleストリートビューを投稿してシェアできるといった感じのSNS型のサイトです。
別記事で詳しく書きまとめたので、詳しく知りたい方はこちらからご覧ください。
ちなみに、カリキュラムを理解するまで熟読しゆっくり進めてしまうと、個人アプリ開発に時間が割けなかったり、ChatSpaceのデプロイが設定された終了日に間に合わない可能性も出てきます。
そうなってくると返金保証から外れてしまったり、チーム開発に間に合わない場合は延長料金を支払い、次の期の受講生達に混ざってチーム開発をすることになります。
なのでカリキュラムは分からなくてもとりあえず進めて、進捗に追われないようにするのが最善だと思いました。
個人アプリ完成後も、チーム開発まで時間があったので他の受講生とペアでの開発もしました。
ポケモンのようなゲームアプリをRailsで作成したのですが、JS/Jqueryをかなり使用したのでスキルがかなり上がったと思います。
個人アプリ開発期間の最後には個人アプリ発表という時間も設けられていて、自分の作ったアプリを同じ期の受講生や、他の期の方の前で発表します。
ここまでがチーム開発までの全ての流れであり、ここからは割り振られたチームでメルカリのクローンサイト開発に入っていきます。
最後に
テックエキスパート前半のカリキュラムを終えるまでに、僕が感じた良かった点と不満点をまとめました。
前半のカリキュラムで感じた良かった点
- 同じ目標を持った受講生に囲まれることでモチベーションが下がらない
- 進捗管理票があり、他の受講生の進捗も把握できるようになっているため競争心が駆り立てられる
- 信頼できるメンターさんを見つけられた
- 他の受講生に教える機会が多く取れたので、自身の大きなアウトプットになった
前半のカリキュラムで感じた不満点
- カリキュラムがちゃんと管理(チェック)されていない
- TECH::CONNECTが繋がらない(酷い時は40分程)
- どうしても解決できないエラーが出てきた時、メンターさんに質問した際全く別の箇所(そこは間違っていなかった)を指摘され、解決するのにかなり時間が掛かってしまった時があった
- 入学前のカウンセリング時に教室環境についてアピールしていたのに、応用カリキュラムの途中からはテックエキスパートの教室ではなく、貸し会議室にとばされることが多かった
チーム開発に至るまで44日もありましたが、毎日プログラミングに没頭しているせいかあっという間に感じました。
テックエキスパート卒業までもあっという間だと思いますが、気を抜かずに最後までやり遂げたいと思います。
追記:無事に卒業することができたので、卒業後の感想を別記事に書きました。良ければそちらも合わせてご覧ください。