見出し画像

2023年エンジニア的振り返り

エンジニアとしての2023年どうだったか、を振り返ります

2023年トピック

1. SETチームのリーダーになった
2. LTに初登壇した
3. 様々な技術的負債の解消をした


詳細

2023年は正直に言うと、エンジニアとして成長した実感が2022年ほどはなかったです。組織においてチームに期待される役割を考えると一定仕方ないので、その上で技術以外の部分で成長することを重要視しました。
まず一つ大きなトピックとしては、先輩が退職し、その後自分がチームリーダーとなりました。リーダーになってまずはちゃんと価値を発揮することを意識しました。対外的にリーダーが変わったからあのチームはダメだ、と思われないためです。自分たちの動きやすさのために、まずは周囲からの評価を得ることを第一に考えました。ただその際もどちらかというと専門ではない開発プロセスを改善する動きをしなければいけなかったので、新たにインプットすることも多く自分が思っていた以上の働きは残念ながらできませんでした。その中でも

  • 流出するバグを減らすこと

  • 運用における負荷を軽減すること

    • 余計なイベントを減らす

    • 手作業を自動化する

を意識して、Jiraを活用したり、Looker StudioやGSSなどを使った可視化を自動化したりと動いていました。そのおかげで直近目指していた目標は達成できました。この辺りの具体の内容が気になる方は以下の記事を参照していただけると幸いです。

また、チームを自走できる状態にするためにもチームが目指す状態を自分たちで定義づけました。目標を共有できていることで、自分たちが今何をすべきかを考えやすくなりましたし、これをやりたいけど今の状況ではできなくて、それをやるためにはまずこれをやった方がいいよね、などの時間軸が影響する判断もしやすくなりました。メンバーからの意見が積極的に出始めた、という変化も実感できたので目標を共有するようにしてよかったです。

二つ目のトピックであるLT登壇は、Qiitaに記事を書いていたことがきっかけです。

アウトプットが新たなアウトプットの場を呼び寄せる体験を初めてしました。他のイベントにもよく参加するのですが、やはりイベントには登壇する側で参加した方が他者とのつながりを作りやすいなと感じました。このような人とのつながりは自分の仕事にもつながる、ということをたくさんの記事なりインターネット上の情報で見てきたので、もっと場に出ることを考えて日々を過ごしたいなと思います。また、そのような場に登壇する立場で出る、ということは人の役に立つ情報を自分で生み出すことが近道だと思うので、より自分を磨いていきたいです。
Youtubeも公開されているので気になる方は観てみてください。

三つ目のトピックである技術負債解消は、テストコードを書いてもらうためです。テストコードを書いていない状況から、テストコードは当たり前に書く状態にすることがチームに課せられた命題の一つでした。テストコードを「書かない」から「書く」へと変化を加えるという行為は、見え方によっては「やることをただただ増やす」という行為に捉えられかねないです。だからこそ、重要だけど緊急ではない技術的負債の解消をこなしていくことで、やることや考え事を減らし、代わりにテストコードを書いてもらおう、と考えました。抜粋すると

  • —legacy-peer-deps オプションをなくす

  • firestoreからRDB移行

  • Node.js のバージョンアップ

などです。legacy-peer-depsオプションに関しては、かなりひどい状況だったので紐解くのに少し労力が必要でした。Node.jsのバージョンアップも同様です。firestoreからRDB移行はリードエンジニアが用意した仕組みを活用するだけだったので作業自体は楽でしたが、責務が分離されていないなんでも格納されているfirestoreコレクションを適切なDB構造にするために、設計にはかなり気を使いました。技術負債の解消を通して技術的な成長は実感できたので、これからも技術負債の解消は続けていきたいです。

自分一人だけでは経験できないこともこの一年を通して経験できたので、その観点ではとてもよかったです。また、その中でも技術面の成長も少しはできたので、今後も前に進んでいきます。

