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

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

1月〜自作npm&チーム開発にジョイン!〜

今年ももう1ヶ月が経ってしまった! この前、年が明けたばかりだと思っていたのに🙊
今年は一日一日を大事に生きて、自分がやってきたこと・感じたことを丁寧に振り返りたいと思ったので、毎月末振返りと次月の抱負を書くことにした。

やったこと

  • VueCLIの課題の修正
  • アジャイル開発/スクラム開発の本を2冊読んでまとめる
  • 自作npmを公開
  • チーム開発にいよいよジョイン!
    • ローカルの立ち上げに苦戦
    • 同じ時期に入った同期とモブプロでgood first issueを行う

1月のハイライト

自作npmのアイデア出しに苦戦😂

1月の前半は自作npmのアイデア出しで詰まり、ちょっとメンタルが沈んでいた。 その頃の自分の気持ちは以下のような感じだった。

npmのアイデア出しがうまくいかず、帰宅直後ネガティブな気持ちになっていたが、今日は仕事初めで、お腹が空いていて、眠かったのでネガティブになっていたんだな〜と、お風呂から上がった時(疲れがとれた時)に気づいた。 気持ちはその時の環境や自分の状態に結構左右されていると思っていて、なんでネガティブな気持ちになったのか環境要因を探ってみると、マイナスの感情に振り回されずにすむと思った (1/5水の日報)

沈んでいた理由は、「自分がどんなものを作りたいか」を考える前に、他の方のレベルの高い提出物を見て「すごいものを作らなくては」と考えてしまい、アイデア出しに集中できていなかったからだと思う。

自分がその精神に陥ってると気づけてからは、すごいものかどうかという視点を捨てて、純粋に「どんなものを作りたいか・どんな人に使ってほしいか」を楽しんで考えることができた。

コマンドライン上で動かすので、「どういう時に動かしたいかな〜」と考え、今回詰まって沈んでしまった私のように、学習中やコードを書いてる最中に落ち込んだ時に、役に立つものを作りたいと思った。
その時にメンターのりほやんさんがこちらのPodcastで、 www.yancan.tech

学習のモチベーションを握る鍵は自己肯定感だと思う。 一番大事なのは、今自分の自己肯定感がどれくらいの高さにあるか認識すること。認識が低い時はちょっとしたことでも大ごとに感じてしまう。下がっていることが分かれば対策ができる。今日は仕事を早めに切り上げようとか。ヒロアカ見ようとか。

と仰ってたのを思い出した。

なので、今の自分の自己肯定感の高さを診断するnpmを作った。

www.npmjs.com

すごいコードを書いたりすごい技術を使ったりしたわけではないのだが、自分が作りたいものを1から考えて作り上げることができたので、満足している。
案出しが大変なことがわかったので、自作サービスのアイデア出しも今からしっかりやっておかないといけないことにも気づけてよかった。

フィヨルドリポジトリやかんばんを見てワクワク😊

開発に入るための準備で、フィヨルドブートキャンプのリポジトリかんばんに目を通した。
眺めていると、今まで使っていたものが当たり前でなく、だれかが作ってくださったものなんだということを改めて感じた。これまで「使う側」しか経験したことがなかったので、いよいよ「作る側」ができることにワクワクした。

ローカルの立ち上げに苦戦💦

そんなに苦戦しないだろうと思っていたが、Rubyのバージョン2.7.4をインストールするためにrbenvを使ったら、なぜか使えなくなっていて驚いた。遭遇したことのないエラーで焦ったが、しっかりエラーやログを見たらどこに問題があるか分かって、なんとか解決することができた。大変だった分、ローカル立ち上げに成功した時は本当に嬉しかった〜

good first issueを同期と一緒にモブプロでわいわい進めた🥳

私と同じく今週からチーム開発に入ったトミーさんとガラムマサラさんと一緒に、good first issueを、プルリクエストを作ってレビュー依頼するところまでをモブプロで行った。
(主催してくださったトミーさん、一緒にissueをやったガラムマサラさん、参加してくださったメンターさんや受講生の方々、本当にありがとうございました🙏✨)
Ruby on Railsを触るのが久々だったり、今まで使ったことのないGitのコマンドを実行しなければならなかったり、テストを実行する時処理が重たいせいか私の声が皆さんにとぎれとぎれで聞こえなくなったりと、テンパリっぱなしだったが、みなさんが助け舟を出してくださったおかげで、致命的なミスをせずに済んだ。一人でやっていたら解決方法がすぐには分からなかったであろうエラーも何度か起こったので、一番最初のissueをモブプロでやらせていただけて本当に良かった。
なにより、みんなでワイワイしながらコードを書くのが本当に楽しかった!今までメンターさんとペアプロをしたことはあっても、モブプロは初めてだったので、主催のトミーさんに本当に感謝です。

