今更ながら、新卒1年目を振り返ってみる。
本当は年末に書きたかったが、気づいたら年が明けており、「それじゃあ年度末に」って思ってiPhoneのリマインダーに登録したのに関わらず、年度末は余裕が無くなるほど刺激的(激務)な毎日を過ごしており、気がつけば、すっかり桜散る季節となってしまっていた。

さて本題に戻るが、社会人人生の幕開けは非常に波瀾万丈だった。
配属初週にリリースされたサービスの開発を担当
入籍
年明けに携わってきたサービスの担当を外れ、新規プロジェクトへアサインされることが告げられる
年明けに告げられたミッションがさらに変わり、全く違う事業部へ期限付きで移籍になることが告げられる
1年間お世話になったトレーナーがご退職された
管轄内の半期の総会で、最優秀ベストルーキー賞を受賞
1ヶ月間の研修があった後に各部署に配属されるのだが、配属されるタイミングがちょうど事前に告げられていた担当サービスのリリースと重なっており、チームメンバーがリリースに向け非常に忙しくしていたので、すぐに開発着手できる状況ではなかった。なので最初の1週間は環境構築やら事業ドメインの理解やらに時間を割いていた。無事にリリースされたのだが、そのタイミングで開発担当の多くは別サービスの担当に移ってしまったので、最終的にはトレーナーと僕の2人がこのサービスの開発を担当することとなった。リリース直後のサービスなので、配属直後とはいえ、間髪入れず常に開発タスクをこなす日々を送っていた。とにかく数をこなすことを求められていたのだが、日を追うごとに単純なタスクではなく、要望に対してしっかりコミュニケーションを取って仕様を擦り合わせることが求められるようになった。しかし、スピードは出さないといけない。ここが一つ社会人人生初めての壁となった。スピードを求めるがあまり、乱雑に進めてしまい、結果手戻りが多く発生したり、要件から漏れているケースもかなりあった。開発スケジュールに関しては基本個人の裁量で決定することができるのだが、今思えば、周りからの期待感(と勝手に自分が感じているだけのもの)に合わせて、無茶なスケジュールを引いて、自滅しているだけに過ぎなかった。このような状況が9月頃まで続いていた。このままではまずいと思い、今までの仕事のやり方に改めて見つめ直すことにした。具体的には、タスクにどの程度時間をかけたのか・プルリクエストに対してどのようなレビューが来ていたのか・見積り工数に対する実際の工数とのズレなど、あらゆるものを洗い出し、現時点での自身の能力と期待に応える上でボトルネックになっているものを明らかにしていった。能力の限界値を知っていると、自ずと無茶なことをすることがなくなり、事前の工数見積もりと実績工数とのギャップがどんどん縮まっていった。また、限界値を引き上げるためにボトルネックの解消を意識して行なっていった。このタイミングくらいから、徐々に自分のやれる範囲がどんどん広がっている感覚を掴んでいった。
この辺りの話は、ブルーロックというサッカー漫画で取り上げられているFLOW状態(挑戦的集中)がわかりやすい。当初の僕は能力レベルに対して高い挑戦レベルを設定しており、常に不安状態だった。ただ、能力レベルを今一度見直し、適切な挑戦レベルを設定することでFLOW状態に入ることを意識した。挑戦レベルを少しづつ引き上げつつ、能力レベルを上げるための課題を常に解消することを意識することで、少しずつだが挑戦レベルも能力レベルも同時に上げていくことができていったような気がする。FLOW状態を保つためには、能力レベルを常に把握し続けることが前提になってくる。

また、仕事を効率よくこなすために、自分流の仕事術を模索し続け、「ポモドーロテクニック」と「タイムボクシング法」を組み合わせた方法に辿り着いた。
ポモドーロテクニック:25分集中 + 5分休憩を1セットとし、4セットごとに長めの休憩(15〜30分)を取る時間管理法。集中力維持と疲労軽減が目的。
タイムボクシング法:あらかじめ時間枠(ボックス)を設定し、その枠内でタスクに取り組む手法。完璧よりも「時間内にやり切る」ことを重視し、予定管理に適している。

