こんにちは、とまだです。
突然ですが、みなさんは「ヴァンパイアサヴァイバーズ」(以下、ヴァンサバ)というゲームをご存知ですか?
私はこのゲームが大好きです。
クリアしてはデータを消してまた最初からプレイするというサイクルを繰り返しているぐらい、どハマりしています。
そんな中、最近ふと気づいたのです。
「あれ?このゲーム、エンジニアの人生設計にめちゃくちゃ似てるぞ...?」
...と。
今回は、そんなヴァンサバから学べるエンジニアの人生設計について、7つのポイントをお話しします。
ヴァンサバの概要
本題に入る前に、ヴァンサバについて簡単に説明しますね。
これからの話をするために必要なので、なんとか耐えてください。
ヴァンパイアサヴァイバーズは、インディーズゲームで、スイッチやパソコンなど様々なプラットフォームで遊べます。
ゲームの内容としては、
- 30分間の制限時間の中で敵を倒し続ける
- 敵を倒すと経験値が手に入り、レベルアップする
- レベルアップすると武器やアイテムを選んで強化できる
- 時間とともにどんどん強くなる敵を倒し続ける
- 30分間生き残ることが目標
...というシンプルなゲームです。
こんなシンプルなゲームの中に、エンジニアの人生設計に通じるものがたくさんあるのです。
それでは、具体的に見ていきましょう!
1. 武器選びは慎重に:スキルセットを意識的に構築する
ヴァンサバでは、攻撃をするための武器と、補助武器(パッシブアイテム)を選ぶことができます。
ただし、武器は好き放題選べるわけではなく、それぞれ6個ずつしか選べません。
これって、エンジニアのスキルセット構築にそっくりじゃないでしょうか?
もちろん学ぶ量に制限はないものの、各スキルの専門性が高まるにつれて、深く学ぶことができるスキルは限られてきます。
そのため、価値の高いエンジニアを目指すためには、どのスキルを選ぶかを慎重に考える必要があります。
例:
- フロントエンドエンジニアを目指すなら:HTML, CSS, JavaScript, React など
- バックエンドエンジニアを目指すなら:Python, Ruby, Node.js, SQL など
- インフラエンジニアを目指すなら:Linux, AWS, Docker, Kubernetes など
自分のキャリアゴールに合わせて、戦略的にスキルを選んでいく必要があります。
2. 武器の相性が大事:スキルの組み合わせを工夫する
ヴァンサバでは、武器同士の相性が重要です。
例えば、飛び道具と近距離武器を組み合わせることで、遠くの敵も近くの敵も効率よく倒せます。
エンジニアのスキルセットも同じです。
相性の良いスキルを組み合わせることで、より価値の高いエンジニアになれます。
例:
- フロントエンド(React)+バックエンド(Node.js) => フルスタックエンジニア
- プログラミング(Python)+統計学 => データサイエンティスト
- インフラ(AWS)+自動化(Ansible, Terraform) => DevOpsエンジニア
一方、相性の悪いスキルしか持っていないと、色々知っているけどどれも中途半端なエンジニアになってしまいます。
せっかく学ぶなら、相性の良いスキルを組み合わせることを意識してみましょう。
最初は、相性の良いスキルが何かわからなくても大丈夫です。
実際にスキルを獲得していく中で、自分に合ったスキルの組み合わせを見つけていくことができます。
3. 序盤の成長がとにかく重要:早期のスキル獲得を意識する
ヴァンサバでは、時間が経つにつれて敵がどんどん強くなっていきます。
そのため、序盤でいかに早くレベルアップして武器を強化できるかが、後半戦を左右します。
エンジニアのキャリアも同じです。
キャリアの初期段階で基本的なスキルをしっかり身につけておくことで、後々の成長が加速します。
例:
- プログラミングの基礎(アルゴリズム、データ構造)をしっかり学ぶ
- バージョン管理システム(Git)の使い方を習得する
- 基本的な開発ツール(エディタ、IDE)に慣れる
これらの基礎スキルは、どんな分野に進んでも役立ちますし、後々のスキル獲得を助けてくれます。
逆に言うと、序盤で大事なスキルを獲得できないと、後々の成長が遅れる可能性があります。
ヴァンサバで序盤に経験値を稼ぐために頑張るように、キャリアの初期段階でこれらのスキルを獲得することに力を入れましょう。
4. 効率的な経験値稼ぎ:自分から動いて成長の機会を掴む
ヴァンサバでは敵は放っておいても自分から近づいてきますので、待っていても経験値を稼ぐことができます。
ただし、あえて自分から動き回った方が多くの敵を倒して経験値を稼ぐことができます。
エンジニアの学習も同じです。
覚えた知識だけを使い、同じような開発をしているのは確かに居心地がいいかもしれません。
ただし、新しい技術や知識を手に入れるためには、自分から新しいエリアに飛び込んで学習・成長の機会を掴む必要があります。
例:
- 新しくオンラインコースや技術書で学ぶ
- 実際にプロジェクトを作ってみる(アウトプット)
- 技術コミュニティに参加し、他のエンジニアと交流する
ただし、ヴァンサバでは経験値を稼ぐために無謀な行動を取るとすぐにゲームオーバーになってしまいます。
あくまで自分のスキルや知識に合わせつつ、ちょっとリスクを取って新しい経験値を稼ぐことが大切です。
5. 武器の進化:固有のスキルを獲得する
ヴァンサバでは、特定の武器と特定の補助武器を組み合わせるなど、条件を満たすと武器を進化させることができます。
- 例:鞭+HPアップ => HPを回復しながら攻撃できる鞭
言い換えると、適当にスキルを組み合わせているだけでは、武器を進化させることができません。
一方エンジニアも漫然とスキルを獲得しているだけでは、専門性を獲得することが難しいですよね。
自分が持っているスキルと、それに合わせた専門的な知識やツールを組み合わせ、固有のスキルを獲得することが重要です。
- React + Figma => デザイン〜開発まで一気通貫なフロントエンドエンジニア
- Node.js + GraphQL + MongoDB => 柔軟なAPIを作れるバックエンドエンジニア
- Docker + Kubernetes + DataDog => 大規模システムの運用・監視をできるインフラエンジニア
このように、基本スキルに専門的な知識やツールを組み合わせることで、より高度な専門性を獲得できるはずです。
ただし、ヴァンサバで武器の進化条件を知らないと進化させられないように、キャリアの方向性を意識して計画的にスキルを組み合わせていく必要があります。
そのため、適当に学ぼうとせず、目指す方向を先に把握してからスキルを獲得することが大切です。
6. 時間とともに強くなる敵:技術の進化に追いつく
ヴァンサバでは、時間が経つにつれて敵がどんどん強くなっていきます。
武器を強くせず、進化もさせずにいると敵をさばき切れず、ゲームオーバーになってしまいます。
技術の世界も同じです。
新しい技術やフレームワークが次々と登場し、市場の要求も変化していきます。
例:
- jQueryからReactやVue.jsへの移行
- オンプレミスのサーバ管理からクラウドへの移行
- モノリスアーキテクチャからマイクロサービスアーキテクチャへの移行
このような変化に対応するためには、継続的な学習が欠かせません。
ヴァンサバで敵の強さに追いつくために武器を強化し続けるように、エンジニアも常に新しい技術をキャッチアップし続ける必要があります。
(Qiita を毎日チェックするだけでも全然違いますね)
7. 序盤・中盤・終盤の戦略を持つ:長期的な視点を持ったキャリアプラン
ヴァンサバには1プレイ30分という制限時間があります。
この時間を意識しながら、序盤・中盤・終盤と戦略を立てる必要があります。
例えば序盤ではとにかく経験値を稼ぎながら武器を強化し、中盤では敵の強さに合わせながら戦略的に武器を進化させ、終盤では生き残りのための戦略を練る...といった具合です。
エンジニアのキャリアも同じです。
よく面接で聞かれますが 5年後、10年後、さらにその先を見据えて計画を立て、段階的に目標を設定することが重要です。
(個人的には 5年後の自分を想像するのが難しいですが...)
- 短期目標(1-2年):基本的なスキルの習得、小規模プロジェクトの完遂
- 中期目標(3-5年):専門分野の確立、チームリーダーとしての経験
- 長期目標(5-10年):技術アーキテクトやマネージャーとしてのキャリア構築
ただし、ヴァンサバで予期せぬ展開に柔軟に対応する必要があるように、キャリアプランも状況に応じて柔軟に調整していくことが大切です。
客観的な外からの意見も取り入れながら、自分のキャリアを長期的な視点で考えていきたいですね。
まとめ
いかがでしたか?
ヴァンサバとエンジニアのキャリアには、意外な共通点がたくさんあることがわかりましたね!!!
ゲームの世界でも、エンジニアの世界でも、戦略的に成長し、常に変化に適応していくことが生き残るコツなのですね。
みなさんも、ヴァンサバをプレイしながら、自分のキャリアについて考えてみてはいかがでしょうか?
意外な気づきがあるかもしれませんよ!超おすすめです!!
私のようにハマりすぎて学習に支障が出ることのないよう、注意しましょう😇