35歳定年説の嘘と真実:プログラマーのキャリアを見直す

35歳定年説の一般的な理由

体力的な問題

年齢が進むと一般的には体力が衰えていく傾向があります。若い時期には業務後に深夜まで勉強することも可能でしたが、年を重ねるとともに体力的な問題だけでなく家庭や他の責任が増え、学習に割ける時間が減少していくことが予想されます。

また、長時間労働が求められる職場では、体力の低下により集中力が低下することがあります。プログラミングの作業には高い集中力が必要ですので、体力の低下が致命的な影響を与えることもあります。

ただし、これは一般的な傾向であり、常に運動や筋トレを行っている人は体力が維持されることもあります。エンジニアの仕事は体を動かすことが少ないため、定期的な運動が重要です。私自身も20代前半には運動をせずに体重が増加し、後半になってから急いで運動を始めました。

大沢
大沢

筋トレ好きなエンジニアが多いのはこれが理由かもしれないですね。

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

チームマネジメントの責任を任されると、会議への参加や資料作成、部下の指導など、プログラミング以外の業務が増える傾向があります。その結果、若い頃に比べてプログラミングに費やす時間が減少し、新しいスキルの習熟度が低下する可能性があります。

特に日本の企業では、20代後半から30代にかけてマネジメント職に就くことが一般的であり、そのためにスキルアップが難しくなることがあります。

残業も増えてきて学習に当てる時間も少なくなったので結構辛かったです。これに関しては中々上手い解決法はなく無駄な会議の場合は話を聞いているふりをしながら情報収集をするぐらいしかないです笑。

また、資料作成能力の向上やプロジェクト管理ツールの効果的な活用など、細かい工夫によって時間を作ることが重要です。これにより、報告業務の負担を軽減し、開発に専念する時間を確保できるかもしれません。

大沢
大沢

プレイヤーかマネージャーか…

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

自分よりも年上の人に指摘するのは難しいですよね。逆の立場で考えると歳をとると周りから指摘してもらったり教えてもらえる機会が減ってきます。すると学びの機会が減ってくるためスキルの上達が遅くなります。

一番良いのは言ってもらいやすいように人当たりを良くしたりすることかもしれないです。私の場合は残念ながらこれに苦労しています。そこで意識しているのが若い人をよく観察して何か面白い知見はないかと見て学ぶことです。最近だとChatGPTをどう使っているのか気になるのでペアプログラミングをして教えつつも自分もまた学んでいます。

どんなに人当たりを良くしていてもやはり気は遣われてしまうのでその前提でよく観察して見て技を盗む姿勢が重要です。

大沢
大沢

ペアプログラミングはおすすめです。

思い込みの影響

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

大沢
大沢

歳を言い訳にしないように心がけていれば問題ないでしょう。

実際はどうか?

ここまでは、私の一意見になっていて、実のところ私も35歳は迎えていないです。そこで、実際のデータや私の身の回りの人の状況について紹介します。

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をコピーしました