以上、2023年のトピックでした。
次は、3ヶ月ごとの出来事をざっと振り返ってみます。

1 ~ 3月

プライベートでは、『テスト駆動開発』をTypeScriptで写経していました。これ、めちゃくちゃよかったです。良いテストコードを書くためにはインタフェースをどう切るかがかなり重要で、テストコードを普及していく立場の人間としていい気づきを得ました。
仕事では、テストコードを普及しつつ、なぜかパフォーマンス改善していました。元々が1分以上かかっていたということもあり、15倍以上改善することができました。

4 ~ 6月

仕事で開発プロセスの改善を行わなければいけなかったので、スクラム、アジャイル開発といったキーワードに関係する情報をキャッチアップしていました。スクラムフェス新潟に参加もして、実際にそこで得た情報を実務に活かすことができました。かなり楽しかったので記事も書いてました。

あとはRustへの興味が出てきたので、Rustのドキュメントを一通り写経したり、業務での作業を一部RustでCLI化したりしてました。あれ以降あまり触ることができていないので悲しい。。

7 ~ 9月

この頃は、プライベートの方で色々忙しかったので特にこれといった成果はないですね。RustのWasm本を買ったのですが、これも途中で着手をやめてしまいました。。何も生み出さないで終わるのは嫌だと思い、テックブログを立ち上げました。気軽にアウトプットできる場があるのが、割といい感じです。読書メモだったり試行錯誤したメモの置き場にしたりしてます。

仕事ではそれまで支援していたチームとは別のチームを支援することになり、テストコードを書く環境を整えたり、技術負債の解消をしていました。

10 ~ 12月

プライベートでは、再度個人開発していきたい欲望が高まり、そのハードルを下げるためにCI/CDを学習してました。Google Cloud のCloud SQLへのマイグレーションやCloud Runデプロイを自動化できたので目標達成したのですが、Cloud SQLを個人で使うとなるとやはりお金がかかるので作り直しです。ただCI/CDに対する苦手意識は消えたのでよかったです。立ち上げたテックブログにもアウトプットしています。

あとISUCONに出ました。SQLアンチパターンも読みました。RDBに少し強くなった気がします。闇雲にインデックスは貼りません。
仕事ではチームメンバーのサポートをしつつ上述したような技術負債の解消をしていました。あとフロントエンドのテストランナーをJestからVitestに変更しました。Vitest、めっちゃ速いです。

2024年に向けて

  • 個人開発していきたい

  • Rustをもっと触っていきたい

  • OSS貢献

OSSへの貢献をやっていきたいなーって気持ちが最近は強くなっています。2022年の終わりにも書いていたのにできていないです。明らかに自分にもいい影響があるはずなのに、はじめの一歩がなかなか踏み出せない。。そんな状況を打破していきます。実際コードを読むと自分が求めている情報がすぐに見つかるんです。reg-suitのコードを読んでいたんですが、インターフェースの切り方が本当に勉強になります。コードリーディングでも自分のためになるので、実際に貢献していくことはもっと学びを加速させるんだろうな、と思います。自分が良いコード・設計を学ぶ事で、他者へのフィードバックも的確にできるだろうし、品質の良いプロダクトを育てることで使ってくれる人に対しても満足してもらえると考えています。なのでOSSへの貢献をやっていきたいです。
また、そのOSSへの貢献を個人開発にも活かしていきたいです。良いコードが書けるともっと楽しくなると思うので、2024年はよりアウトプットしていきます。

番外編

  • 友人とサッカーを10回するという目標は未達に終わりました(7回)。夏の猛暑がなければ、多分達成できた気がします。

  • 思いつきだけど来年は書道を始めます。理由は、字の汚い大人より字の綺麗な大人の方がかっこいいと思ったから(笑)。

  • 結婚しました。

2023年もお疲れ様でした。

サポートありがとうございます!頂いたサポートは自己啓発のための書籍代に使わせていただきます!!