新卒で自社開発企業にエンジニア就職

【7週目】テックキャンプ(エンジニア転職)の記録 【共同開発】

ノロ

どうも、テックキャンプ(エンジニア転職)卒業生のノロ(@noronoro_yurupoです。
プログラミングを学びたくてテックキャンプ(エンジニア転職)に通うかどうか迷ってる。だから実際にテックキャンプ(エンジニア転職)に通っていた人の意見が聞きたい。

読者

という人に向けて記事を書きました。
記事の内容
・【7週目】テックキャンプ(エンジニア転職)の記録 【共同開発】
今回は7週目の振り返りをしてみたいと思います。
前提
・❶:コースは「エンジニア転職」。
・❷:フリーランスコースとエンジニア転職コースのカリキュラム内容は同じ。チーム開発のメンバーになることもある。
これからテックキャンプ (エンジニア転職)にいくか迷っている人はもちろん、テックキャンプ (エンジニア転職)に参加している人にも参考になると思います。

※ちなみに1週目の記事は以下になります。気になっている方はぜひ。
【1周目】テックキャンプ(エンジニア転職)記録 【スパルタ】
では実際に見ていきましょう。




テックキャンプ (エンジニア転職)7週目のスケジュールを公開

まずはざっくりとしたスケジュールをご覧ください。

43日目 DB設計&新規登録ビュー作成
44日目 DB設計&新規登録機能
45日目 新規登録機能&アドバイス
46日目 Pay.jp登録機能&ビュー修正
47日目 スプリントレビュー&今後の予定設定&全体修正
48日目 Pay.jpのビュー修正&ユーザー関連機能実装
49日目 休養

今週からはチーム開発が始まり、新たに身も引き締まりました。

こういうのもなんですが、僕は技術力があるほうだったので(素人に毛が生えた程度だけど)、周りをサポートしつつのスタートでした。

初めは緊張していましたがチーム開発は本当に楽しく、常にコミュニケーションを取りながら1つのアプリを作っていくのは最高でしたね。

・43日目:DB設計&新規登録ビュー作成

まず、テックキャンプ(エンジニア転職)最終課題で作るアプリなんですが、期によってつくるものは異なるそうです。

slackのようなアプリを作る場合もあれば、もっと違ったアプリを作ったりと。僕たちは「メルカリ」でした。

メルカリ

お馴染みのこれですね。

テックキャンプ(エンジニア転職)では、メルカリに実装されてある基本的な機能を、DB設計から自分たちの力でしていきます。以下のようなものですね。

これは実際に僕たちが設計したDB設計で、こんな感じのテーブルがあと8個ほどあります。

そして最初に言っておくとこのDB設計が1番大変でした。2日かかりましたし、何回も消しては作ったりを同期で試行錯誤しましたね。

ノロ

アソシエーションの関係も複雑でほんと大変でした。
DB設計がひと段落した後は、各々のタスクに戻りました。

僕はgemのdeviseを使った新規登録機能の実装担当だったので、早速取り掛かりました。

チーム開発で足を引っ張るわけにはいかないですからね。それに、進捗を一定維持するのはほんと大切なので、なるべく遅れは出さないように全力を尽くしました。

MEMO
43日目はDB設計をし、新規登録のビューを整えました。

・44日目:DB設計&新規登録機能

朝っぱらから地獄でした。昨日いい感じだったDB設計がガバガバだという事実に気がつき、修正するところから1日はスタートしました。

最終課題ではメンターさんにLGTMをもらいながら進めていくのですが、DB設計で指摘されたことが結構あったんですね。

・外部キーが多すぎる
・中間テーブルはもう少しあったほうがいい
・型がおかしい
目立ってやばかったのは、外部キーの多さです。

僕たちの初期DB設計では、外部キーが多すぎてユーザーテーブル以外全く作ることができないという状況になってしまいました。

なので急いで同期となんども設計を練り直し、夕方の6時くらいにやっと完成させることに成功。

ノロ

一時はどうなるかと内心ヒヤヒヤでした。
DB設計が終わった後は各自自分のタスクに戻り作業。僕は引き続きウィザード方式の新規登録機能実装に取り掛かりました。

後半は僕含め同期も脳みそが溶けていたのですが、鋼のメンタルと根性でなんとか乗り切りました。

MEMO
44日目はDB設計を完璧に終わらせ、ウィザード方式の新規登録機能を実装。

・45日目:新規登録機能&アドバイス

45日目は新規登録機能の続きをしつつ、チーム内の同期で困っている人にアドバイスをしました。

・❶:htmlが反映されない問題
・❷:ルーティングがうまくいかない問題
・❸:Githubにコード変更されない問題
こんな感じで少しトラブってた問題を解決しました。

個人開発ではなかなか起きないエラーだったので勉強になりましたね。

チーム開発ではトラブルが日常茶飯事だということを体験できたのは大きな財産だなあと。

MEMO
45日目は新規登録機能をやりつつ、チームメンバーにアドバイスをしました。

・46日目:Pay.jp登録機能&ビュー修正

46日目はPay.jpをしました。

そして、Pay.jpがこれまたやっかいで、実装しきるのに大体7時間くらいかかりましたね。

なんでそんなに時間がかかったかというと

・❶:環境変数の使い方に慣れていない
・❷:うまいことjsが動かない
・❸:トークンは発行されるが、顧客登録できない
rails始めたての人からすれば「意味わからん」と思うかもしれませんが、やっていくうちにわかってきますよ。

いろんな技術が要求されるので、実装するのはなかなかしんどいですよ。クレジットカード登録はシビアなので慎重にならないといけないですし。

ノロ

Pay.jp登録機能にはなかなか苦しめられました。
MEMO
46日目はPay.jp登録機能を実装しました。

・47日目:スプリントレビュー&今後の予定設定&全体修正

47日目はスプリントレビューを受けました。

スプリントレビューっていうのは「週に1回あるメンターからのコードレビュー」です。
要は、僕たちの最終課題がちゃんとできているのか、機能がきちんと実装できているのかを確認する場ですね。

しかもスプリントレビューは全て本番環境で行うので、ローカルの内容をデプロイして本番環境に適応させないといけません。

ノロ

ローカル環境だとダメなんですよね。。
中々焦り気味だったのですが、今回のスプリントレビューでは進捗の速さを褒めてもらい、実装力についても褒めてもらいました。

経験を通して「実力がついているな」と実感できたので、チーム開発に参加できて本当によかったなあと。

MEMO
47日目はスプリントレビューを受けました

・48日目:Pay.jpのビュー修正&ユーザー関連機能実装

7週目の最終日はPay.jpを完璧に実装することができました。

なので、ユーザー関連の機能を実装したり、DBからデータをひたすら引っ張る作業をしていましたね。

同期のタスクを取ってしまうと周りの成長の機会がなくなってしまうので、誰もやっていないところを少しずつ潰していく感じで進めました。

ノロ

なるべくコンフリクトが起こらないように実装するのは大変でした。
コンフリクトはチーム開発をすると頻繁に経験することになります。これはチーム開発独特の難しいところなのですが、今のうちに慣れておかないといけないなあと。

このチーム開発は僕に取って本当に貴重な体験でした。1週過ごしただけでもわかりましたね。もっと自分の成長機会を増やせるように、引き続きひたすらコードを書いてきます。

8周目の記事はこちら(10周あります)

【8週目】テックキャンプ(エンジニア転職)の記録 【終盤】

追記:テックキャンプ (エンジニア転職)の口コミを羅列し、卒業生の僕が意見した記事です

テックエキスパートの口コミを羅列してみた【卒業生の記事です】

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA