プログラマー35歳定年説・限界説

エンジニアと年齢
  1. よく言われる根拠とそこまで関係ない理由
    1. 体力的な問題
    2. マネージメントさせられるのでスキルアップに時間を割けなくなる
    3. 教えてもらえる機会が減るから
    4. 思い込みの影響
  2. 実際はどうか?
    1. 50代まではスキルが伸びる
    2. 私の経験上は35歳以上で活躍されている方もいれば微妙な人もいる印象
  3. 年齢よりも適正や性格のほうが重要
  4. 問題なのは能力的な問題と言うよりもキャリア的な問題
    1. 30代になるともっとお金が必要になり自分の時間がなくなる
    2. マネジメントをするのがキャリアアップへの近道
    3. 年下の上司のもとで働くのはプライドが傷つく可能性がある
  5. 30代のうちに挑戦だけでもすべき
    1. とはいえマネジメントはやりたくない人は多い
    2. 人から好かれる能力よりも聞く力やプロジェクト進行するための論理的思考力が重要
    3. 人のやりたくない仕事だからこそ価値がある
    4. マネジメントの大変さは会社によっても大きく違う
  6. 長くスキルで食っていくには?
    1. その1. 技術を磨き実績を残す
    2. その2. 枯れていてレガシーになりそうな技術
    3. その3. 習得に時間がかかる技術を身につける
    4. その4. ある程度の給与でも大丈夫な方法を考える
    5. その5. 海外の案件を受注する
  7. 将来的には35歳定年説はどうか?
    1. プログラミングが義務教育に導入され優秀な若手が生まれる可能性が高い
    2. 高齢化社会においては35歳はまだまだ若手
    3. エンジニア不足
  8. まとめ

よく言われる根拠とそこまで関係ない理由

体力的な問題

年齢が進むと一般的には体力がおちていきます。
いままでだと業務をこなしてからスキルを磨くために学習できていたとしても年を重ねるごとに学習に割ける時間が減ってくることでしょう。
また労働時間の長い職場では体力が落ちることで集中がもたないこともあるかもしれません。
ただしこれは一般的な傾向の話であって常に運動や筋トレをしている人であれば何もしてない若手よりは体力がある人もいます。
一方で運動を普段からしてないとエンジニアは動かないので体力の衰えが一気に進むような気もします。
わたしも20代前半の頃は全然運動してなくて体重も増加して20代後半から焦って運動をし始めました。
その結果、若いときよりも元気がみなぎってくるので頑張れば体力的な問題はある克服できます。

マネージメントさせられるのでスキルアップに時間を割けなくなる

チームのマネージメントを任せられるようになると会議への参加や資料作成、部下のマネージメントとプログラミングしている以外の時間が増えます。
すると若い頃にくらべてプログラミングしている時間が短くなり新しいスキルにたいする習熟度が落ちてくる可能性があります。
日系企業の場合だと20代後半から30代ぐらいからマネージメントする立場にアサインされることが多くそういった理由でスキルを磨きにくくなります。
私も業務でマネジメントをすることで余計な会議への参加や資料作成に追われてコーディングという意味で成果を残せずもやもやする日々を過ごしていました。
残業も増えがちになって学習に当てる時間も少なくなったのでこれが結構辛かったです。
これに関しては中々上手い解決法はなく無駄な会議の場合は話を聞いているふりをしながら情報収集をするぐらいしかないです笑。
あとは資料作成能力を磨いてエクセルやパワポを使いこなせるようになったりJIRAなどのプロジェクト管理ツールを上手く使い資料を作成せずとも進捗を可視化することで報告業務を少なくし時間を作ったりと細かい工夫で時間を作って開発していっくのが解決方法かもしれないです。

教えてもらえる機会が減るから

自分よりも年上の人に対して指摘するのは難しいことだと思います。
逆の立場で考えると歳をとると周りから指摘してもらったり教えてもらえる機会が減ってきます。
すると学びの機会が減ってくるためスキルの上達が遅くなると考えられます。
これに関しては若い人をよく観察して何か面白い知見はないかと盗むほうが良いと思います。
どんなに人当たりを良くしていてもやはり気は遣われてしまうのでその前提でよく観察して見て技を盗む姿勢が重要です。

思い込みの影響


歳をとることで能力が落ちると言われることが多いのでその思い込みで能力が低下してしまう可能性もあります。もう年だからといって消極的になることが能力の低下を招くことになります。
歳を言い訳にしないように心がけていれば問題ないでしょう。

実際はどうか?

50代まではスキルが伸びる

Stack Overflowの回答のスコアと年齢の相関について調べた研究があります。

“Is programming knowledge related to age? An exploration of stack overflow” Patrick Morrison; Emerson Murphy-Hill

https://people.engr.ncsu.edu/ermurph3/papers/msr13.pdf

