小さめの開発チームをリードしながら今後のキャリアを考える

[転職ドラフト×Qiita記事投稿キャンペーン「今年の転職活動で考えたこと・やったことを書き残そう」 - Qiita](https://qiita.com/official-events/9687d5419295cd871fdc)

滑り込みですが、こちらについて考えてみたので投稿します。
[Qiita](https://qiita.com/yumechi/items/2962c5763565a4cbd7b1), [Zenn](https://zenn.dev/yumechi/articles/4a79169288e7ee) の両方に投稿しています。

## 今年の転職意欲など

今のところはとてもいいところがあれば考えたいという程度で、ほぼゼロです。
役割が変わる中で自分の市場価値がどれくらいになっているのか？ という点は気になる部分ではありますが、後述する通り、今は今の仕事に向き合って壁を超えることが大事だと考え、カジュアル面談を含め転職活動には手を付けませんでした。

とはいえ、自分自身の働き方が変わるにつれて今後のキャリアについて考える機会が増えました。
転職はキャリアを実現するための一手段であり、今後のキャリアについて考えるきっかけになることもあると考えています。
なので、少し散文的ではありますが、今後のキャリアについて考えてみました。

## メンバーからリーダーへ

現職では最初開発メンバーとして入社しましたが、最近はリーダーとしての役割も担うようになりました
（建前上の役職もリーダーになっていますが、あまり気にしてはいないです）。
何がリーダーの仕事なのかは曖昧な部分がありますが、下記のようなことをしていて、メンバーとは違った視点で仕事をしていると感じています。
もしこれを読んだ皆さんがメンバーからリーダーを目指して転職しよう考えている場合、参考にしてみてください。

- 開発メンバーのオンボーディング
- 要件・設計の書き起こしや、設計の書き起こしから分解したタスクの依頼
- 他部署・協力会社とのミーティングや調整
- アーキテクチャの検討やライブラリの選定
- プログラミング（主にバックエンド）
- アーキテクチャの設定変更（様々な方にフォローしていただきながら対応しています）
- タスク状況の確認やフォローアップ

書き出してみると結構いろいろなことをやっているなと思います。
メンバーであった時との違いとしては、全体を見て方向性を決めることが増えたことです。
単に1システムの1機能だけではなく、複数のシステムを見て連動を考えながら進めることが増えました。
ドメイン知識を含め、考えることが多い部分について自分が入って考えて、メンバーにお願いしたり自分で開発しています。

メンバーからリーダーになる転機は特になかったように思います。
自分の技術力や経験を生かして働いているうちに信頼関係が生まれ方向性を決める機会が増えてきて、リーダーとしての役割が後からついてきたと思っています。
チームから信頼して任せていただけるというのはありがたいことですし、責任感も強くなり、考えることが増えました。
しかし考えることが増えることは楽しみが増えることでもあり、とても刺激的に感じています。
前職でもスクラムマスターを経験する中で、チームビルディングやフォローアップ、リーダーシップについてはよく考えさせられたので、それが生かされている部分もあり、自分の成長を感じています。

## 小さめの開発チームで求められていると私が感じているところ

フェーズによって求められることは当然変わりますが、私視点では今のチームは作ってきたものが増えてきたので、開発チームをもう少し大きくしていきたいと考えています。

開発チームを大きくしていきたいモチベーションの一つはプロダクト数が増えることによる運用保守対象の増加です。
知識があるメンバーであっても、ほかの業務をしているときに突然の障害が発生した場合、すぐに対応できる人がいなければ、開発を止めなければいけません。
開発が止まってしまうとプロダクトとして提供できる価値が遅れて利益を生み出す部分にも後で響きます。
そのため運用保守を含めてチームを考えることは重要です。
また昨今では AI などの補助により効率化が進んでいますが、モデリングやシーケンス、システム間の設計といったものは人間が考える部分が多く残っており、開発チームにはそれらを考える能力が求められていると感じています。
AI によるコーディングもまだ不完全な部分があるため、その良しあしを考えられるチームが必要です。
私もまだまだ運用保守や設計、チームビルディングやコーチング、その他いろいろを勉強・実践している身ではありますが、チーム全体でそういったことを考えて行動できる環境を作っていきたいです。

またチームを拡大するにあたり、チームビルディングや新しく入ってきたメンバーのマネジメントをするようなリーダーシップが求められているフェーズだと感じています。
私が入ってきた時よりも、プロダクトの機能が増えて、コードも増えていっているので新しく来たメンバーが学ばなければいけないことは右肩上がりで増えています。そのため、新しく入ってきたメンバーがすぐに開発に参加できるような環境を作っていくことが今後私には求めらえていると感じています。

前職ではどちらかといえば開発者の数が多く、開発に集中するという選択肢も取れました。
一方、今は自分ができること・できそうなことにどんどんチャレンジし、開発とマネジメントのバランスを取りながら働いていく必要があります。
そこをキャリア上楽しみながら伸ばしていけるかが今後の課題です。
壁に当たることも多いとは思いますが、それを乗り越えた景色を見ることができると信じています。
また自分が成長することでチームの成長、プロダクトの成長にも繋げていきたいです。

もしこれを読んだ皆さんが同じように小さめの開発チームにいる場合は、自分がどういう役割を担い、どういうキャリアを築いていくかを自分で設計する必要があります。
開発をがっちりやりたい場合や明確な評価制度によるキャリアップを考える場合は、中～大規模の開発組織に移ることも選択肢の一つだと私は考えています。

## 前回の転職活動から

前職の最終的なロールとしてはスクラムマスターから、マネージャーになる路線でしたが、開発者としてもそこそこ動けていたように思うので悩んでいました。
エージェント経由で、開発者のミドルレベルからシニアレベル、リードエンジニア、開発者としてのスクラムマスター、プロジェクトマネージャー、エンジニアリングマネージャーと様々なポジションで話を聞きました。
その中で自分がどのようなキャリアを描いていきたいのかを考えましたが、最新の技術についてもキャッチアップしつつ、エンジニアとして挑戦できる場所がいいなと思い、今の会社に決めました（最後は直観的な面白さもありましたが）。

マネージャーとして転職を決めなかった理由も当時はっきりしませんでしたが、今考えると自信がなかった部分もあるのかもしれません。
前職のスクラムマスターとしての経験、現在のリーダーとしての経験を積んでマネージャーとしてのキャリアを選ぶのも今はありだと思います。
ただ個人的にはマネジメントに選任する、のはまだ考えていないです。対応が難しいとか、責任を持ってやらなければいけないという領域（インフラとか特にそうかも）となると、技術力だけではなくトラブルシューティングするスキルや人間関係構築スキルも必要になるので、この点をエンジニアとしてもっと攻めていければと思います。

今後の人生であといくつのドメイン・システムの開発に携わるかはわかりませせんが、技術的な複雑度が上がるにつれて、自分が第一線から離れる日も来るのではないかとも考えています。
その日が来るまでは技術的なことを楽しみつつ、プロダクトをよくするために自分で手を動かしてたくさん貢献していきたいと思っているので、今後も技術力を磨くのはもちろん、マネジメントスキルやコミュニケーションスキルも磨いていきたいです。

## 今後のキャリア

今後のキャリアについてはまだまだ模索中です。
今回のテーマでは転職でしたが、転職はキャリアを支える一つの方法でしかないと私は考えているので、今の組織での働き方からキャリアについて考えてみました。

現職で4社目になりますが、前職後半ではスクラムマスター、現職でも気が付いたらリーダーとしての役割を担うようになりました。
メンバーとして必死に開発していた時期から考えると、現在の自分は想像もできないところに来たと思います。
大学生のころからプログラミングやソフトウェア技術全般が好きで、開発すること自身に執着しすぎていた部分もあったかもしれません。
今、新しい経験をしていく中で考えていくことが増えてきたので、開発だけでなく開発組織もよくできるように楽しんで今後もやっていければと思います。