ひよっこエンジニアのにっき

未経験からエンジニアを目指してがんばるにっきです

TECH CAMP卒業によせて

未経験からエンジニアへの転職を目指し、2020年8月1日からプログラミングスクールのTECH CAMP夜間休日転職コースで受講を開始しました。
現職と並行しながらの半年間の学習を2月頭に終え、先日無事志望する企業さんから内定をいただくこともできました。
半年間テックキャンプで学習をしてみての感想を残すことで、サービスの更なる向上と受講を検討されている方の参考になればと思っています。 少々長くなってしまうかと思いますが、ご容赦いただければと思います。

▼受講してよかったところ

・カリキュラムに関して分からない点はメンターさんに質問を何度でもできる
夜22時までメンターさんにオンライン(過去は対面だったようですが今はオンラインです)で質問可能です。チャット質問も可。
私は昼休憩など隙間時間を活用していたのでチャットの利用頻度の方が高かったです。返信速度も早くて満足。

・自分のペースで学習を進めることができる
座学・講座形式ではなく、カリキュラムを自身が勉強したい時間に自身のペースで進めていくスタイルです。
スタイルは人によって向き不向きがあるかと思いますが、シフト勤務だった私は”自分の好きな時間に”学習できる点が非常によかったです。

・メンターさん以外にメンタル面もサポートしてくれるライフコーチがいる
ライフコーチの存在もかなり私にとっては有り難かったです。
途中現職で諸々トラブルが起きてしまった影響で、急遽相談させて欲しいとお願いしたこともありましたが、迅速に面談の機会を作ってくれました。
勉強の進め方にも相談に乗ってもらったり、「このサイトいいよ!」とおすすめを教えてもらったり…。
私はシフト勤務だったのでなかなか夜間休日コースの指定曜日に教室へ行けず、平日に振替ることも多くありましたが、コーチが出社している時は毎回声をかけて励ましてくれました。
指定曜日に行けた際は同時期に受講された方々とコミュニケーションが取れる場を設定してくれましたし、担当コーチには本当に感謝しています。

・挫折しないための仕組みがある
コロナ影響でほぼほぼオンラインでしたが、夕礼や勉強会など他の受講生と交流できる機会がありました。
仕事で参加できないことも多くありましたが、夕礼で他の受講生の一週間の振返りを聞く事はかなり参考になりました。
私はカリキュラム先取って進めることができず、ほぼオンスケジュールで進めていたので決して優秀な方ではありませんでした。
だからこそ夕礼で他の受講生の勉強の進め方、知識定着のために行っていることを聞けて「自分もやってみよう!」と思えたことはよかったです。
それから日々slackで同チームメンバーに学習したことをまとめて簡単にアウトプットする必要がありました。
他のメンバーのアウトプットを見て、「みんな頑張っているから私もやらないと!」と思えたことも継続できた理由のひとつです。

・転職活動のサポートがある
学習終了後は担当のキャリアアドバイザーさんがつき、履歴書から面接対策まで実施してくれます。
定期的な面談が終業後の19時以降とか、遅い時間にも柔軟に対応いただけて助かりました。
私は面接が苦手なので、面接練習と練習後のフィードバックが役立ちました。
良いところは褒めて、改善箇所は的確に指摘の上改善のアドバイスをしていただけてよかったです。
人間なので人によって合う/合わないはあると思いますが、私はライフコーチ、キャリアアドバイザー共に「この方に担当してもらえてよかった!」と思っています。
※担当者が合わない場合は変更もお願いできると思うので、悩まれている方は運営側に意見として伝えるのが良いと思います。

▼改善して欲しいところ

・個人アプリ開発においてはメンターに質問ができない
オリジナルアプリのコードレビューはカリキュラムのように確認ポイントが決まっていないので工数がかかると思いますし、人によってはレベルの高い実装をする方もいるため難しいとは思うのですが…。
個人的にはオリジナルアプリこそコードレビューをしてもらいたかったな、というのが正直なところです。
個人アプリで実装していることや、個人アプリのエラーを質問する際は既存のカリキュラムに置き換えてメンターさんへ質問すると良いかなと思います。
また、ネット上でメンターさんの質について批判的意見も見られますが、私は特に気になりませんでした。(私自身の質問レベルが高くないせいもあるかもですが)
隙間時間にチャットを活用することが多かったので待ち時間も特に気になりませんでしたが、確かにチャット質問しようとした際に画面上に”対応できるメンターがいません”と表示されることもあったので、時間帯によっては対面質問を長時間待った受講生もいたのではと思います。

・チーム開発がなかった
以前はチーム開発があったようですが、私が受講した時にはありませんでした。
転職してからもひとりで開発することはまず無いですし、チームで開発を進める流れについてもスクール内で実践できたらよかったのにな〜と思います。
特に私は指定曜日に教室へ行ったり、夕礼に毎回参加したりがシフト勤務の関係で難しかったので、他の受講生との交流も兼ねてチーム開発を経験してみたかったです…!
カリキュラムについては頻繁にブラッシュアップされているようなので、また今後チーム開発が復活することもあるのでは?と個人的には思っています。
過去受講生の感想にて、「チーム開発よかった!」という意見も目にしたので、運営さん今後ご検討のほどお願いします…!(笑)

・カリキュラム内の誤字脱字がよくある
カリキュラムを進めていて何度か誤字脱字を発見しました。
受講生はカリキュラムに沿って学習を進めて行くので、この点はきちんと修正していただきたいです。

▼まとめ