それを見てみる50代までは回答の質が上がっていく傾向があります。
つまりこの結果から50代まではスキルが伸び続けるという見方をすることができるためまだまだ35歳は伸び盛りと考えられます。

一方で優秀なプログラマーが生き残っているという生存バイアスがかかっているという側面もあるとは思います。

私の経験上は35歳以上で活躍されている方もいれば微妙な人もいる印象

私が過去にいたスタートアップではテックリードのようにチームを技術的な側面からリードする存在は30代中頃から40代の人が多かったです。つまり会社の中で一番スキルをもっている人が大体30代〜40代の人が多かったです。そういった人は情報を仕入れるソースを上手く持っており常に最新の情報をキャッチするのが上手かったです。昨日の深夜に報告された脆弱性にも関わらず翌日の朝からその話について議論していたりしました。その当時の私は気付いてなかった情報だったのでその人を見習ってそこからちゃんと情報収集するようになりました。またコーディングについても早くミスが少なく大変優秀な方も多かったです。


一方で40代の人で微妙な人もいました。モダンなWEBフレームワークの実務で使えるほどの知識がなかったりオンプレミスしか触ったことがないようでAWSの知識がなかったりしました。正直こんなこともわからないのかと教えるのが辛かったりプライドも高い方だったので教えるのが大変だったというのもあります。若かったり素直な性格であればスキルが未熟でも多めにみれますが歳をある程度とっている人でプライドが高かったりするとスキルの人は不利な部分はあると思います。

年齢よりも適正や性格のほうが重要


体力や技術のキャッチアップ力が落ちたとしてもそれは本人の若い頃に比べてであって元々適正が高い人であれば年齢に対する衰えは僅かなものです。年齢よりも本来持って生まれた理解力や好奇心、学び続ける向上心といった適正のほうがプログラマーとして活躍できるかを左右します。

むしろ経験や技術的な知見は現場で経験を積まないと身につかず検索してもでてきにくいので若手よりも有利なところがあります。例えばアンチパターンを多く見てきていれば未然に問題のある設計を食い止めることもできるためベテランのエンジニアの知見はとても頼りにされます。


一方で教えてもらうよりも学びにいかないとスキルが身につき辛くなるので学習方法はなるべく早く習得する必要はあります。何でもかんでも教えてもらっている人は歳をとったときに煙たがられる可能性があるので注意が必要です。つまり自分で学ぶ独学力がある程度備わっていれば年齢は気にしなくても能力的な問題は大丈夫でしょう。

問題なのは能力的な問題と言うよりもキャリア的な問題


ここまで能力面では歳をとってようが関係ないという結論ですが考えなければならないのはキャリアについてです。

30代になるともっとお金が必要になり自分の時間がなくなる

20代のうちはスキルを磨いていけばそれに応じて年収が上がっていきました。けれど30代になるとプログラミングスキルだけでは年収が頭打ちになることが多いです。一方でプライベートでは所帯を持ったり住宅の購入をかんがえたりと何かとお金が必要となります。また老後を考えての貯蓄や投資に回すお金がもっとほしいと考える時期にもなると思われます。

そしてスキルアップに時間を割くという意味でも家族を持つと学習時間が少なくなり新しい技術のキャッチアップがおろそかになることもあります。

35歳限界説がささやかれている理由としてはそういった支出が増えたりお金のことについて真剣に考えなければならなかったり時間的な要因が背景にあると思われます。30代になると20代のころの給与のままだと正直厳しくなってきてプログラミングスキルだけだと辛くなるのが35歳限界説のもっとも有力な根拠であると私は思っています。

マネジメントをするのがキャリアアップへの近道

よくある評価制度上では一般的にはマネジメントをすることが高い役職だと求められます。大手だと評価制度に従って人が評価されるためどうしても年収を上げるとなるとマネジメントをせざるをえません。

また転職するにしても年収700万以降からはマネージャー職の求人ばかりでプログラミングスキルだけの求人は多くはありません。また40歳以降になるとマネージャー職の求人ばかりでプログラミングスキルだけの求人は多くはありません。

年下の上司のもとで働くのはプライドが傷つく可能性がある

40代になっても50代になっても30代の下で働けるか?ということを考えておいたほうが良いでしょう。年下の人の支持に従って働くのは少々プライドに傷がついてしまう人も多いと思います。最近は歳が上だろうと下だろうとフラットな関係の企業は増えていますが立場上どうしてもマネジメントをしている人の指示に従う必要があります。

また下手に気を遣われたりしても居心地が悪いです。そしてマネージャーが年下なのに年収が自分よりも上というのはマネジメントが大変な仕事とわかってはいても、不公平感を感じてしまうこともあるでしょう。

30代のうちに挑戦だけでもすべき

