プログラマーとしての十余年を振り返る。経験年数と35歳限界説。
プログラマーとして仕事を始めて十余年の歳月が過ぎました。
ここらで少し立ち止まって、過去を振り返り、これからどうしていくかという事を考え、それをアウトプットする時間を少しずつ作っていってみようと思います。
これはその記事の1つ目です。
プログラマーの経験年数と実力の関係
「プログラマー暦十年」と聞くと、とても長く思えます。
プログラマーとしてはベテランと言っても良いかもしれません。
しかし、プログラマーの実力というのは経験年数とはあまり関係が無いともいわれています。
「コードコンプリート」という本では、プログラマーの経験年数が2年を超えると年数による実力の差はほぼ無くなるといった事が書いてあったりもします。
私自身、それを実感しています。
若い人の方が最新の技術に詳しい事も多いですし、頭の回転も速いし、物事を覚えるのも早いでしょう。
ITの世界は変化が非常に激しいものです。
新しい技術はどんどん出てきて、それがすぐに古くなります。
長く使われる技術もありますが、それらも全く変化が無いわけではなく、新たな機能が追加されたりとどんどん変化していきます。
Javaというプログラミング言語は20年使われていますが、時代のトレンドを取り入れながら、バージョン9まで公開されています。(2017年時点)
プログラミング言語自体も新しい物がどんどん登場し、あまり流行らない物もありますが、Rubyのようにいっきに人気の言語になったものもあります。
変化の激しい業界の中で、プログラマーとして活躍し続ける為には「昔取ったキネ塚」に頼ってばかりではいられません。
常に新しい知識や技術を吸収し続ける必要があります。
プログラマー35歳限界説
プログラマーには、かの有名な「35歳限界説」というものがあります。
若い頃は、モノづくりが好きであったり、プログラミングが好きという理由でITエンジニアを目指す人も多いと思います。
そして、さしたる疑問も抱かず、なんとなくプログラマーというものをずっと続けられるものだと思う人もまた、多いのではないかと思います。
私もそんな一人でした。
しかし年齢を重ねるごとに、2つの主な理由により「35歳限界説」がこれだけ有名になった理由を思い知っていく事になります。
1つ目の理由は、日本社会における「周囲の目」が影響しています。
簡単に言うと、30代半ばになると管理職やプロジェクトマネジメントの役割が周囲から期待されるようになるという事です。
ITエンジニアにおける「キャリアアップ」とは、プログラマーから管理職へジョブチェンジする事と同義に語られる場合がとても多いです。
私自身、20代後半から30代前半にかけてはプログラムをガリガリ書いているだけでほとんど文句も言われずに評価されていたのが、ある年から突然マネジメントを期待されるように、非常に戸惑いました。
自分としてはまだまだ現場でコード書くぞと思っていても、周囲からの期待とズレていると仕事もやりずらいというもの。
この期待に応えようとする者は、やがて「プログラマーだった者」へと変わっていってしまうのです。
2つ目の理由は、単純に時代の流れについていけなくなるパターン。
前述したように、IT業界というのは変化がとても激しいです。
プログラミング言語だけでなく、開発の手法や用いるツールもどんどん新しい物が出てきます。
若い人が自由自在にツールを使いこなすなかで、それについていけない人も多いです。
このため、派遣のエンジニアなども年齢を重ねるにつれて受け入れてもらえる現場が限られるようになり、仕事が減ってしまうという事もあるようです。
最新の技術を用いた開発などは若い人に任せ、長年の社会人経験を活かせる仕事、すなわちプロジェクト管理やディレクション、コンサルティングなどで活躍していく人も多いです。
世の中ではプログラマーから管理業務へ移っていく事を「キャリアアップ」と呼び、給料も上がったりします。
それに対して、私としては「ちょっと違うんじゃないかなぁ…」と思ったりします。
本当はプログラミングが好きで、35歳を超えようとも、ずっとやっていたいという人も多いはず。
それが出来なくなる事がキャリアアップと呼べるのか?という点で疑問を感じます。
歳を重ねてもやりたい事が続けられる世の中になるにはどうしたら良いか。これからも少し考えていきたいと思っています。
今回は以上です。
今後は「良いプログラマーとは何か」「なぜプログラミングは楽しいのか」「プロフェッショナルとは何か」という所について考えていこうと思います。
「35歳限界説」についても、引き続き考えていきたいです。