Table of Contents
はじめに
2022年になり、社会人2年目も終盤に差し掛かるタイミングでこの文章を書いている。
今回はあくまで個人の視点での振り返りをまとめる。
成長できたこと
DDD・Agile文脈の原則に近い知識
今年はパターン寄りの知識よりも、原則に近い部分を学ぶことで日々の業務のベースとなる考え方を身につけることが多かった。
DDDでいうところの戦略的設計に近い部分にあたる。
具体的にはEvans本の後半、OOCP本、XP本mAgile Testing Condensed等を読んでいた。
この手の原則を身に着けておくと、自分のアウトプットに理由が持てるので何かと業務・コミュニケーションが円滑に進む気がする。
TDDの実践を含めた実装力
以前もTDDはなにをするかは理解していたけど、厳密なTDDの実践まで至ったことがなかった。
しかし2021年は厳密なTDDの実践も経験し、その上で自分なりの実装スタンスを身につけることができた。
実装スタンスを言語化しろと言われたら難しいけれど、ちゃんとテストしておきたい箇所(主にドメインロジック)から順に手を付けて、 優先順にコミットを重ねていくイメージ(例としてユースケースにおける主・副シナリオごとに1コミットみたいな粒度が好き
テスタブルなコードを書いていきたい
QAに関する知識・実践
QAに関する知識がほとんどない状態でフィーチャー開発のQAまでを一貫して行う立場になったのでゼロから入門した。
QAにおける各手法パターン・原則を学び、e2eテストの追加・メンテナンス等を行った。
受け入れテストまで含めてテストファーストに行っていくような視点が増えるのでとても有意義な経験をした。
立場に関係なく、「品質はみんなで守ろう」精神でやっていけたらと思う。
障害対応周りの経験
障害対応に関わることが何度かあり、その都度濃い経験をした。
「監視入門」にも障害対応に関係するようなことが書いてあり、学びが深かった。
システムの信頼性に関して、先人の知恵を身に着けていきたいと思う経験だった
その他エンジニアリング全般
2021年中頃に読んだ「エンジニアリング組織論への入門」に書かれている内容がどれも興味深く、「エンジニアリング」という言葉に思いを馳せていた。
不確実性を潰すためには様々な視点からのアプローチが可能で、学ばなきゃいけないことが本当に多いなと。
個人のキャリアとして本に書かれている内容をさらに意識するのはもう少しあとのフェーズになると思うが、自分が最終的にやりたいことを今からでも描いていかねばと感じた。
見つかった課題
仕様・設計を決めきる力
昔から優柔不断な性格である自覚はあったが、フィーチャー開発を設計段階から責任を持って遂行する立場を経験したことで、決めきる力の弱さを痛感した。
「設計段階に時間をかけずにミニマムに前に進めることが大事」のような考え方もあるが、影響範囲が多い機能だとその後の展望も自分の中に持っておくのが大事で、 スコープを削って後に回した機能を決める・やりきるタイミングは必ず来る。
日々の仕様・設計に関する業務を重く捉えすぎるのも良くないと思うが、「自分がこのシステムを作っていくんだ!」という意志を持った経験だった。
データベース・ネットワーク等の低レイヤ寄りの知識
エンジニアとして生きていく以上つきまとう課題だとは思うが、障害対応等をしていると自分の実力不足が明確に現れることが多い。
デッドロックが発生したときに、内部でどのような事象が発生していてどう改善すれば解消できるのか。
みたいな知識・経験がまだまだ足りず手を動かしながら学びを深める必要性を感じた。
クラウド環境を手を動かして構築する経験
IDDD本・データ指向アプリケーションデザイン・マイクロサービスパターン等を読んでいると、インプットしている内容の割に自分がゼロから構築できるモノが少ないな〜と感じた。(分散システムやドメインイベントの扱い等
幸い日々の業務でk8sやkinesis等には触れているので、参考にしつつゼロから構築する経験をしたい。
2022年の抱負
課題もやりたいこともたくさんあるので、2022年に具体的に何をするかは整理途中。
ざっくり考えている抱負としては、
「個を出すこと」
2022年は20代後半に入るので、自分の個性を確立させていきたいな〜、と。 個性を出して、チーム・会社にとって自分がどういった強みを発揮できるかを言語化していきたい。
真面目な話ばかりだったけど、まずは楽しく! 2022年もやっていき。