4月中に4月っぽいエントリを書こうと思っていたのですが、
5月に入ってしまいましたが、やっぱり書きます。

自分が新入社員だった頃に言われていたSE35歳定年説と、
今振り返って、SE35歳定年説についてどう考えるかを書こうと思います。

そもそも「SE35歳定年説」というのは、
IT業界では新しい技術があふれているということもあり、
歳をとると、若い人と比較して新技術へのキャッチアップが難しくなるので、
35歳くらいまでにはSEは卒業して、
管理の仕事をするようにしないとダメだよ
というような話だと思います(ざっくり言うと)。

自分が新入社員だった頃、こういうことがよく言われていて、
上流工程(業務の理解)とか、管理が出来るよう勉強してきたつもりですが、
既に35歳は過ぎている今になって振り返ると、
わざわざ上流工程や管理にシフトしなくても、
歳とってもSE(とか、プログラマー)続けることは出来ると思います。

特に、新技術へのキャッチアップについては、
経験が多いほど新技術にキャッチアップするのは簡単になって来たと感じています。
新技術と言っても、全く新しい技術というのはほぼ無くて、
既にある技術のプラスαで身につけることができます。
プログラミング言語などは1つ書けるようになれば、
他の言語の習得は、知っている言語との違いだけ学べばいいわけですから。

これを逆説的に言うと、
「今使っている技術を理解していないと、新技術を学ぶ時にベースに出来ない」
という事にもなると思います。

実際に、自分自身の経験から考えると、
C言語でポインタを使ったプログラミングをしていたおかげで、
Javaのオブジェクトハンドル、ガベージコレクタなどの概念は容易に理解する事が出来たと思います。
JUnitなどで単体テストを書いた経験があれば、
関数型プログラミングで言われる副作用の無い関数のメリットもわかりやすいと思います。

そんなことを考えている今、
もっときちんと勉強しておけば良かったと後悔している
「ベースになる技術」のナンバー1は「数学」です。
大学の教養課程くらいのレベルしっかり出来ていれば、
キャッチアップ出来るとは思うのですが、かなり忘れてしまっているのが悩ましいです。
まわりのエンジニアと話していても、
「なんだかんだでやっぱり数学は要るよね」という話題が上がることがあります。

若手のエンジニアや、IT業界に入ろうと考えている学生さんは、
最新の技術を追いかける刺激を楽しみながら学ぶのとあわせて、
数学もバランスよく学んでおくと、
ずっと現役エンジニアとして活躍し続ける武器を得られるのでは無いかなと考えています。

# このエントリ自体が、
# 自分自身に向けた、数学勉強しようと言うメッセージでもありますが。