ドラクエに学ぶエンジニアのキャリア戦略

## はじめに
最近、キャリアについて考える機会があり、ドラゴンクエストのシステムが良い参考になるのではないかと気づきました。キャリアは捉えどころが難しいものですが、時には異なる世界の視点から物事を見ることで、新たな発見が得られることもあります。

本記事では、ドラクエの世界のシステムを通じて、エンジニアのキャリア戦略について考察します。なお、私のドラクエシリーズの経験はスマホアプリのドラクエウォークに限定されているため、主にドラクエウォークを例に話を展開します。

## 職業システムの考え方

ドラクエでは、基本職から上級職、そして特級職へと段階的に転職を重ねていきます。各職業の組み合わせ方によって、多様な転職パターンを選ぶことができます。
### 転職の例
![doraque_job2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3506277/21057613-022c-7cb0-cce5-d8f1dff361eb.png)

ドラクエの職業システムには以下のような特徴があります：
- 複数の基本職や上級職を経験することで、より高度な職業へと転職できる
- 転職後は必ずレベル1からのスタートとなる
- 最初に選択する職業が、その後の職業に大きな影響を与える
- 上級職や特級職に転職するには、一定以上のレベルに到達する必要がある

ドラクエの職業システムの特徴を、エンジニアの世界では以下のように対比できます：
- **複数スキルの組み合わせ**：エンジニアも異なる分野の経験と知識を組み合わせることで、より高度な専門性や新しい価値を生み出すことができる
- **基礎固めの重要性**：新しい分野に挑戦する際は、必ず基本からスタートする必要がある
- **初期選択の重要性**：最初に選ぶ分野は、将来のキャリアの方向性に大きな影響を与える
- **上位のポジションへの要件**：単なる経験年数だけでなく、その分野での確かな技術力と深い理解が、上位のポジションへのステップアップには不可欠

:::note info
エンジニアの世界では、ドラクエの世界と同様に、誰もがレベル1（基本の基本）からスタートするため、新しい分野に挑戦する際は、必ず基礎から学ぶことが重要です。また、最初に選択する分野は、その後のキャリアの方向性に大きな影響を与えますが、これは可能性を狭めるものではなく、むしろ、新しい道を切り開くための基礎と考えることができます。複数の分野で着実にレベルを上げていくことで、アーキテクトやテックリードといった上位のポジションへと成長できます。

また、エンジニアと言うからには、プログラマーではないはずなので、プログラマーを基本職と考えれば、他の分野である設計思想やドメイン知識についての経験を十分に得ることで、段階的にステップアップしていくことができるのかもしれません。
:::


## チーム編成のあり方

ドラクエのチーム編成には以下のような特徴があります：
- それぞれの職業が持つ特性を活かした役割分担（戦士は前衛で敵の攻撃を受け、僧侶は回復を担当するなど）
- チームの目的や状況に応じて最適な職業の組み合わせを選択
- 各メンバーの成長レベルのバランスを考慮した編成

ドラクエのチーム編成の特徴を、エンジニアの世界では以下のように対比できます：
- **職業の特性を活かした役割分担**：エンジニアチームでは、フロントエンド開発者、バックエンド開発者、インフラエンジニアなど、各メンバーの専門性を最大限に活用した役割分担が重要
- **目的に応じた最適な組み合わせ**：プロジェクトの要件や規模に合わせて、必要なスキルセットを持つメンバーを効果的に配置
- **メンバーの成長レベルのバランス**：ベテランとビギナーを適切に組み合わせることで、知識共有を促進し、チーム全体の成長を実現