マネージャーだと30代前半であれば若手です。なので多少の失敗であれば多めに見てくれることがほとんどです。

若い時期になるべく多くの失敗経験や年上のマネージャーからのアドバイスを聞きながらマネジメントスキルを磨いたほうが40代や50代になってからマネージャーを目指すよりも近道です。


そのためたとえマネジメントが向いてないかったとしても失敗が許される30代の時期に思いきってマネジメントに挑戦するのをおすすめします。

やってみて駄目だったら諦めてプログラマーに戻ることはできますが、逆はマネジメントスキルも即戦力が求められるので歳をとってしまうとプレッシャーが大きいです。


なのでなるべく若いうちにマネジメントへ挑戦してみるのをおすすめします。プログラミングすることに名残があるならプレイングマネージャーとして挑戦することをおすすめします。

とはいえマネジメントはやりたくない人は多い


マネジメントに挑戦するべきだと言ってもマネジメントは面倒という意見は多く、ストレスを抱えやすいためやりたくない人は多いのは事実です。マネジメントについては私も正直やる前はかなり抵抗感がありました。


私はあまり人付き合いは得意ではなく、なるべく黙々とプログラミングを書いている仕事がしたいと思ってWEBエンジニアになったのに、その期待が裏切られた残念な気持ちがありました。それでも年収を上げるためには一番手っ取り早い方法がプロダクトマネージャーにつくことだったので物は試しと思って挑戦しました。

人から好かれる能力よりも聞く力やプロジェクト進行するための論理的思考力が重要

あまり色々言わず話を丁寧に聞くことが信頼を得るために役立ったのでおしゃべりが上手くなくコミュニケーションに自信がなくてもちゃんと話を聞くことで大丈夫だったりします。またコミュケーションに難がある人とコミュケーションをとっても自分がストレスを貯めないといったことが重要だったりします。


私が昔勤めていたスタートアップのマネージャーはマイペースなところがあったり、業務的な連絡以外にあまりコミュニケーションを取ることが正直なかったです。それでも特に不満はなく働けていたので問題はなかったです。事業をみたり設計をちゃんとしたりとコミュニケーションというよりは物事を進めるための論理的思考力が必要です。

人のやりたくない仕事だからこそ価値がある


人がやりたくないと思うところだと過当競争に巻き込まれることがすくないので上手くやれれば待遇もどんどん上がっていきます。一方で性格的に難のある人も一定数いるのでそういったときに自分がストレスを貯めずに上手く対応していくことが鍵になるかもしれないです。

マネジメントの大変さは会社によっても大きく違う

マネジメントの大変さは会社によって大きく変わるというのはあります。大手でも中小でも納得のいかない経営判断がなされた場合、それを部下にも納得してもらいついてきてもらうために説得するのが苦労します。そのため経営陣がどれだけ納得感を持った説明ができるかによって間に入るマネージャーの苦労は変わってきます。またピボットが多いとそれだけ人の説得する必要が多いので大変です。


そのためまずは経営者の経営判断を理解するための経営やマーケティングの知識を身につけていることも重要になることがあります。

経営者が正しい判断ができているかや採用する人を選べるような採用力のある会社であれば部下を説得する必要性が少なくなり、優秀で人当たりの良い人材がとれるのでマネジメントもしやすかったりします。なのでマネジメントをする場合は入社時に良い会社かどうかを見極めることも重要な要因になってきます。

長くスキルで食っていくには?

それでもマネジメントをやりたくなかったり、やってみて向いてないからスペシャリストとしての道を歩む場合に年収をあげるにはどうするのが良いかについて考えてみます。

その1. 技術を磨き実績を残す


言わずもがなかもしれないですが圧倒的な実力があれば年収を上げることができます。ただしスキルを磨いているだけではなく世間に見える形でアウトプットして実績を残す必要があります。

例えば有名なオープンソースのコミッターになったり有名なサービスの立ち上げに関わるなどの実績がないとエンジニアの世界では中々評価してもらえません。LT会などで登壇をたくさんすることで自分を売り込むことも重要になります。書籍を執筆したり海外の技術書を翻訳したりといったこともチャンスがあればやってみると大きな信頼につながります。最近は海外の情報を上手く翻訳して日本語で発信をしてフォローされるような存在になる方法もあります。アウトプットに関してはここに書いた以外にも多種多様な方法があるので何でも良いので意識して発信するのが大事です。


オープンな活動をしている人のほうが活動してない人よりも能力がないとは思いませんがしている人のほうが能力を評価しやすかったり一緒に働きたいと思ってもらえるという意味では価値があります。

その2. 枯れていてレガシーになりそうな技術


