TECH::EXPERTでWebエンジニアを目指す

Webエンジニアを目指す僕の日記です

TECH::EXPERT10週目を振り返る

f:id:yuuma_pg:20190630104255p:plain

とうとうテックエキスパート に入校してから10週目が終わりました。

長いようであっという間でした。まずは今週の学習を振り返ってみましょう。

 

 今週の学習時間

今週の学習時間は以下の通りです。(合計57時間)

  • 6/15(土)9時間
  • 6/16(日)9時間
  • 6/17(月)9時間
  • 6/18(火)4時間 ← 休みました、でも家で少し開発
  • 6/19(水)9時間 
  • 6/20(木)  11時間
  • 6/21(金)6時間  ←  最終課題発表のため学習時間短め

今週は就活の準備や発表資料の準備があったので少し学習時間が短かったですね。

今週の学習内容

チーム開発

今週はチーム開発はあまりしませんでした。

というのも先週までの間に必須の機能はほとんど実装されているので、新しい機能を新規に追加することはせず、既存の機能のエラーを修正したりいらない表示を消したりなどの最終調整をしていました。

ポートフォリオの制作

転職コースを受講している人は、最終課題発表が終わると転職活動が本格化してきます。

最終課題発表の次の週から面接対策が始まり、さらにその次の週には早い人は面接が入ってくるのではないでしょうか?

面接では最終課題で作成したメルカリのコピーサイトを見てもらうことになるのですが、それとは別に自分一人で作成したポートフォリオを求められるところもあります。僕は個人アプリ制作で作ったアプリをブラッシュアップしてポートフォリオにしようと思っています。

最終課題が終わってから面接が始まるまでは面接対策などに時間が取られてしまい、ポートフォリオの制作に集中できないので早めにカリキュラムを終了してポートフォリオ制作に移った方がいいですよ。まじで。

最終課題発表

スクラムマスターを任命された時はちゃんと務まるか不安でしたが、なんとか最終課題発表を迎えることができました。全てはメンバーのおかげです。本当に感謝しています。

ただ、機能が完全でないところがいくつかあり、若干の後悔をしています。

以下に、1ヶ月ではありますが、スクラムマスターとしてチーム開発をした観点からいいプロダクトを開発するためのポイントを書いておきます。テックエキスパート生の人が見ていたらよければ参考にしてください。

いいプロダクトを開発するためのポイント

 

  • メンバーの意思疎通が大事

複数人で開発するのでプロダクトが早く仕上がりますが、意思疎通をしっかりしないと効率が悪くなったり無駄な作業が増えます。

例えば、あるメンバーがDB設計を把握していなくて適当に作ったルーティングで実装してしまったために後で修正しなければならない、あるメンバーに機能Aの実装を急いで欲しいのに機能Bを実装している、などなど。

一言、チームで相談するだけで無駄な作業を減らせるのにできていないことがあったりします。わからないことがあったり、おかしいな?と思ったら相談しましょう。これは本当に大事。

  • チームレビューをしっかりと

メンターにレビューしてもらう前にチームレビューをするルールになっていますが、どうせメンターにレビューしてもらうなら適当に流していいや、とか思ってるとあとで無駄な作業が増えます。

あなたがデプロイ担当なのであれば本番環境でも影響がないかの観点でレビューすべきですし(Gemfileなど)、チームの中で知識があるほうなのであれば変数名は適切か・より簡単なコードで書けないか・他のファイルに影響がないかの観点で見るべきです。

僕のチームはここが甘かったためにマージ後にエラーが出て修正しなければいけませんでしたしコードが汚いです(笑)。

  • DB設計はチーム全体ですべき

DB設計を全員で担当することで全員がプロダクトの構造を把握することができます。

これから作るプロダクトのDB設計を把握していると、モデル名やコントローラー名、カラム名、アソシエーションを理解できるのでサーバーサイドの実装がスムーズです。間違った名前のファイルを作ってしまうといったミスが減ります。

ただ、DB設計の全行程を全員でやると効率が落ちてしまうので、エンティティの洗い出し・テーブルの設計・ER図の設計あたりを全員で相談しながら進め、大枠ができたら1〜2人でDB設計を仕上げて他の人はマークアップに入る、といったやり方がいいのかなと思います。

プログラミング1ヶ月半程度の知識では、わからないことが多すぎるので困った時に1人で考えるよりも全員の知識を共有して解決してくほうが圧倒的に有利だと思います。

1人で長時間悩んでいたことが他のメンバーに聞いたら一瞬で解決した、ということがうちのチームでも多々ありました。

それと、他メンバーの進捗を把握するのも大事です。この機能がそろそろできるので次はこれができるな、とか次にやることを事前に考えられるので開発がスピーディになります。

あまりデイリースクラムをやり過ぎても会議ばかりで開発ができなくなるので朝礼と夕礼の時間を利用して開催するのがバランスがいいのかなと思いました。

  • 開発にかけた時間は嘘をつかない

とにかく開発時間を多く取れるように工夫しましょう。週60時間は絶対に守る、朝9時には絶対くる、15分悩んだら相談する、などなんでもいいです。開発時間を多くかけたチームほどいいプロダクトを作っているように感じました。

カリキュラムを終えて

これで全てのカリキュラムが終わりました。とても内容の濃い10週間を過ごせて個人的にとても満足しています。

ただ、教室に通うことに意味を見出せない人(家でもしっかりと学習できる人)、ゆっくりと勉強したい人、には少し合わないかもしれないので他のスクールがいいのかなと思います。

これで目標が達成されたわけではなく。ようやくエンジニアとしてスタートラインに立てたかな?といった感じです。今後はポートフォリオを作成したり、面接の対策をしたり、本格的な就活になります。

ブログは気分次第で更新します。それでは。