TECHCAMP卒業したので、感想をまとめます。
どうも、Ramrinです。
とてつもなく久しぶりの投稿になり申し訳ありません。
定期的に更新していくと言っていたのにね…
とてつもなく開いていた期間で何をしていたかと言うと、
最終課題が終わって、
オリジナルアプリの作成に着手しつつ、
転職活動をして、
そして転職先が決まりました!
そしてTECHCAMPを卒業しました!
今日は!
遂に!!
私が通っていたプログラミングスクールについてお話しします!!!
プログラミングスクールの検討をしている人や、
TECHCAMPについて知りたい人の参考になればと思います。
目次
- TECHCAMPを選んだ理由
- 学習期間の感想
- キャリアサポート期間の感想
- 向いている人、向いていない人
- まとめ
では順番にいきましょー
1. TECHCAMPを選んだ理由
- 現職で働きながら学習可能
- キャリアサポートがついている
- すぐに学習を始めることができる
以上の条件を満たしたスクールが、当時TECHCAMPしかなかったからです。
まず、①については収入がない期間を少なくしたかったので、
学習時間に融通が効くスクールを探しました。
次に、②については初めての転職でしかも未経験の業界を対象ということで、
不安が大きく、転職活動もサポートしてくれるところを探しました。
①②を満たす点で、当時はDMMとTECHCAMPが候補にあがりました。
DMMのスクールは、2020年11月からのコースしか空いておらず、
そうなると卒業が2021年5月でそれ以降に転職活動になるのかぁとひっかかっていました。
TECHCAMPは2021年9月から受講でき、コロナの影響で通常は週に1回は教室に行く必要があったコースが、教室に行く義務がなくなっていました。
全てオンラインで完結でき、学習の卒業が2021年3月で
そこから転職活動というスケジュールが私にあっていたので、
TECHCAMPのキャリアサポート付き夜間休日コースに決めました。
ちなみに、TECHCAMPはまこなり社長というインフルエンサーが社長をされていて、
同期の方には、その方に影響を受けて受講された方が多かったのですが、
失礼ながら、まこなり社長のことを知ったのは受講2ヶ月後でした。
知らなくても、同期にもライフコーチさんにも「え?知らないの?」みたいなこと言われず、
”プログラミングについて話している動画”や”同期が個人的におすすめの動画”など教えてもらって、それだけ拝見しました。
それ以外は気が向いた時に見ています。
なのでまこなり社長の信者ばかりいる!みたいなことはありませんのでご安心を。
(同期にもよるかもしれませんが)
さらにちなみにですが、学習するプログラミング言語もRubyかPHPで悩んでいたのですが、
希望にあった学習コースがRubyしかなかったのでRubyの学習から始めました。
知人のプログラマーから、最初の言語だけ習得に時間はかかるが、
1つ分かれば考え方や文法が似てるから、次の言語の習得はかなり楽と聞いていたので、
今後PHP含め違う言語の学習したいと思っています。
2. 学習期間の感想
学習期間は基本、半年間です。
先ほども書きましたが、全てオンラインで完結しました。
学習方法は専用のカリキュラムにそって学習し、
質問したくなったらメンターと呼ばれる先生に、チャットかオンラインでお聞きするという流れです。
質問の対応時間は10:00~13:00と14:00~22:00です。
これは勤務時間がバラバラな身としては、この時間に質問することができないことが多かったのですが、
対応時間外にチャットで質問を送っていると、翌日に返答してくれました。
ただし、問題の解決のしやすさは断然オンラインでした。
チャットだと対応するメンターさんが変わることが多く、
連続して改善しなかった対応を勧められるということもありました。
学習を進めていくとカリキュラム毎に小テストと、
大きな確認テストのようなものなあります。
小テストはカリキュラムを読んでいたら分かるもので、
解けなくてもペナルティはなく、何回でも受けることができます。
学生時代で言う授業ごとの小テストみたいなものです。
大きな確認テストは大きなカリキュラムが終わり、
次のステップに進む際にするもので、メンターさんに確認、採点してもらいます。
ここで合格しないと、後日再テストや次のステップに進めないということになります。
学生時代で言う単位取得に関わる中間テストや期末テストみたいなものです。
カリキュラムの進行については、カレンダーで目安が提示されます。
それまでにカリキュラムを進めて、確認テストして合格していくという流れを繰り返して学習していきます。
学習内容としては、プログラミングとは何かと言う基礎から、
言語もRuby以外にHTMLやCSS、JavaScriptなど学習し、
最終的にアプリの企画、開発、保守までの一通りを経験できます。
本来であればチーム開発を行うのですが、コロナの関係で個人開発に変更になっていました。(時間が合わせにくい身としては助かりましたが)
最終課題は、転職活動時に自分が作成した作品(ポートフォリオっていいます)としてアピール出来るものの作成を行うので、
しっかり学習をすれば、そのまま転職活動に活きるという点は助かりました。
3.キャリアサポート期間の感想
キャリアサポート期間としては学習期間が終了してから3ヶ月が目安となっています。
転職先が決まらなかったら3ヶ月以上でもサポートしてくれます。
転職先が決まったらサポート終了なので、私の場合は2021年3月から5月の約2ヶ月で終了しました。
サポート内容としては、履歴書・職務経歴書の添削と面接対策、そして転職先の紹介です。
個人的には、履歴書・職務経歴書の添削が一番助かりました。
新卒採用時と全く違うアピールが必要なんだと感じ、
何度も添削してもらったおかげで、書類通過率がめちゃめちゃ高かったです。
面接対策ではオンラインで行い、深く掘り下げた方が良いものや、気になる癖などの指摘を受け、オンライン面接に慣れる練習をしました。
転職先の紹介については、こちらは使用しませんでした。
自分の希望に合った転職先を紹介してくださるのですが、それでも惹かれるものがなく、
マイナビ転職や@typeなどで転職活動をしました。
4. 向いている人、向いていない人
向いている人
- コツコツ頑張れる人
- プログラミング技術に投資できる人
①については、プログラミング技術ってすぐに身につけることができないので、
少しづつ、自分のペースで進めていける人でないとしんどいと思います。
定期的に勉強会はあるのですが、基本的に学習期間中はひとりでもくもくカリキュラムを進めることになると思います。
まぁ…ブログの更新をコツコツできなかった私が言うので、
説得力にはかけてしまいますが、そんな私でも卒業できました。
②については、私が受講したコースは半年間の夜間休日のキャリアサポート付きだったのですが、料金が約93万と、簡単に出せる金額ではないです。
私の場合はプログラマーに転職する!と決めていたことと、
新卒の就職時にも、なんだかんだ30万くらいかかっていて、
もちろん学習期間の差はありますが、大学の費用と合わせたら余裕で150万超えてるので、
新しいことを勉強し、仕事にする費用として自分に投資する金額として出そうと思いました。
向いていない人
- 計画性のない人
これについては、自分で計画を立てる能力を受講中に身につけることはできますが、
ある程度ないと厳しいように思います。
学生時代で言う夏休みの宿題みたいな感じです。
夏休みの宿題と異なるのは、復習の学習が中心ではなく、
新しい分野について勉強することが中心であることと、
定期的に提出日があることとです。
自分で計画をたてる力がある程度ないと、だいぶしんどいと思います。
5. まとめ
TECHCAMPのコースを受け終わって、全体の感想としては
- 受講してよかった
- 一番大変だったことは、現職との両立
です。
①に関しては、本当に現職で働きながら、6ヶ月である程度習得できましたし、
転職先も決まって、受講前の目標を達成することができました。
また、幸運なことに、同期も担当ライフコーチも、担当キャリアサポートの人も、
すごくいい方ばかりで、楽しく乗り越えることができました。
②に関しては、プログラミングって難しいですけど楽しかったですし、
苦戦しつつも、学習内容が難しすぎた!って印象はありません。
ただ、勤務時間がバラバラで毎日違う業務の現職との学習時間の確保の両立は、
本当に苦労しました。
なのでコロナの影響で全てオンラインで完結したことが、本当に助かりました。
プログラミングスクールとしてTECHCAMPを推す!!!ってことはないですが、
検討している人は、自分の希望する学習スタイルと内容にあったコースを受講することをおすすめします。
これ、ほんと大事。
私にはTECHCAMPがたまたま合っていたという話です。
いろんな口コミがあると思いますが、
どのプログラミングスクールも無料相談を行なっているので、そうゆう機会を使って直接聞くのが一番だと思います。
この記事が誰かの役に立てたらいいな。
ではまた(^^)/
本日のOut put part39
こんばんは、Ramrinです^^
本日は追加実装として商品の検索機能をつけることを目標に、
タグ付機能の実装に着手しました。
タグ付って、今どこでも使用してますよね。
ハッシュタグ検索って言葉があるくらい。
ずっと気になっていたプログラムなので、少し楽しみです。
本日のところはタグ付機能の概要を学んで、
ミニアプリの作成に入ったところです。
今のスクールでの学習期間も残り1ヶ月を切りました。
ラストスパートですね。
本日はここまで!
それではまた^^/
本日のOutPut38
こんばんは、Ramrinです^^
先日、最終課題の基本機能のデプロイまでOKいただいたので、
今日は今後の実装スケジュールを見直しました。
当初は早く2月の第二週までに最終課題の基本機能を終わらせて、
最終課題発表までに別言語でのオリジナルアプリの実装をするという計画だったのですが、
基本機能の実装にとても苦戦したので約2週間の遅れが生じました。
この遅れから学んだことは、まだまだプログラミング自体の理解が浅いこと、
理解が浅いまま別言語でのオリジナルアプリ着手というのは、
現職のスケジュールと合わせてもかなり厳しいものがあるなと感じました。
なので、3月第二週までは最終課題の追加実装とruby自体の勉強に励もうと思います。
過去のカリキュラムとか、見れるうちに復習しようって感じですね。
その合間にオリジナルアプリの構想をもう少し固めれたらと考えています。
本格的に転職活動も始まりますし、
勉強したいことが多すぎて、全部同時並行しようと最初は考えていましたが、
それで何度も無理してよろしくないローテーションに入って後悔していたので、
優先度の高いものから勉強しようと思います。
本日はここまで!
それではまた^^/
本日のOut put part37
こんばんは、Ramrinです^^
お久しぶりです。
現職が忙しく実装時間とれず、
つまづいてもオンラインでメンターさんに質問する時間内に質問できず、
思った以上に商品購入機能につまづき、
エラーと修正をを今までで一番繰り返した結果、
モチベーションが下がり、
out putをサボっていました。
out putはサボっていましたが、実装は少しずつ進んでいき、
今日やっと最終提出することができました。
長かった…
最終課題の概要はまた別の記事にまとめようと思います。
商品購入機能では
①配送先のモデル
②購入履歴のモデル
③Formオブジェクトのモデル
がとことんこんがらがって、インスタンス変数名や呼び出し先の指定違いを
めちゃめちゃ起こしていました。
modelやcontollerを作成するときは% rails gで作るものだと思い込んでいました。
実際には情報をDB保存する必要がないときには、ファイルに新規作成のみの対応で十分でした。
商品購入機能にLGTMをいただいて、本番環境にデプロイだ!と思ったら、
デプロイでエラーが発生してしまい、こちらにも時間がかかりました。
何度もherokuのデータベースのリセットをかけたりしましたが、
原因としては、マイグレーションファイルのを読み込む順番が
配送先→購入履歴になっていたことでした。
配送先の方で、購入履歴の外部キーを使用していたので、
「購入履歴がないよ」となって実装できませんでした。
これはいくらリセットかけても治らないです。
解決方法としては、マイグレーションファイルの名称を変更し、
読み込む順番を購入履歴→配送先に変えてあげると解決しました。
このout putができなかった期間は以上の2つに苦戦していました。
本当にモチベーションがさがってしまって、せっかくの実装時間ができても
「実装しなちゃ。でもしたくない…」と
ゲームに逃避行したりもしました。
でも課題とか仕事とかって、しないと終わらないんですよね。
したくない。でもしなきゃ終わらない。
そう思ってなんとか乗り越えました。
想定していたことよりも時間がかかってしまいましたが、
実装できない時間にも、オリジナルアプリの構想を立てていたので、
今後はフリマアプリに追加実装をしたあとに、
オリジナルアプリの作成に着手したいなと考えています。
ちょっとメンターさんやキャリアアドバイザーの方とも相談ですね。
本日はここまで!
それではまた^^/
本日のOut Put part36
こんばんは、Ramrinです^^
本日は商品情報編集機能の実装にあたりました!
アクションでいうとeditとupdateになります。
出品機能と違って今回の編集機能では
あらかじめフォームに編集前の商品情報が入力されている状態で実装します。
ここが苦戦しました。
でもカリキュラムにヒントがあったので参照しました。
編集機能の実装時(edit)のコード的にはこちら↓
<%= form_with(model: @item, local: true) do |form| %>
ちなみに出品機能の実装時(new)のコードはこちら↓
<%= form_with local: true) do |f| %>
edit側のコードの解説としては、
- form_withの第一引数でmodel: @itemというモデルクラスのインスタンスを指定する。
- この@itemの中には、editアクションの@item = Item.find(params[:id])で取得したレコードの情報が格納されている。
- @itemの情報をformというブロック変数に保持させている。
- ビューファイルでformを使って記述すると、@itemの情報を呼び出せる。
そのときのコード例↓
<%= form.text_area :text, placeholder: "text" %>
無事に実装できたので、メンターさんに提出までいけました!
今はレビュー待ちです。
本日はここまで!
ではまた^^/
本日のOut Put part 35
こんばんは、Ramrinです^^
今日は商品詳細表示機能の実装にあたりました。
結論から言うと、今日1日でメンターさんからLGTMをいただくことができました!!!
やったぜ!自分!!!
内容としてはActiveHashの値をビューファイルに反映することだけ分からなくて調べました。
例えばActiveHashで都道府県のデータを「prefecture_id」という名前で作成したとき、app/models/prefecture_idの中身はこんな感じ。
class Prefecture < ActiveHash::Base
self.data = [
{ id: 1, name: '---' },
{ id: 2, name: '北海道' },
…割愛…
{ id: 48, name: '沖縄県' }
]
# 1つの発送元の地域はたくさんの商品に紐づいている
include ActiveHash::Associations
has_many :items
end
このとき、ビューファイルで”北海道”という表示を出したいときは、
@item.prefecture.name
というコードを入れてあげたらOK!!
@itemで特定のitemの情報を引っ張ってきてくれます(コントローラでアクションの定義は必要ですが)
prefecture.nameでその対応する値を選んでくれます。
ここは、hashのデータの取り方と同じですね。
メンターさんにプルリクエストの表記について褒められて、すごく嬉しかったです。
プルリクエストの表記をすごく悩んでたので、「これでよかったんだ」と安心しました。
この調子で次は商品情報編集機能の実装に入ります。
本日はここまで!
ではまた^^
本日のOut Put part34
こんばんは、Ramrinです^^
ここ5日間くらいは現職で大きな仕事があって、OutPutをお休みしていました。
でもその間にも実装は進めていて、商品出品機能の実装が無事完了しました!!!
よくやった自分(褒めるの大事)
今日からは商品一覧表示機能の実装に入ります。
といっても新しく学んだことはなく、
データを取得して、
if文を使って、DBに情報がない時とある時に条件分けして
eachメソッドを使って表示する。
という流れで実装出来て、1回目のレビューを出すことが出来ました。
ユーザー管理機能と商品出品機能にすごく時間がかかっていた分、
すごく早く実装できてびっくりしています。
次回はレビューが帰ってきたのに対して、必要なら修正を。
完了なら次の機能の実装に取り掛かります。
本日はここまで!
ではまた^^