更新が少なくなった枯れた技術のプロになるという方法もあります。枯れた技術はあまりニュースにもあがりにくく学びたいと思うライバルも少ないです。枯れた技術は安定感があっていきなりなくなることは中々ないです。いまだにCOBOLの開発案件の募集があることを考えると当分は持つと思います。

若手もこれから学ぼうと思う気があまり起きない技術だと競争を避けられて希少な存在になれるので待遇面が高いことがあります。


ちなみにCOBOLを例にとるとマネジメントをせずとも高単価な求人がそれなりにあります。じゃあ今からCOBOL未経験者がわざわざCOBOLを身につけて働こうと思うとあと20〜30年は食っていくには不安なのでわざわざ学ぼうと思わないでしょう。なので将来のCOBOLのような残り続けるけどレガシーな技術を習得するとプログラミングスキルだけで長く食っていけるかもしれないです。

その3. 習得に時間がかかる技術を身につける


習得に時間がかかる技術も敬遠されがちだったりするので良いかもしれません。あまり私は詳しくないですがデータベースだとOracleは使いこなすのに十分な熟練したスキルを身につけるには時間がかかりそうです。またC言語やC++に関しても現場で活躍できるレベルになるまでにはそれなりの学習時間が必要になるので若手が手を出しづらい傾向にあります。こういった習得に時間がかかるスキルであれば経験の長さが物を言うので活躍し続けることができると思われます。

またこれは先程の繰り返しになってしまいますがレガシーな技術ほど記事が古かったりしてネットから良質な情報を取得するのが難しいです。書籍もあまり売れないので発行されることが少なく体系的にまとまった知識が取得しづらいです。そのためレガシーな技術だと現場で経験を積むことで身につく知識が多いので経験年数で勝負できるようになるでしょう。

その4. ある程度の給与でも大丈夫な方法を考える


例えばプログラミングだけやってれば他のことがどうでも良いと思えるならその道を進むのも幸せな道だと思います。もしくは副業による収入を作ることで本業は楽しく働きながらそこそこの給与をもらう方法もあります。


最近だとMENTAでプログラミング初心者にプログラミングを教えたり教材系のサイトでプログラミング教材を売るなどエンジニアの副業の幅は広がっています。未経験者からのWEB業界への転職を考えてプログラミングを学びたいというニーズも高まっているので副業の方法を考えてみると良いかもしれません。

その5. 海外の案件を受注する

リモートワークが普及したことと円安が進行していることを考えると海外の会社でリモートワークしてみるのも良いかもしれません。ただプログラミングしているだけでも日本の平均的なマネージャーよりも稼げる状況なので一考してみる価値は十分にあります。

将来的には35歳定年説はどうか?


ここまでは現在の状況についてをまとめてみましたが今後どうなるかについて考えてみたいと思います。

プログラミングが義務教育に導入され優秀な若手が生まれる可能性が高い

プログラミングが義務教育に加えられることでプログラミングがより身近な存在になりました。
すると若手の層が厚くなるのでより優秀なエンジニアが生まれやすい状況になります。IT業界全体では明るいニュースですが自分よりも若い人のほうが優秀になるのはたしかなので上手い棲み分けを考える必要があります。

高齢化社会においては35歳はまだまだ若手


今後少子高齢化が進んでいくと35歳でも全然若手です。現代でもすでに日本の平均年齢が48歳なので若手といえば若手です。そういった社会においては年齢によって基準を設けてしまうと労働者がとれないので年齢による差別はなくなってくるでしょう。


LIFE SHIFTの中で言及されているように人生100年時代になると同じ仕事を続けるのではなく人生のなかで何度か大きなキャリアチェンジをする人も増えてくるでしょう。そういった社会の中では年齢によって上下が決まらずスキルによって評価がされるので上司が年下でもきにならなくなるかもしれないです。

エンジニア不足


現状、スキルや経験をもったエンジニアの供給が不足しているので求人はたくさんあります。
知名度の低い会社だと未経験者も採用しなければならない状況になっています。今後もIT産業は他の産業と比べると必要な人員は増え続けると予測されるのでこの状況はどんどん深刻になって行くと思われます。また若手でプログラマーになる人が増えたとしても少子高齢化のため今の需要を超えるほどの供給量にならないと考えられます。もしかしたらノーコード、ローコードがこれから大きな進化を遂げて多少需要は減る可能性は0ではないですが、すでに動いているシステムを保守し続けるにはコーディングができる人材が必要で需要のほうが多い状況は今後も変わらないと思われます。

まとめ

  • 35歳限界説は能力面でみるとあまり関係ない。
  • キャリアアップすることを考えるとプログラマーの待遇面での頭打ちが来る
  • 年収を上げたければマネジメントへの転身が一般的。
  • プログラミングスキルでけで食べていくためには何か戦略が必要
  • 人手不足が進んでいるので待遇が改善される可能性もある。

コメント

タイトルとURLをコピーしました