【エンジニア2年目】日々の業務の中で手応えを感じた3つの取り組みと今後の展望

:::note info
この記事は クラウドワークス グループ [Advent Calendar 2024](https://qiita.com/advent-calendar/2024/crowdworks) シリーズ1の21日目の記事です。
:::

## はじめに

僕は2023年6月にエンジニア未経験からクラウドワークスに入社し、約1年半が経過しました。

最初の1年と比較して、自分なりにできることが増えてきたと実感しています。

そこでこの記事では、エンジニア2年目となる今、日々の業務で意識的に取り組んできたことや、その中で手応えを感じたこと、最後に今後の展望をまとめます。

この振り返りを共有することで、同じような境遇にいる方の参考になれば幸いです。

## 日々の業務の中で手応えを感じた3つの取り組み

以下の3点に焦点を当てて説明します。

1. 時間の使い方
2. ドメイン知識の蓄積
3. OSS活動の開始

### 1. 時間の使い方

2年目から、なるべく残業をせず定時退勤を強く意識するようにしました。

これは「ワークライフバランスを重視したい」という話ではなく、仕事の優先順位をつける習慣を確立するためです。

最初の1年は「これが片付いたら退勤しよう」「ここまでは今日中にやってしまおう」といった、やることベースの時間の使い方をしていました。

しかし、この働き方だとあれもこれもやろうとし過ぎてマルチタスクになってしまい、「がっつり作業してた割に重要なことが全然進んでいない」「あれ、今日何をやっていたんだっけ？」といった状況に陥ってしまうことが個人的には多かったです。

そこで2年目からは「定時で帰らないとダメなんだ」ぐらいのつもりで働くようにしてみました。

意識だけでは継続できないため、なるべく仕事後に予定を入れるなどの仕組みづくりも行いました。

定時退勤を前提とすると、毎日やることの優先順位を考えて取捨選択を迫られます。

特に「今日はやらないこと」を明確にしなくてはいけません。

その結果、タスクを絞り一番大切なことに集中できるようになったと感じます。

また作業効率が向上するだけでなく、1日の終わりに「今日はこれをやり遂げた」と明確に振り返ることができるようになりました。

このように、時間管理による優先順位付けを通じて、自身の生産性の向上に繋げることができました。

### 2. ドメイン知識の蓄積

チームの担当範囲に関するドメイン知識が少しずつ蓄積されてきたなと感じます。

僕が所属するチームは管理画面を主な担当領域としていますが、コードレベルで仕様を把握している機能が徐々に増えているからです。

この知識が調査・見積もり・改修案の検討といったシーンでたびたび役立っています。

1年目の途中までは先輩エンジニアにおんぶにだっこの状態だったのですが、その方が他チームへ異動すると聞いて以来、「自分たちで担当範囲を保守していかなくては」という危機感が芽生えました。

それ以降、たとえ自分がレビュワーだったとしても「その気になれば自分が実装したフリをできる」くらいのつもりで、PRの内容理解にすごく時間をかけていました。

こうした心がけの積み重ねが現在のドメイン知識増加につながっていったのだと思います。

### 3. OSS活動の開始

クラウドワークスでは毎週1時間、業務時間中にOSS活動に取り組める時間が設けられています。

技術力向上や新たな知見獲得のため、この時間を利用してOSS活動を始めました。

現時点では公式ドキュメントのtypo修正程度ですが、「どこか貢献できる点はないか？」と常に意識しながらドキュメントを読むことで、より一層インプットが捗っているように感じます。

その結果として、日本語版・原文のRailsガイドに複数回コントリビュートできました。

日本語版（全4件）

https://github.com/yasslab/railsguides.jp/pulls?q=is%3Apr+author%3Akazuyainoue0124+is%3Aclosed+

英語版（全3件）

https://github.com/rails/rails/pulls?q=is%3Apr+author%3Akazuyainoue0124+is%3Amerged+

ドキュメント修正は小さなステップですが、OSS活動への心理的ハードルは大きく下がりました。

一歩ずつ前に進めたことで自己効力感が高まっているのを感じます。

## 今後の展望

続いてこれからの展望をまとめます。

今後は以下の3点に注力したいと考えています。

1. 施策の検討段階から関われるように
2. ドメイン知識の更なる深化
3. 技術的な知見の拡大

### 1. 施策の検討段階から関われるように

タスクが降ってくる手前、つまりアイデア出しや施策の検討段階からエンジニアがもっと関与していくべきだと考えます。

チームとしてのパフォーマンスを最大化するのであれば、「どう実装するか？」よりも「そもそも何をやるか？」にこだわった方が圧倒的にインパクトが大きいと強く感じているからです。

すでに仕様が固まっている施策であっても、ビジネスロジックの単純化やスコープの最適化などを通じて機能開発の費用対効果を高め、チームとしてより速くより本質的な価値提供に注力していけたらと思います。

### 2. ドメイン知識のさらなる深化

上に書いた施策検討やアイデア出しに関わるためにはドメイン知識なしでは不可能です。

前述したように、少しずつ蓄積されてきたようには感じていますが、それでもまだまだ限定的です。

特に僕の所属チームはユーザーサポートチームの業務効率化がミッションであるため、管理画面の仕様だけでなく、彼らの仕事内容そのものへの理解が欠かせません。

直近では「業務理解を深める会」と称して実際のオペレーションを見せてもらう取り組みも開始しました。

こういった活動を継続・加速させ、チーム全体で「ここは知っている」と思える範囲を広げていくことで、意思決定のスピード・質を一段押し上げていければと思います。

### 3. 技術的な知見の拡大

1, 2ではチームとしてのパフォーマンス向上にフォーカスしていましたが、個人の技術的なスキルアップも重要ですし、本音では最も注力したい部分です。

その一環として挙げられるのがOSS活動の継続です。

ドキュメント修正から始めましたが、今後はコードの追加・修正によるコントリビュートなど、より難易度の高い貢献にも踏み込んでいく予定です。

現在は最初の足がかりとして、RBSの型定義ファイルを追加するPRをいくつかのgemに出したりしています。

またOSS活動に限らず、日々の業務の中でも学びの機会を自ら見出していく必要があります。

社内には知見の豊富なエンジニアが多数在籍しているため、チームの垣根を越えた質問・相談や交流をこれまで以上に増やしていきたいです。

このように継続的な学びの機会の追求によってスキルや視野を拡大し、最終的にはそこで得られた知見をチームやプロダクトに還元していければと考えています。

## おわりに

この記事ではエンジニア2年目に僕が意識して取り組んだこと、そして今後の展望についてまとめました。

本記事の内容が、同じような境遇にある方々にとって何らかのヒントや参考になれば嬉しいです。

今後も一歩ずつ成長を続け、より価値あるエンジニアリングを実践していきたいと思います！