「プログラマ35歳定年説」は何処へ? | 気分良く前向きに生きよう & テクニカルを楽しむ

気分良く前向きに生きよう & テクニカルを楽しむ

日常感じた心の世界に通じることや脳の働きに関することを書きながら、PCや携帯やプログラミングなどの技術的なことなども書いていこうと思います。

20年以上前になると思いますが、「プログラマ35歳定年説」と呼ばれるものがありました。

当時の根拠は、第一にプログラマは体力勝負の仕事であり、納期に間に合わせるために徹夜を繰り返すことが多いため、若くないと続かない、ということだったと思います。

確かに当時は、残業月200時間以上するような人も普通にいました。残業代が、本来の給料をはるかに上回るという状況も珍しくありませんでした。

また当時のプログラマに求められる作業は、よくも悪くも人海戦術にものを言わせる類の作業だったと思います。高度なアルゴリズムを駆使することもなく、ただひたすら「求められるアプトプットを仕様通りに生成するサブルーチンを作る」というもので、自分の作ったものが一体どのように使用されるのかさえも良くわからないまま、ただひたすら作り続けるという状況だったと思います。
そのため、目に見えるゴールがないということで精神的にも苦しくなってしまうプログラマも少なくなく、そういった意味でもあまり長くその仕事を続けることはできないと考えられていたように思います。


また、この説のもう一つの根拠として、常に勉強して成長し続けなければならない、というものもあったと思います。
ソフトウェア技術の進歩があまりにも目覚ましく、それについていくために常に新しい技術を習得し、仕事の変化についていかなくてはならないため、学習意欲も吸収力も高い世代でなくてはついていけない、ということだったと思います。

確かにその頃は、当初は主に大型汎用機で動作するCOBOL言語で書かれたプログラムを書けるというだけで十分に通用していたのですが、そのうちワークステーションが台頭し、UNIXとC言語の技術を求める会社が増えて、それまでの大型汎用機とは全く違った技術が必要になりました。さらにそうこうしているうちにPCが実務で使えることが世の中で認められるようになり、Windowsのプログラミング技術を覚えなくてはならなくなり・・といったように、次々と新しい技術が登場して、それを習得するためにかなりの時間と集中力が必要だったと思います。


いずれにしても、当時はこの「プログラマ35歳定年説」を真剣に受け止めていました。十分に説得力があったからです。
もっとも、自分の場合はそのころはまだ社会人になったばかりで いわゆる人生設計が明確にできていたわけでもなく、最終的には「まあ何とかなるだろう」くらいにしか思っていませんでしたが。。
それでも35歳を過ぎてプログラマとして働き続けていることはないだろうとは思っていました。


しかし今、周囲を見ればプログラマもしくはソフトウェア開発者として活躍している人たちは、どちらかというと30代後半から40代以上の人の方が多いような気がしています。もちろん若い優秀なプログラマもたくさんいると思いますが。

特にうちの会社の場合は、35歳未満で開発者という人は少ないと思います。
あまり若い人が(もしくは経験の浅い人が)開発者になりたいと言うと、周囲からは「まだ無理だ」とか「別の部署で経験を積むべきだ」と言われると思います。
したがってうちの会社の場合は「35歳定年説」どころか「35歳デビュー説」の方が強いと言えると思います。


そのようにプログラマ・開発者の適齢が変化した背景には、プログラマの仕事そのものがこの20年余りで変化したからではないかと思います。

以前のように、人海戦術的に作業をするような、大量のプログラマが必要な時代ではなくなったと思います。
ちょっとした処理であれば、それに相当するライブラリが必ずどこかに存在する時代ですから、機械的に単純なサブルーチンを作る技術よりもむしろ、その必要な処理もしくは類似の処理を含んでいるライブラリを見つける能力と、それをうまく自分たちのアプリケーションに組み込む(引数などを調整したりバリデーションを追加したりして整合を取る)ような技術が必要な時代だと思います。

また、ソフトウェアの開発環境も20年前とは全く比較にならないほど進化したため、それを本当に使いこなせる技術がある人が一人いれば、20年前には数十人で人海戦術的に作成していたようなものもすぐに作れてしまう状況になったと思います。

ただ、そういったことをこなすことができる「今の時代の本格的な開発者」になるためには、極めて深い部分まで熟知している必要があるかと思います。たとえば、PC用のアプリケーションを作るうえで、(ものにもよりますが、)今の時代にアセンブリ言語を使ってコーディングすることはまずないと思いますが、アセンブラレベルでの動作原理については熟知していることでパフォーマンスを上げたりバグを防いだりすることができると思います。


結局、プログラマ・開発者に求められる技術および、実際の仕事内容がこの20年余りで大幅に変化したために、その対象年齢や経験なども大幅に変化したのだと思います。

それでもはやり、今も昔も変わらず、自分の中ではプログラマ・開発者こそが最高の職業だと思っています。