見出し画像

【月次報告】エンジニアになって16ヶ月が経ちました

こんにちは、しゅんです。エンジニアになって16ヶ月が過ぎましたので今月も振り返りをしていきます。

※エンジニアになって15ヶ月目の記事も投稿しています。お時間ございましたらご覧ください。

■エンジニアになって16ヶ月が経ちました

全体を通して


JQueryからReact, TypeScriptへのリプレイス案件をメインに携わっています。自分も含めて2名で開発をしているのですが、各々が別の案件を掛け持ちしている中大幅な遅延もなく立ち回れています。

各案件でPMが実装の進捗具合で不安にならないように現状報告やいつ実装するのかなどのスケジュールを細かめに共有をしながら進めています。

以前3つくらい案件を掛け持ちしていた時にどうしても手が回らず共有が漏れmtgでも「進捗ありません」のみの報告となってしまい不信感を持たせてしまった過去の反省があるためです。

案件がスタートしてから2ヶ月ほど経ちアプリとして全体像が出来上がりつつあります。なので少しずつ改善の時間も設けながら、改めてどの粒度からstateをリフトアップするのか考えてみたり、コンポーネントの共通化できそうな箇所を探してみたりと可読性の高いアプリを作れるように試行錯誤しています。

また、QAもそろそろ入られるので現時点で機能が完成している箇所の洗い出しやどのような仕様として実装しているかなどの共有資料を作る時間も念頭に入れないといけません。

この案件が(自分が観測している中で)初めてのReactのフルスクラッチ案件になるのでできれば今後別のReact案件が舞い込んできたときの見本になるといいなと思っています。

技術面に関して


掛け持ちしている案件ではありますが教育サービスの案件でmailtoの実装に躓きました。

「mailtoを使ってメーラーを起動するのは悪手だ。お問い合わせフォームとして実装すべきだ」なんて記事も見かけましたが、確かにmailtoを使うとEUがメールソフトを入れているのか、使っているOSがWindowsなのかMacなのか、そのメールソフトの設定はどうなっているか、などのユーザー依存で文字化けが発生するのでmailtoを使った実装はお勧めしないです。

実際にこちらのテスト環境では文字化けしないのに先方のメール本文で文字化けが発生する不具合が発生してしまい調査が大変でした。

最終的には原因を判明することができuserAgentでのEUの使っているOSを出しわける必要があったのですが、userAgentの存在を知れた・OS出しわけする実装の引き出しが増えた点でプラスに感じました。

最近は「今の実装で本当に良いのか?」と深ぼった調査を進めていくのですが(このリファクタや調査の時間を設けられるスケジュール・工数だしをできたところに自分自身の成長を実感します。)まだまだ知らない技術単語が出てきます。

例えばuseEffectで出てくる「冪等」の意味を知っているだけで実装で想像できる範囲が広がります。SSG(ISR), SSRで出てくる「結果整合性」や「強整合性」も今回初めて知りました。

個人的にはこういう知らないことに出会うのは意外と技術記事よりエンジニアさんのTwitterの発言だったり下記のような技術「本」(おすすめです!)のことが多いので情報収集の仕方をQiitaやzennのみに限定しないように工夫しています。


業務委託に関して


徐々に粒度の高いタスクを振られるようになってきました。

全ての仕様を把握できているわけではないのですが、そんな中でもやりとりの後戻りを防ぐために聞いた仕様をまとめたり実装メモを残しながら進めています。今後類似箇所の実装を任された時にスムーズに作業に取り掛かれるようにするためや当時の自分の実装をログする目的もあります。

また、本業にフルリモートで携わっていて比較的、業務委託にコミットする余裕があるのでslackにもできるだけ早めなレスポンスができるように心がけています。

意外とslackでの仕様のやりとりで齟齬が生まれるのはメッセージに主語がなかったり、どういう背景での実装するのか掴めていなかったりと意図が汲めない状態から生まれるので、個人的に質問する際は画像・動画を付けて具体性を持たせた質問をするようにしています。

Next.js, TypeScript, Firebaseが主な技術スタックになるのですが、今はSSRの使い方やSSGの使い方をもう少し調査したいなと思います。BigQueryや外部ツールを使った実装もタスクとして出されたこともあったのですがやはり知らないことを知ることができるのは非常に勉強になります。引き出しが増えていく感じが好きです。

■16ヶ月目を過ぎて思ったこと

転職活動するにあたって最近、ペアプロ形式の技術試験を受けたのですが仮にも16ヶ月もフロントエンジニアをやっていて不甲斐ないと思う結果で自信喪失していました。

提出形式の技術試験の場合は人によってコミットすればするほど質の高いコード内容を提出することができます。

一方でペアプロ形式の場合は時間が決められていてその時にパッと出てきた課題に取り組むので自分の実力(現時点の知識量や引き出しなど)が丸裸になります。

なので一度も経験したことはなかったのですが、なんとなく苦手意識がありました。今回実際に受けてみて、現状を知るいい機会になったので解けなかったロジック(というか概念や周辺知識)に関して深ぼって調査していきたいです。

実装のユースケースや自分の理解できてい部分を知れたのでよかったです。

■最後に

ようやく涼しくなってきて過ごすのが楽になってきました。今年は暑さがしんどすぎて8〜9月はリモートがほとんどで体がなまってきているのでこれからは定期的に出社していきたいと思います。

一方でリモートをしていると朝2時間、夜2時間業務委託の方にコミットする時間を確実に作れるので出社もほどほどにすると思うのですが…

転職活動も進めています色々な企業の話を聴き、自分の軸と合っているのか照らし合わせながら納得のいく転職をできるように努力しています。

今後も継続してこの月次報告をしていこうと思っています。是非今後ともよろしくお願いいたします。駆け足になりましたが最後までご覧いただきありがとうございました。

この記事が気に入ったらサポートをしてみませんか?