「給料」だけでは続かない。最新研究が解明した、エンジニアがコードを書き続ける「本当の理由」とキャリアの壁
公開日
「なぜ、優秀なエンジニアが突然辞めてしまうのか?」 「給与や待遇は改善したのに、なぜチームの熱量は上がらないのか?」 あるいは、あなた自身が「なぜ自分は毎日コードを書いているのだろう?」とふと疑問に思うことがあるかもしれません。
ソフトウェアエンジニアのモチベーションは、単なる「技術への情熱」や「高収入」だけでは説明しきれない複雑な構造を持っています。
本記事では、2025年に発表された最新の研究論文「Why Do We Code? A Theory on Motivations and Challenges in Software Engineering from Education to Practice」に基づき、エンジニアがキャリアを歩む中で変化する「モチベーション」と、それを阻む「壁」の正体を解明します。教育から実務まで、エンジニアのキャリアジャーニーを体系化したこの理論は、個人のキャリア形成だけでなく、組織の採用・定着戦略にも決定的なヒントを与えてくれます。
調査の概要:エンジニアの「本音」を深掘りする
クイーンズ大学のAaliyah Chang氏らによる研究チームは、ソフトウェアエンジニアリングの教育と実務の両方を経験した15名のエンジニア(ジュニアからCTO、キャリア10年以上のベテランまで)に対し、徹底的なインタビュー調査を行いました。
組織行動学の手法を用いて彼らの語りを分析した結果、エンジニアがこの職業を選び、そして留まり続けるための「心のメカニズム」が明らかになりました。
エンジニアを突き動かす「2つのエンジン」
なぜエンジニアになるのか? その理由は大きく 「内発的(Intrinsic)」 と 「外発的(Extrinsic)」 の2つに分類され、キャリアの段階によってその重み付けが変わることがわかりました。
1. 内発的モチベーション:最強の原動力
これらは、エンジニア自身の内側から湧き出る欲求であり、最も持続的なエネルギー源です。
- 個人的な楽しみ(Personal Enjoyment): 「コードを書くのが純粋に楽しい」「クリエイティブな活動が好き」という情熱。これは教育・実務を問わず最強の動機です。
- 問題解決(Problem Solving): パズルを解くように複雑な課題を解決するプロセスや、動かなかったものが動くようになる達成感です。
- 所属感(Sense of Belonging): 「同じ言語」を話す仲間がいるコミュニティへの帰属意識や、憧れのロールモデルへの接近欲求です。
- 自己効力感(Self-Efficacy): 「自分にはモノを作る力がある」「機械を制御できる」という万能感や自信です。
2. 外発的モチベーション:現実的な推進力
一方で、現実的なメリットや外部環境も重要な動機となります。
- 個人的・キャリア目標(Personal/Career Goals): 高い給与、雇用の安定、場所を選ばずに働ける自由さなど。
- 外部からの承認(External Validation): 家族に誇れる仕事であることや、周囲からの評価。
- 教育との整合性(Education Alignment): 「せっかく情報系を専攻したから」という、サンクコストやキャリアの自然な流れ。これは実務に入ってから自覚されることが多い動機です。
- 代替案の回避(Avoiding Alternatives): 「他の仕事よりはマシだから」「消去法で選んだ」という理由。これは主に学生時代の専攻選びで見られます。
また、「インパクト(Impact)」、つまり自分の仕事が誰かの役に立っている実感は、内発的喜びと外部への貢献の両方の側面を持つ特殊な動機として特定されました。
キャリアを阻む「3つの壁」
モチベーションがある一方で、エンジニアは常に「課題」にさらされています。研究では、以下の課題がモチベーションを削ぎ、離職の引き金になることが示されました。
1. 所属への障壁(Barriers to Belonging):唯一にして最大の敵
最も注目すべき発見は、「所属への障壁」だけが、学生時代からキャリアを通じて一貫してエンジニアを苦しめるという点です。
- インポスター症候群: 「自分は周りほど賢くない」「いつか無能だとバレるのではないか」という不安。
- 体系的な障壁: ジェンダーギャップや、特定の属性に対する疎外感。
- 孤独: リモートワークでの孤立や、チームに馴染めない感覚。
2. キャリア形成の迷路(Career-Progression Challenges)
実務に入って初めて直面する、組織やキャリアパスに関する「現実」の壁です。
- 企業文化への適応: コードを書くこと以外のスキル(社内政治、交渉、ネットワーキング)が求められ、戸惑うこと。
- 教育と実務のギャップ: 学校で学んだことと、実際の現場で求められるスキル(レガシーコードの読解や独自ツールの使用など)の乖離。
- 求職・評価のミスマッチ: 採用面接でのコーディング試験(LeetCodeなど)が実務能力を反映していないという不満や、不明確な評価基準。
3. モチベーションへの直接的な脅威(Threats to Motivation)
仕事の内容そのものが、エンジニアの情熱を削いでしまうケースです。
- 「やりがい」の欠如: 単調なタスクの繰り返しや、技術的な挑戦の不在。「学びがない」と感じることはエンジニアにとって苦痛です。
- インパクトが見えない: 自分の書いたコードが誰の役に立っているのかわからず、無力感を感じること。
- 業務と興味の不一致: 自分の技術的関心と、会社から割り当てられるタスクがズレている状態。
継続か、離脱か。「EPEプロセスモデル」が示す分かれ道
本研究の核心は、モチベーションと課題がどう相互作用するかを示した「EPE(Exposure-Pursuit-Evaluation)プロセスモデル」です。エンジニアのキャリアは、次の3つのフェーズで決定づけられます。
フェーズ1:接触(Exposure)— 最初の出会い
キャリアの原点です。ここでプログラミングに対して「インパクトのある体験(魔法のように感じた、エンパワーメントされた)」を得られた人は、強い内発的モチベーションを獲得します。 逆に、授業で習っただけなどの「インパクトの薄い体験」だった人は、親の勧めや就職の有利さといった外発的な後押しを頼りに次のフェーズへ進みます。
フェーズ2:追求(Pursuit)— キャリアの継続
エンジニアとしての学習や仕事を続ける段階です。 重要なのは、入り口が「外発的動機(安定や給与)」だった人でも、教育や実務の中で成功体験を積み、後から「内発的動機」を獲得できるということです。逆に言えば、ここで内発的動機を育てられないと、キャリアの維持は難しくなります。
フェーズ3:評価(Evaluation)— 留まるか、辞めるか
ここで「課題」がフィルターとして機能します。 「所属への障壁」や「やりがいの欠如」といった課題が、日々の充実感を上回ったとき、エンジニアは自身のキャリアを見直します。
- 内発的充実感(楽しい、成長している)が維持できているか?
- 外発的メリット(給与、待遇)は十分か?
- インパクト(役に立っている実感)はあるか?
これらが課題によって阻害されたとき、エンジニアは業界からの離脱(Departure)を選びます。
マネージャーと企業が明日からできること
この研究結果は、エンジニアを採用し、定着させたい企業やマネージャーに明確なアクションプランを示唆しています。
1. 「給与」以上の価値を提供する
高い給与は人を惹きつけますが、引き留めるには不十分です。長く活躍してもらうためには、内発的モチベーションを刺激する環境が必要です。
- インパクトの可視化: エンジニアが顧客の声を聞く機会を設け、「自分の仕事の価値」を実感させる。
- 適切な挑戦: エンジニアにとって、「退屈」は大敵です。学習意欲を満たすタスクやプロジェクトへの配置転換を柔軟に行う。
2. 「所属感」をデザインする
「所属への障壁」は最大の離職要因です。
- インポスター症候群対策: メンター制度を充実させ、「悩んでいるのは自分だけではない」と知る機会を作る。
- 多様性の受容: 心理的安全性を確保し、マイノリティが孤立しないチームビルディングを行う。
3. 初期段階での「成功体験」を作る(マネージャー・メンター向け)
プログラミング初学者やジュニアエンジニアには、早期に「動いた!」「できた!」という自己効力感(Self-Efficacy) を感じさせる設計が重要です。これが将来、困難を乗り越えるための内なるエンジンとなります。
結論
私たちがコードを書く理由は、生活のためだけではありません。そこには、創造する喜び、難問を解く興奮、そして世界にインパクトを与えたいという願いがあります。
EPEモデルが教えるのは、モチベーションは固定された属性ではなく、環境によって育てることも、枯らすこともできるということです。エンジニア自身が自分の動機の源泉を知り、組織がそれを阻害する「壁」を取り除く努力をすること。それが、持続可能で幸せなエンジニアリング・キャリアを築く唯一の道なのです。
開発生産性やチームビルディングにお困りですか? 弊社のサービス は、開発チームが抱える課題を解決し、生産性と幸福度を向上させるための様々なソリューションを提供しています。ぜひお気軽にご相談ください!
参考資料: