Sakiのプログラミング学習ブログ

プログラミングについて学んだことや、学習の振返りを書いています。

2月〜チーム開発、なんとか生き延びています〜

 2月は過ぎるのが凄まじく早かった! これまで仕事しながらフィヨルドブートキャンプの学習を進めてきたが、チーム開発と両立するのは大変だった。
カーレースの中で自分だけ自転車で参加していて、置いていかれないように必死に漕いでるような気持ちだった🏎🏎🏎    🚴💦
記憶がほとんど無いため、日報*1を見返して思い出しながら書いている。

ニコニコカレンダー*2を見ると、なんと28日中27日間、学習して日報を書いていた。2月がほぼ全部埋まっていて嬉しい😊✨

f:id:Saki-Htr:20220304114637p:plain
2月のニコニコカレンダー

怒涛のチーム開発 🌊🏄‍♀️

これまでのプラクティスはジェットコースター、チーム開発はフリーフォール

 1月末にチーム開発のプラクティス*3に入ったので、引き続き自分のissueを進めたり、他の受講生の方のプルリクエストのレビューを行ったり、毎週水曜のミーティングに参加したり、予期せぬエラーやコンフリクトとたたかったりしていた。

分からなくて辛い時と分かって嬉しい時の気持ちの揺れ幅を乗り物で表すと、チーム開発に入るまでのプラクティスではジェットコースター🎢 という感じだったが、チーム開発は、気持ちの揺れ幅が大きくなり、何か一つ問題を解決してやっとプルリクエストを作れる(上に上がっていく)と思ったら、すぐにまた違う問題が立ちはだかる(落ちる)ので、フリーフォールのようだな~と感じている。
分からないことばかりで大変だが、その分できるようになると嬉しさも大きい

たくさんつまずき、たくさん助けていただいた🙏

 ニコニコカレンダーは全てオレンジ色(=いい感じ)なので、順調そうに見えるが、チーム開発に入ってから分からないことだらけで、はじめはエラー解消で休日一日が終わってしまうこともあった。
そんなにつまずいているのになぜ毎日日報のマークが笑顔かというと、分報*4に困ったことを呟いた時に同じ開発チームの受講生や卒業生の方が解決法を教えてくださったり、チェリー本輪読会のメンバーに相談にのっていただいたり、メンターさんに質問して丁寧に教えていただいたりして、解決できたためだ。(いつも助けてくださっている皆さま、本当にありがとうございます🙇‍♀️)
つまずいてばかり&助けていただいてばかりで情けなくなることもあったが、失敗してしまったことを無かったことにすることはできないので、しっかり反省した上で、同じ失敗を起こさないように工夫したり、ブログやscrapboxに解決策をアウトプットして他の方(と未来の自分)の役に立てるようにしたりすればいいと思うことにした 💪

休日はトミーさんとペアプロざんまい 🙌

 4週のうち2週ほどは、同じ時期にチーム開発に入ったトミー(id:eatplaynap329)さんと休日にペアプロをしていた。 お互いの簡単な1~2ptのissueを持ち寄って、25分片方がドライバー→5分休憩→25分もう片方がドライバーという感じで進めた。(トミーさんご考案)

これまで経験したペアプロは、分からないことをメンターさんから教わるためのペアプロが主だったので、どんな感じになるか想像がつかなかったが、とってもとっても楽しかった
プルリクエストを作成できた後は、そのレビューをお互いに行うことにした。*5
トミーさんが「ペアプロした人同士でレビューしたらいいのでは」と仰っていて、たしかにその方が、レビュワーが1からコードを読み解く手間が無くなり、コミュニケーションがスムーズになって良いと思ったので、「さすがトミーさん👏👏👏」と思った。

チームメンバー同士のペアプロは、

  • 効率的にレビューができる
  • コミュニケーションが取れる

と良いことばかりなので、ペアプロ文化をフィヨルドブートキャンプに根付かせてくださったトミーさんには本当に感謝の気持ちでいっぱいです🙏✨

進捗がほぼ無くてもミーティングには必ず出る 💪

 毎週水曜日に1スプリント(1週間)でやったこと、難しかったこと、次のスプリントでやることを話し合うミーティングがあるのだが、1スプリントで1つもプルリクエストを作れなかった日もあった。
