定年とはそもそも何? プログラマーの観点から再定義する
そもそも、「プログラマーにとっての定年・リタイア」とはなにかを考えてみたいと思います。
言葉としての“定年”を辞書的に説明すると“定年制度を採用している企業において、定年退職となる年齢のこと”を指します。
実は定年制度は日本特有の文化であり、新卒採用一括主義と並んで、日本式年功序列の根幹に関わる人事制度です。
そもそも、日本で年功序列が広がった理由としては「日本は法制度的に簡単に従業員を解雇できない」というのが大きな原因になっています。
複数の外資系企業勤務経験者から、突然、上司から「明日から来なくて良いよ」と告げられ、その場で社員証取り上げられた、という話を聞いたことがありますが、日本の法律では本来それはできません。
ただ、日本の企業は簡単に従業員を解雇できないからと言って、死ぬまで同じ従業員を雇い続けるわけにはいきませんので、一定の年齢になったら、半強制的に解雇する定年制度が採用されている、というわけです。
そのため、日系企業に会社員として雇用されている以上、プログラマーであってもそうでなくても定年は絶対について回るのです。
▼ スキルのあるプログラマーは定年後も働ける
ただし、定年制度で定年を迎えて失うのは会社員という“地位”だけです。
プログラマーとして培ったスキルは定年の年齢になった瞬間、いきなり陳腐化するようなものではありません。
これまで働いていた会社の正社員という立場はなくなっても、プログラマーとして活躍し続けることは可能ですし、むしろ定年退職で会社員としての“しがらみ”がなくなり、フリーランスとして活き活きと活動しているベテランプログラマーもいらっしゃいます。
そういう意味では、プログラマーの定年は「プログラマーという生き方を辞めようと思ったとき」なのではないでしょうか。
プログラマーの35歳定年説 都市伝説なのか?
2000年代のITバブルの頃、“プログラマーの35歳定年説”というのが、様々なところで囁かれていました。
“ITエンジニアは現代の3K”などとも言われ、こうしたIT業界のネガティブなイメージが広がったことで、若者がIT業界を敬遠し、現在のITエンジニア不足に繋がった、と指摘する有識者もいます。
火のない所に煙は立たぬ、という言葉もあるように、35歳定年説が盛んに言われた2000年代にはブラックな職場も少なくなかったようですが、現在はITエンジニアが不足しているということもあり、IT業界全体の待遇・職場環境は改善しているように思います。
有名なところだとSIerのSCSKはもともと、自他共に認めるブラック企業でしたが、経営層が問題意識をもって社内改革を進めた結果、今では有給休暇消化率95%超えの超ホワイト企業として有名です。
もちろん、デスマーチ案件に当たってしまうと、大変な目に合うのは昔も今も変わりませんが、クライアント側のプロジェクトマネジメントに対する意識が変わってきたことで、かつてほどデスマーチ案件自体、減っているように思います。
▼ 30代半ばは、プログラマーとしてのキャリアを見直すとき?
ただし、“30代半ばでキャリアの見直しが起きる”という意味で“プログラマーの35歳定年説”は一定の説得力があるように思います。
普通の企業でサラリーマンとして勤務していると、30代半ばくらいから、管理職になって、現場を離れる人が出てきます。
フリーランスのプログラマーを見ていても、現場のリーダー役になって担当者から一つ上のステップに進んだり、あるいは、周辺領域の知識も得て、システムエンジニア(SE)やコンサルタントなどにキャリアチェンジを果たす人も出てくるでしょう。
そういう意味で、30代半ばで“担当者レベルのプログラマー”、もっと言うと“バリバリ自分で書くプログラマー”を卒業する人は確かに多いです。
ただし、少なくとも私は“体力的な限界によるプログラマーの35歳定年説”をまったく否定することもできないです。
プログラミングは集中力・気力の仕事です。
加齢とともに集中力が長く続かなくなる人もいますし、目の疲労や、長いこと座りっぱなしになることから腰や首を痛めるなどして、一日のうちベストの状態でプログラミングできる時間が減ってくる問題は現実にしてあります。
そういう意味では、プログラマーは30代半ばでこれまでと同じようには働けなくなる、という指摘も真実だと思います。
ただし、すでに見てきた通り、それまでにきちんとキャリアを積んできているプログラマーであれば、その頃には担当者レベルから卒業していることが多いので、大した問題にはならないはずです。
35歳以上の現場プログラマーの役割を調べてみた
30代半ばでキャリアチェンジが起きる、という話をさせていただきましたが、30代以上のプログラマーのキャリアについて、もう少し掘り下げて考えてみたいと思います。
30代を過ぎても現場プログラマーを続けている方に求められているものは“上位者”としての自覚です。
具体的なミッションとしては、“ユニットリーダー”や“技術支援”、“講師”の三つが挙げられます。
▼ 35歳以上の現場プログラマーの役割①:ユニットリーダー
ユニットリーダーというのは案件にアサインされたプログラマーたちのまとめ役です。
単なるプログラミングチームの中核人物として現場のメンバーの精神的な支柱として士気を維持したり、他の言いたいことが言えないプログラマーたちの代弁者として振舞うだけに留まらず、肩書きが与えられて、プロジェクトマネジメント層の一員として案件全体の最適化に貢献するように求められることもあります。
▼ 35歳以上の現場プログラマーの役割②:技術支援
技術支援とは、優れたエンジニア「スペシャリスト」として、現場の技術的課題や疑問に解決策を提供したり、担当者レベルのプログラマーが書いたソースコードをレビューし改善につながるフィードバックを行うことです。
▼ 35歳以上の現場プログラマーの役割③:講師
そして、講師とは、プログラミングスキルを人に教えることです。
私が指摘した講師とは、新人研修やプログラミングスクールで文字通り「講師」としてプログラミングを学びたい人に教えるだけでなく、案件にて、現場メンバーに自身の培ったプログラミングスキルを提供し、チームや案件成果物のレベルを底上げすることも含まれます。
“ユニットリーダー”、“技術支援”、“講師”この三つのミッションは、ときに個別に、ときに関連して発生するものです。
覚えていただきたいのは、いずれのミッションも「単にプログラミングができる」だけでは、なかなか達成が難しいものです。
リーダーシップや相手への共感力、説明力・指導力など、いわゆるヒューマンスキルも重要です。
そういったスキルは年齢と共に育っていくものですが、やや他人とコミュニケーションを取るのが苦手と感じている方は、年齢と共にヒューマンスキルも必要になることを意識するようにしましょう。
また、年齢とともに経験値が増えるからといって、プログラマーとしての進歩を止めて良い訳ではありません。
例えば、新たなフレームワークの登場でトレンドが変わる、ということはよくあることです。
「時代についていけていないお荷物」にならないように、学習する気持ちを忘れないようにしましょう。
時には、若いメンバーに教えを乞うても良いのです。
あなたがチームのメンバーに尊敬されている“ベテランプログラマー”であれば、驚かれることはあっても、邪見にされて、教えてもらえないということはないはずです。
むしろ、喜んで教えてくれるはずです。
まとめ:プログラマーの定年は自分次第
エンジニアの価値は結局のところ、そのエンジニアのもっている技術の価値で決まります。
ITエンジニアの職種の一つである、プログラマーにおいても、この原理原則は変わりません。
年齢とともに期待される役割が変わりますが、プログラマーとして必要なスキル・求められているスキルがあれば、何歳になってもプログラマーとして活躍することは決して不可能ではありません。
繰り返しになりますが、プログラマーの定年は「プログラマーという生き方を辞めよう」と思って、エンジニアとしての進歩を止めたときに訪れるのです。