:::note info
フロントエンド、バックエンド、インフラなどの各専門分野を持つメンバーが、チームの目的に応じて協力し、互いの強みを活かすことで、効果的なプロジェクトを実現できます。ただし、エンジニアのキャリアでは、複数の分野での経験と知識を組み合わせることで、より高度な専門性や新しい価値を生み出せるように、単一の分野に特化しているだけでは、アーキテクトのような総合的な判断力を必要とするポジションには到達しにくいと思われます。そのため、配置転換や機能別の開発など、システム全体を俯瞰できるポジションやチームのあり方を検討することは、キャリアアップにおいて重要な判断と言えます。

また重要な点として、経験豊富なエンジニアが集まるチームでは、自分のスキルレベルが低くても成長の機会が豊富にあります。ただし、高度なプロジェクトやプロダクト開発では、精神的・体力的な負担も大きくなります。単なる経験値稼ぎではなく、プロジェクトやプロダクトへの実質的な貢献を考えると、必ずしも高スキルのメンバーばかりのチームを選ぶ必要はなく、むしろ、自分が確実に貢献できるレベルのプロジェクトに参加する方が適切な場合もあると思います。
:::

## メタルスライムの存在

メタルスライムは、ドラクエを象徴する「まもの」です。主な特徴は以下の通りです：

- 非常に高い経験値を得られる貴重なモンスター
- 素早く逃げ出してしまう特性を持つ
- 防御力が極めて高く、通常攻撃ではほとんどダメージを与えられない
- 出現が珍しく、遭遇できた際は貴重な機会となる

ドラクエのメタルスライムの特徴を、エンジニアの世界では以下のように対比できます：

- **高い経験値（貴重な成長機会）**：新規プロジェクトの立ち上げや革新的な技術の導入など、エンジニアのキャリアにも大きな成長機会が存在
- **素早く逃げ去る（機会の一時性）**：キャリアの重要な機会も、タイミングを逃すと二度と巡ってこない可能性がある
- **高い防御力（チャレンジの困難さ）**：価値ある成長機会には相応の困難が伴い、通常のアプローチでは対処できない課題に直面しうる
- **稀少な出現（機会の希少性）**：キャリアにおける大きな飛躍のチャンスは、日常的には現れない貴重な機会

:::note info
エンジニアのキャリアにおける「メタルスライム」は、飛躍的な成長につながる貴重な機会を表しています。これらの機会を活かすには、十分な準備と迅速な決断力が必要です。

特に注目すべきは、素早く逃げ去る（機会の一時性）と稀少な出現（機会の希少性）という特徴です。IT業界では技術革新のスピードが速く、新しいプロジェクトや技術導入の機会は瞬く間に過ぎ去ります。また、大規模プロジェクトのリード役や新規事業の立ち上げなど、キャリアの転換点となる機会は滅多に訪れません。そのため、日頃から貴重な機会を見逃さないよう、準備を整えて積極的に挑戦する姿勢が重要です。

ちなみに、ドラクエウォークではメタルスライムを引きつけるアイテムがありますが、これはエンジニアのキャリアにおける「成長機会の創出」や「意図的なスキルアップの機会獲得」と解釈できます。これは、チャンスを待つだけでなく、自ら機会を作り出す積極的な姿勢を表していると言えます。例えば、新しいプロジェクトの提案や、技術コミュニティへの参加などがこれに当たります。ただし、呼び寄せたメタルスライムに対応できる準備が必要で、これは、飛躍的な成長機会を活かすための基礎的なスキルと心構えが重要であることを示しています。このように、機会は頻繁には訪れないからこそ、自ら機会を創出する能力もエンジニアのキャリア形成において重要な要素となると考えられます。
:::


## さいごに

ドラゴンクエストのシステムは、エンジニアのキャリア形成に多くの示唆を与えてくれます。複数の職業経験を積むことの重要性、基礎固めの大切さ、チーム編成における役割分担の考え方など、ゲームの要素はエンジニアの世界と多くの共通点を持っています。IT業界は技術の進化が速いので、新しい分野への挑戦を続けながら基礎的なスキルを磨き続けることで、より充実したエンジニアとしてのキャリアを築いていきましょう！