まず朝出社したタイミングで、積み上げられたタスクのうち、優先度の高いものをAM・PMという単位のタイムボックスに割り当てる作業から始まる。タスクについては、ポモドーロのセット単位(30分)で工数見積もりをし、ミーティング量も踏まえ、タイムボックス内の合計工数が溢れないように調整する。これは1日の生産性を決める最も大事な作業なのでしっかり時間をとって対応することが重要である。(僕は毎朝30分くらい時間を費やしている)
タイムボックス内では、ただひたすらにポモドーロのルーティーンを回す。集中作業の時はなるべくslackは見ずに、やると決めたタスクにひたすら没頭する。休憩のタイミングでslackを確認する。即レスすべきという意見もあるかもしれないが、この手法でも25分以内にはメッセージを確認できるので、十分早いと僕は思う。メッセージの確認に時間を要するものに関しては別途タスクを切り直し、25分の集中作業内で行うようにする。
この手法はとにかく時間を意識することになる。タスクにどの程度時間を要するのかの感覚がより磨かれていく。何も考えずにやるといたずらに時間を浪費してしまうこともあるかもしれないが、時間内にやり切ることを意識することでこのような事態も防ぐことができる。
プライベートの方はあまり語ることはないが、2024/10/08に入籍した。ちなみに、10月8日は永遠の日らしいのでその日にした。

年明けは波瀾万丈だった。正月早々39度近くの高熱が出てしまい、数日寝込む羽目になってしまった。復活したと思ったら、年始一発目のリリースで障害を発生させてしまった。年明けから不運なことが立て続けに起こってしまったが、気を引き締めて頑張ろうと思った矢先に、配属当初から携わっていたサービスの担当から外れ、新規プロジェクトにアサインされることが告げられた。入社後初めてのチーム移動だったので微妙に緊張あり不安ありだったが、上記で述べた仕事術のおかげでどこのチームでも再現性高くやれる自信はあった。さあ新たなチームでも頑張ろうと思った矢先、やっぱり別の事業部の新規プロジェクトの方で人を集めているからヘルプで行ってほしいと告げられ、期限付きで移籍することとなった。流石に全く別の環境に移動するとなると不安がかなり大きかったが、今ではそんな不安も一切なく仕事に勤しむことができている。とても刺激的な環境で日々色々学びなのだが、ここでは詳しく触れない。
トレーナーとは別部署になってから、週1での1on1以外で関わることが無くなってしまっていた。ある日、FUGLENに誘われ、突然、退職される旨を聞いた時に人生で一番驚いてしまった。
先日、管轄内の半期の総会で、最優秀ベストルーキー賞を受賞した。まさか取れるとは思っていなかったが、この1年での実績が評価されて嬉しかった。これがピークではなく、次は最優秀ベストエンジニアに選ばれるよう頑張りたい。

改めてこの1年を振り返ると、うまくいかず苦しい時期もあったが、苦しいなりに常に考え続け、がむしゃらに、でも賢く、立ち回ることができたと思う。その結果が最優秀ベストルーキー賞である。(そのほかにも、各月の表彰でベストエンジニア賞を2回取ることができた)ただ、周りの期待値もそれだけ上がっているということなので、挑戦と能力のバランスを一定に保ちつつ、JOBサイズをどう引き上げていくかをこれからも考え続けなければならない。今は正直一つのプロジェクトに対してしか目を向けられていないので、より広い視野で視る力を身につけなければならない。
1年前の入社前にはこんなブログを綴っていた。久しぶりに読むと、入社前はEMを目指していると書かれていた。
正直、今EMを目指しているかと言われると、絶妙にYESと答えづらい。というのも目の前の仕事に必死になっており、将来のキャリアビジョンを見失っているからだ。ただ、挑戦レベルを引き上げすぎても不安状態になるだけなので、目の前の仕事や周りからの期待値に対して適切な挑戦レベルを設定し続け、徐々に自分のやれる範囲を広げることに没頭したい。ただあえてビジョンを語るとしたら、開発生産性とプロダクト品質に向き合い、生成AI技術を活用しつつ、工数を限界まで減らし、プロダクトを最速でグロースできる環境を提供できるエンジニアを目指していきたい。