私個人としては、テックキャンプを選択して受講してよかったです。
テックキャンプの学習の進め方やサポートの体制が自分に合っていたと感じています。
サポートしてくれたメンター、コーチ、キャリアアドバイザーの対応にもとても満足しています。

▼受講を検討している方へ

最後にプログラミングスクール受講を検討されている方へ超個人的アドバイスを記載します。

・受講にあたっての注意事項・規約は隅から隅まできちんと目を通しましょう
ネット上で頻繁に炎上しているのを見かけますが、その度に「ちゃんと規約に目を通したのかな…」と思ってしまいます(もちろん批判意見に同意する部分もありますが)
受講費用はかなり高額ですし、私は無料カウンセリング後規約やホームページはかなり細かく目を通し、受講意思確認期間ギリギリまで検討してから申し込みを行ったと記憶しています。
勢いで申込むと後々「そんなこと聞いてない!失敗した!」と後悔することになりかねないので、くれぐれも規約にはきちんと目を通して納得した上で受講して欲しいなと思います。

・一括で支払いする
これは超個人的意見なのですが、分割払いをすると月々の負担はそうでもないですが総額がかなり高額になるので、可能な限り一括での支払いを頑張った方が良いと思います。

・仕事は継続しながらがんばる
これも個人的意見で恐縮ですが、退職前の方は夜間休日コースで働きながらが良いと思います。
仕事と並行しての学習・転職活動はかなり大変ではありますが、それでも収入があるというのはかなり心の支えになると感じました。
短期集中で受講する場合であれば、学習期間+就職活動期間の生活費は賄える程度の貯金がないと後々苦しいことになるはず…。
収入がなく貯金もない、転職活動もうまくいかない!!という状況になると、焦って冷静な判断ができず希望に合わない企業へ就職することにもなりかねないと思うためです。

長くなりましたが、以上卒業によせて感想を書かせていただきました。
テックキャンプを選択してよかったですし、関わった方々にはとても感謝しております。
まだようやくエンジニアとしてスタートに立てたところですので、今後も初心を忘れず知識習得に励みたいと思います。
未経験からのエンジニア転職活動についても、誰かの参考になるかと思うのでまた後日投稿します。
最後まで目を通していただきありがとうございました!

オリジナルアプリ開発日記②

■アプリ作成
要件定義~データベース設計が終わったらいよいよ新規作成!
立ち上げたらまずdatabase.yml内をencoding: utf8に変更してデータベースを作成しました。
そして最低限のトップページが表示されるようにトップのビューファイルとルーティングを設定。

殺風景なトップページが表示されたところで、デプロイを行いました。
デプロイで使用したものはHerokuです!
以下の流れで進めていきました。

・Heroku上にもアプリを作成
・My SQLをHeroku上でも使えるようclearlDBアドオンを追加
・公開鍵、秘密鍵環境変数を設定
・Heroku上にpush
・Heroku上でマイグレーションファイルを実行

ここまで進めたところでURLを確認すると無事!殺風景なトップページが表示されました!

次に開発中のものなので、Basic認証も導入しました。
・ローカルのapplication_controllerにBasic認証の処理のメソッドを定義
・全コントローラーで表示されるようbefore_actionで呼び出す
環境変数にユーザー名とパスワードを設定
・Heroku上の環境変数にも設定
・変更内容をコミット→Herokuでプッシュ

上記流れで実装を進めていき、ローカル、Heroku上ともにBasic認証が設定されていることが確認できました。

■感想
オリジナルアプリ開発前の練習、課題でなかなかに苦戦したので不安でしたが今回はすんなり進めて自身がつきました。
ちなみに練習、課題のときに躓いた箇所は以下です。

①開発環境の環境変数にユーザー名、パスワードを設定
→教材の中に「既存の記述を消すと動作がおかしくなるかも!」と記載されていたので、怯えてしまいました。。。
あとvimの記述方法が独特だったのも苦戦理由のひとつ。(vimで何か記述するのは今も苦手です…!)

②トップのビュー、トップ表示のためのルーティング設定をせず、デプロイとBasic認証設定に進んでいたため、ログイン要求の表示がされなくてなやむ
→前回の失敗と反省を活かして今回はこの辺り事前に準備しました。すんなり進んでよかった!

オリジナルアプリ開発日記①

はじめまして。
新しいことへの挑戦及び転職を目指してプログラミングの勉強をしています。
未熟ながらオリジナルアプリを作成しているため、作成の過程を備忘録として残したいと思います。

■オリジナルアプリ開発にあたってまず行ったこと
・要件定義
・データベース設計

■詳細
Googleドキュメントを使ってペルソナから考えていきました。
(諸々の諸事情で)開発の期間が短いため、実装予定の機能に優先順位をつけて「最低限これだけは…!」という機能を考えました。
画面遷移図、ER図はCacooというサイトをおしえてもらったのでそれを使用!
ER図等の作成はあまり得意ではないのですが(矢印とかがなぜかうまく記載できない…)、Cacooを使用したらだいぶ時間短縮できたと思います。
このサイトはおすすめ!
テーブルの設計は作成したER図を参考にしながら、READ MEに記載していきました。

■感想
オリジナルアプリ開発前の勉強時からですが、この要件定義周りなどの事前準備がとても苦手でした。
というのも長時間考え込んでしまう自分の癖が出てしまってなかなか進まなくて苦手でした。
本来ならじっくり詳細を練って準備しておく、ことが理想ですが、そうしてしまうといつまで経っても実際に作るところまでいかない…!
そのため、今日までに要件定義は終える!と期日を決めて、多少内容が荒くてもまず先に進めていくことにしました。

次はいよいよ新規アプリ立ち上げです!