けれども、やっていなかったわけではなく、issueもちょっとずつだが進めているのでちゃんとミーティングに出た。「進捗無いので欠席します」を一回でもすると、私の場合は逃げ癖がついてしまいそうなので、どんなに進捗が少なくても、絶対に出るつもりだ。

プロダクトバックログを真似てタスク管理してみた 📝

 チーム開発のプラクティスでは、自分のissueや開発メンバーのレビューに加えて、ステージング環境や本番環境での動作確認、mainにマージされた自分のプルリクエストのリリースノートを木曜15時までに作成しなければならないなど、小さいタスクがたくさんあり、忘れてしまうのが怖いので、プロダクトバックログ*6 を真似て、Todoistというタスク管理アプリに、優先順で上から順にタスクを並べて管理することにした。シンプルに一列で、ここだけ見ておけばやるべきことが明確なので重宝している。

f:id:Saki-Htr:20220308002703p:plain
実際に登録したタスク

自分の書いた技術記事が、GoogleSafariの検索結果で最初に表示されるようになっていた🎖

 去年の8月に書いたESLintのインストール&使い方の記事が、GoogleSafariで「eslint インストール」で検索すると、一番最初に表示されていることを知った😳 saki-htr.hatenablog.com


スマートフォンで自分のはてなブログを見る時、いつも注目記事の1位がこの記事で、はてなスターも1個しか付いていないし、フィヨルドの方から感想をいただいたことも無かったので、「そんなに見られているはずないのに、何かのバグかな?」と思っていた。

↑というのをdiscordの自分の分報チャンネルでつぶやいたら、フィヨルドブートキャンプのメンターさんが、「eslint インストール」で検索すると、私の記事が一番上に出てくることを教えてくださり、知ったときはびっくりしすぎて叫んだ 🤯


f:id:Saki-Htr:20220307234120p:plain


気になって自分のブログのアクセス解析を見ると、私のブログはGoogleからのアクセスが75%になっており、Googleから来た方の64%はこの記事にアクセスしていることが分かった。

f:id:Saki-Htr:20220308004333p:plain
はてなブログアクセス解析

私のアウトプットは振返りや自分の考えていることなど、非技術系が多く、昨年出たLTも3回ともすべて非技術系なので、技術系のアウトプットにあまり自信がなかったが、今回のことで少し自信が持てた😁

前にフィヨルドブートキャンプのメンターさんが、

アウトプットの価値は、書き手でなく読み手が決める

と仰っていたことを思い出した。
なので、日報や分報などクローズドな場だけでなく、ブログやscrapboxなどもっとオープンな場所でもアウトプットを積極的にしていこうと思った。

手始めに、Notionに書いているチーム開発の作業ログを、誰でも見られるようにして、フィヨルドブートキャンプを知らない方が見ても分かりやすいように紹介ページを作った

www.notion.so

今の時点ではこれが人の役に立つかはわからないが、せっかくアウトプットしているので外に出していこう & これからチーム開発に入る方の少しでも参考になればいいな〜という気持ちでいる。

3月の抱負

2月は自作サービスは全く進められなかったが、作りたいと思った案が一つ浮かび、チーム開発にも慣れてきたので、その案について深堀りして考えてエレベーターピッチを作りたいと思っている。

*1:フィヨルドブートキャンプでは、学習した日は、やったこと・学んだこと・分からなかったこと等を日報に書いて提出し、メンターさんに見ていただく仕組みがある

*2:日報には「今日の気分」という項目があり、自分のプロフィール画面で、その日の気分がどうだったかを月ごとに見ることができる

*3:フィヨルドブートキャンプの学習で使っているWebアプリはOSSで公開していて、フィヨルドブートキャンプ受講生がチーム開発のプラクティスで機能を追加したり、バグを修正したりなどの開発をしている。Issueにポイントが振られており、20ポイント分のIssueがマージされたら完了となる。受講生同士でお互いのプルリクエストのレビューも行う。リポジトリこちら

*4:自分の状況を逐一実況することで、いわゆるひとり言。フィヨルドブートキャンプではコミュニケーションツールとしてDiscordを使っており、メンターや受講生はそこで自分専用の分報チャンネルを作って好きに書き込むことができる。

*5:チーム開発では、自分が作成したプルリクエストのレビューを、その時一緒に開発を行っている受講生にお願いし、それが通ったらkomagataさんにレビュー依頼をすることになっている

*6:機能や要望など実現したいことを、優先順位順にリストにしたもの