35歳の誕生日を迎えて「プログラマー35歳定年説」とは何なのかを改めて考える

本日9月29日は、僕の誕生日。
35歳になって、ちょっと前に「30歳になってオレもおっさんになったなぁ」なんて言ってたと思ったら、もう30代も折り返し地点で、四捨五入で40ですわ。

20代の10年より、30代の10年はあっという間。40代なんてもっと早いという話はよく聞くが、特に昨年1人目の子供が生まれてからはそれを実感する。本当に、何もしていなくても時間だけは過ぎていくような感覚なのだ。

しかし、この35歳という年齢は色々考えさせられる年齢だ。僕の仕事であるシステムエンジニアの世界では、「プログラマー35歳定年説」なんて言葉がある。

まさに今年その歳を迎えることになったわけだが、ちょっと思うところを書いてみる。

「プログラマー35歳定年説」に込められた意味

僕はシステムエンジニアという仕事を、社会人になってから10年弱ずっとやっているわけだが、「プログラマー35歳定年説」という言葉はかなり早い時期から耳にした。
この言葉には以下のような意味が込められているように当時僕は感じたように、薄っすら覚えている。

  • いつまでもプログラムを書くだけで仕事を続けていくことはできない
  • 35歳くらいまでにはプログラム(PG)だけでなく、設計はもちろん、マネージャー的な仕事もできるようにならないといけない
  • すなわち、プログラムを書くだけじゃ会社が儲からないので、守備範囲を広げないと生き残れない

この考え方の根底には、システム業界、その中でも特にSIer(企業向けのオリジナル業務アプリケーションを開発するエンジニア)と呼ばれる世界では総じてプログラマーの地位が低く単価が安いことがあると思う。

要するに、「完璧な設計書」があれば、プログラマーはそれに従ってプログラムを組むだけ(=ある程度の知識があれば誰でもできる)と考えられているのだ。

当時の僕はそこまで考えていなかったが、ある程度経験を積む中で、そういう雰囲気は感じたし、それは現在でも大きくは変わっていないと思う。

20代の頃見た30代の先輩に対するイメージ

で、新人時代を終えてある程度仕事もこなれて来た20代後半になって、確かに30代くらいを境に2種類の人に分かれてくる事に気付く。多分、これはシステム業界に限った話ではないし、ちょっと強引な分け方だが、

  • 自分の役割やスキルを理解し、自己啓発をしたり仕事の守備範囲を広げていく人
  • 言われた事、書かれていることは忠実にやるが、それ以上の事をやろうとしない人

こんな感じだろうか。
例えば、SIerの世界でいえば、多くの場合「設計→実装(プログラミング)→テスト」という流れで仕事が進むので、設計の重要性は高い。

ただ、いくらレビューとかをしても「完璧な設計書」なんてものはできない。システムはコンピューターが動かすが、それを作ったり使う人は人間だからだ。開発手法がウォーターフォールだろうがアジャイルだろうが、自分の担当となった地点で、これはシステムとして本当に正しいのか、間違っているなら修正するという意識は当たり前だが常に必要。

ところが、問題が発生した時、「確かにおかしいという認識はあったが、設計書に書いてある通りに実装したんだから、私は悪くない」なんて言う人は結構いる。そういう人が100%悪いとは言わない。問題を指摘してもそれを理解してもらえない、そもそもそういう事を報告するルートも無い、って事もあるからだ。

それでも、問題がある時、どうするかって辺りに分かれ目がある感じがする。言うなれば「プロ意識」とでも言うのだろうか。

35歳になった自分を振り返って

30歳になった時、僕はうつ病にかかり、休職したりしてどん底だった。正直、5年後の事なんて考えられなかったし、はっきり言えば「この業界で働くのはもう無理だろう」と思っていた。

が、結果的には今も続いているし、多分プログラマーとしてもまだ続けられると思っている。また、今の会社・組織は気に入っているので、辞めようという気も今はない。その理由は大きく分けると3点ある。

【1】この業界で自分がやりたい事がある程度見えてきた

広い意味でコンピューターやシステムに関わる仕事は多岐に渡る。システム開発やプログラミングもその1つに過ぎないわけだが、自分のやりたい事がある程度見えてきた。

それは、コンピューターやシステムを通じて、僕の目に見える人々の仕事や生活をもっと豊かにしたいということだ。
そう考えた時に、1つ悟ったことがある。

僕はプロフェッショナルなプログラマーにはなれない