初めて一人でissueをレビュー依頼するところまでやった💪

前回の振返りミーティングでissueをもう一つ振っていただいていたので、今日初めて自分一人でissueに取り組んだ。一人でできるか不安だったが、プルリクエストを送るまでの手順をしっかり予習した後進めたので、レビュー依頼まで完了することができた。
簡単なissueではあるが、自分一人で完了することができて少し自信がついた!

ログ駆動開発を始めてみた✍🏻

先日、フィヨルド受講生のikuma-tさんがLTで、

チーム開発など難しいタスクでは、タスク駆動開発(チェックリストにチェックが入った時に進捗があがる)だと進んだ気がせず、取り組むことが億劫になってしまう。
そこでログ駆動開発(作業に取り組んだことを記録して進捗を管理して、作業ログが書き込まれたと瞬間に進捗があがる)を行ったら、進捗が捗った

という話をされていて、「私もチーム開発に入ったらログ駆動開発をやりたい!」と思っていたので、早速やってみることにした。

(詳しいLTの内容についてはikuma-tさんがこちらで紹介してくださっています。)

ikmbear.hatenablog.com

書き出すこと自体はDiscordの分報によく書いているので記録する癖はあるのだが、その時取り組んでいるissueのこと以外もたくさん呟いていて見づらいので、Notionにissueごとにページを作って、そこにやったことや自分の気持ちを時系列順に書いてみることにした。↓

www.notion.so

おまけ:フィヨルドで培ったことを仕事で活かせた

具体的に何をやったのか

1~3月の間だけ、エクセルに切り出された情報を手打ちでアプリに大量(私含めたパートさん5人で合計3000件!)に入力するお仕事があり、エクセルを入力しやすくカスタマイズした方が正確性もスピードも上がるので、上司に「職場のみんなでどの方法が一番効率的か共有し合いませんか」と勇気を出して切り出してみたら、快くOKを貰えた。
当日、私のやり方を職場の人に見てもらいながら、どういうやり方が1番正確で早いかをワイワイ話し合った。私も知らなかった効率的なやり方を他の人から知れて勉強になった。
そして、元々自分がやっているやり方をドキュメント化したのを皆に共有したり、関数使うなど難しい箇所はマニュアルを作ったりした。

フィヨルドで培ったこととは

これができたのはフィヨルドブートキャンプで

  • 実現したいことを調べ抜く力
  • 気になったらまずとびこんで行動してみる精神

を培ったからできたことだと思っている。
フィヨルドブートキャンプでの学習を通して、「この操作をもっと楽にできないか?」「これをやりたい人は私の他にもいっぱいいるはずだから、調べれば機能が用意されていたり、すでに方法を見つけている人がいるはず」と考えて、調べて実現することができた。
また、主体的に動いて改善策を提案するのは私にとっては少し勇気が要ることで、入社したての頃の私だったら「失敗したらどうしよう」と尻込みしていたかもしれないが、フィヨルフドブートキャンプで「大勢の前で登壇するのは怖いけどLTやってみたい!」「人見知りだけど、輪読会に参加してじっくり理解したり他の受講生と仲良くなりたい」というように、最初怖かったけれど一歩踏み出してみたら、"楽しい!飛び込んでみてよかった!"と思えるようになってきたので、今回行動を起こすことができた。

行動してみて思ったこと

どうしたらもっと良くなるかを職場の皆さんと話し合って改善していくのは、とてもやりがいがあると思った。
他のパートさんに、「自力ではこれ以上スピードアップできないからどうしようかと思ってた、ありがとう」「マニュアル通りにやってみたら入力しやすくなって楽しい」と言っていただけるなど、職場の人に感謝されたのもとても嬉しかった。
このことについてDiscordの自分の分報につぶやいたら、アドバイザーの方に「それはもう完全にエンジニアリングしていますね👏」と仰っていただけたのもとても嬉しかった!

2月の抱負

去年、一週間ごとに学習の目標を立てて、進捗を週報に書いていた時期は学習が捗っていたので、本当は今年も明確な目標を立てたいのだが、チーム開発は未知な部分が多く、「何日まで何ptのissueをやる」等の目標を立てるのは難しそうだなと思ったので、まずチーム開発・振返りミーティングに慣れることと、自分のペースでissueに取り組むことを意識して進めたいと思っている。あと、自作サービスのアイデア出しも、一日でぱっと思いつくものではないので、日常で感じるもやもやを記録したりとちょっとずつでも進めていく。