3度に渡り、これからIT業界を目指す大学生対象に、業界の中身をざっくりと書いてみました。
コの業界を目指す大学生へ(前編)
コの業界を目指す大学生へ(後編)
コの業界を目指す大学生へ(おまけ)
しかしながら、書いた当人は引退までをカウントダウンする50代になっています。プログラマの定年は35歳だとすれば、20年近く定年を延長していることになります。今思うと35歳定年説って当てはまることもあるかも知れないと思う今日このごろです。
35歳で引退させられるプログラマ
人材不足の業界ですから、戦力外となってクビになることはまずありません。しかし、そのぐらいの年齢で先が見えてしまう人も少なからずいます。そして、そういう人は本当に戦力外としたいくらい使い物にならなかったりもします。プログラミングを社会人になって初めて習ったとして、実務で取り組み始めて35歳になるとだいたい10年前後のキャリアということになります。10年もやっているとおそらく、初めて習った言語以外に数個の言語をマスターしているはずです。特に現代は新しい言語が次々生まれます。ですから、PHPだけ、Javaだけということではできる業務の幅が広がりません。
COBOL一筋20年
筆者が入社した頃は、C言語、C++言語が主流で業務もほぼ99%がこの2つでした。たまにVisual Basicが来るくらいでした。新入社員の私も当然のようにC/C++チームに入れられました。もちろんそれ以外にもCOBOL、FORTRAN、アセンブラなどもそれなりの仕事があり、プログラマも多かったです。ただ筆者はC/C++にあてがわれたということです。時代は1995年で、インターネットが一般に普及し始めたときです。次第にPerl、Java、Javascriptなどが出てきました。私は若かったこともあり、それらにもすぐに飛びつきました。今後仕事になるかならないかはまだわからなかったにもかかわらず。しかし・・・
COBOLプログラマの中には、COBOL以外やらない、やりたくないという人が少なからずいたようです。COBOLの腕は高かったのかも知れませんが、プログラミング言語にも流行り廃りがあります。筆者が今でもC/C++以外は触りたくないと言っていたら、おそらく意に沿わない案件ばかりでとっくに引退していたかも知れないでしょうね。
当時はCGIを動かすのにはPerlかC言語というのが一般的でした。そしてかなり仕事も多かった記憶があります。そこにCOBOLプログラマが応募してきたことがありました。COBOLに関しては20年のキャリアがあり自信はあるとのことです。しかし・・・
CGIをCOBOLで書きたい
といって譲ってくれません。プログラミング言語には流行り廃りの他に得意不得意もあります。COBOLがCGIに向いた言語であるという話は聞いたことありませんでした。もしそうなら実例もあったはず。もしかしたら実現できるのかも知れませんが、それよりもPerlかC言語を覚えてもらったほうが絶対いいです。結局その人はプロジェクトからすぐに外されましたが、使える言語が一つだけというのは非常にリスキーです。
言語の横展開
プログラミング言語は外国語と違って、一つマスターすると2個めをマスターするまでのハードルがものすごく下がります。時間もエネルギーも少なくてすみます。しかし、それでも20代、30代の頃と比べて50代になるとどうしても集中力と体力が落ちてきてしんどくなってきます。もしかしたらCOBOLのベテランさんもそれが苦痛だったのかもしれません。しかし、新技術の取得が苦痛になると思ったときが引退のときであると思います。筆者もそれはそう遠くないと思っています。ですから、若いときには好き嫌いを言わずに色々と取り組むことは大いにおすすめしています。もっともそれについては心配はいらなさそうですが。
逆に、いくつか武器となる言語をマスターしたならば、潔く捨てるものも必要だと思っています。
筆者で言えば、人工知能(Python)、スマホ(kotlin/swift)、ゲーム(Blueprint、C#)は仕事ではやらないと決めました。BlueprintはQiitaで記事を書いたりはしていますが、趣味のレベルで深くは突っ込まないということです。
これらに将来性がないわけではなく、むしろ一番有望なものですが、今から取り組んでも最先端で戦うエネルギーがないので若い人の邪魔になってしまうと考えるからです。そのかわり自分が持っている武器は最大限に使おうと。
業務の縦展開
もう一つはこの歳になると、開発で手を動かすよりもPL、PMでの仕事を求められる事が増えるというのがあります。私はエンジニアでもありますが、経営者でもあります。やはり40~50代の人に求めるのはリーダーの業務になります。ベテランエンジニアでもリーダー業務が苦手でいつまでも開発でプログラムを書いていたいという人もいるかもしれません。エンジニアの視点から見ればそれもわかります。もしかしたら若い人より開発スピード、バグの少なさなど品質面で上かもしれません。しかし、それは実際に書いてもらわないとわからない事が多いです。それならばやはり若い人に仕事は回ります。今はプログラムを書いていたとしても、いずれはリーダー業務をやるつもりでいることが50代でもこの業界にいられることに繋がるかと思います。もし、ずっと独身で自分のためだけに仕事をすることができるなら、収入の多寡はそんなに問題にならないかもしれません。しかし、結婚して家族が増えると収入については無視することはできません。そういう意味でもリーダー業務は無視することはできないと考えます。
私がこれだけ長くこの業界にいられたのは、決して人並み外れたプログラミングスキルがあったわけではなく(人並み以上ではありましたが)、年齢に応じて適応してきたことに尽きると考えています。
若い人にはまだ実感はわかないことと思いますが、40代が近づいてきたらちょっと考えてみてください。