って事だ。この仕事を10年以上やっているので、プログラミングはそれなりにできる。プログラムを組むこと自体も好きだし、それを勉強するのも好きだ。だが、世の中にはすごいプログラマーっているもので、どこまでもストイックにプログラムにこだわれるかと問われたら、僕には無理だし、そういう人が組んだプログラムっていうのは本当にすごい。

「技術者魂」みたいなものは常に持っていたいと思うし、その努力を辞める気はないが、必ずしも「作る」事を皆が望んでいるわけじゃない。今ある端末やサービスを組み合わせたら、その人が求める事は実現できるかもしれない。そういう幅広い視野を僕は身につけたい。

【2】いい上司に出会えたこと

これはたまたまとしか言いようがないが、今の部署に来てからずっとお世話になっている上司は僕にとって理想的で、この人に必要とされるなら頑張ろうと思っている。

理想の上司像なんて人それぞれだろうが、この業界の上司(いわゆるリーダーやマネージャー)というのは、かつては優秀なプログラマーだったのかもしれないが、今や現場から離れて技術情報にすっかり疎くなっているって人が結構多い。

Excelと睨めっこして、顧客とかと打合せ・電話・メールばっかりしているような人がよくある姿だが、確かに立場上そういう事は多いものの、担当している仕事の進捗状況はもちろんシステムの仕様や技術面など、細かい部分も見ていて、現場との距離感を作らない。

味方だと思っていたリーダーが、例えば進捗遅れを顧客に追及されて、「何で遅れるんだ!」みたいに、現場の感覚では敵に変わってしまうような事ってないだろうか。顧客に怒られたりしたら精神的には相当辛いと思うのに、チームを守るっていうのは何気に凄い事だと僕は思うのだ。

多分マネージメントの本を読んだりセミナーなんか行けば、良くない事例として紹介されるような話かもしれないが、将来マネージメントとかをする機会があったとして、僕はこういう姿を目指そうと強く思っている。

【3】プログラミングはグローバルで通用するスキルだと思った

20世紀は規格大量生産によるモノ作り(ハードウェア)の時代と言われる。
逆に21世紀というか、特にスマートフォンが登場してからは間違いなく、ハードではなくソフトウェアの時代になったと思う。

プログラミング言語っていうのは特に業務アプリケーション向けでは流行りが結構あって、僕が社会人になったころはVisual Basic6.0が全盛だったし、その後は主にJavaのWEBアプリケーションが流行った。

さらに今はスマートフォンアプリとかが流行っているが、プログラミングスキルというのはある程度のベースがあればその後の技術習得は比較的楽だ。

極端に言えば、if文なんてものは、CでもJavaでもPHPでもある。基本的な構文はどの言語も大きくは変わらないため、言語特有の機能を使いこなせば便利だがそれを知らなくてもある程度なんとかなるし、逆にいえば新言語を勉強する時もそこを中心に調べれば一定のレベルまでは割と簡単に到達できる。

そしてこのスキルはグローバル単位で見ても変わらない。
マネージメント手法なんて組織によって変わる事が多いし、業務知識はその業務から離れたら役に立たなくなる。が、プログラミングスキルは残る。

今は絶対大丈夫と思っていた大企業でも潰れる時代だ。
会社員としてこの仕事をすると、業務内容によってある程度スキルが偏ってしまう面はあるものの、この人は凄い!と思える人が身近にいて、仕事をしながらプログラミングスキルも磨けるなんて環境は、なかなかないと僕は思う。

終わりに

「プログラマー35歳定年説」という言葉を初めて聞いた時、なんて恐ろしい業界に就職してしまったのかと思った。実際、今でいうブラック企業にも勤めたし、そういう会社も多くみたし、長時間残業などきれい事じゃ済まない事が多いのは事実だ。

ただ、この言葉はどこの業界でもある社会人として、一つ上のステージに上がるためのきっかけに過ぎないじゃないかと今は思う。

プログラミングスキルをさらに極めたいというのも一つの道だ。ただ、技術を習得するだけじゃなくて、それをどう生かすのかはこの歳になれば自分で考えなければならない。プログラムは諦めてマネージャーの道を歩むというのもいいと思うし、僕みたいに中間的なアプローチを取る人もいるだろう。

そういう事を考えたり、自分の中である程度目指すものが見えて来るのが35歳という年齢って人が多いのだと思う。これを実現できるか、絵にかいた餅になるのか、はたまた変わってしまうのか、それはわからないが、今の夢をベースにとりあえず次の節目である40歳まで頑張って行こうと思う。

SPONSORED LINK

SPONSORED LINK