今年の目標。あとプログラマ35才定年説について。

おおまかな今年の目標は、「ちゃんと働く」で「月160時間働く」とか言ってたら、それは無理と満場一致で言われたので、「月120時間働く」にしてる。
で、それはいいとして、勉強的な目標。去年は、自分ができないということがわかったので、今年はできることを増やす勉強をしていかないといけないと思う。


そこで実感してくるのが「プログラマ35歳定年説」という言葉。
もうプログラマとしては定年といわれる歳になるのだけど、今まではそんなんウソやろと思ってたら、その歳が近づくにつれて「プログラマ35歳定年説」という言葉が真実味を増してきた。
もちろん、プログラムが組めなくなるとか、時代についていけなくなるということじゃない。
まあ、新しい流行りものに食いつくということをしなくなって、RubyとかJavaScriptとかようわからん状態だったりするので、そういう意味では時代についていかなくはなってきた。けど、ようわからんなりには書けるし、必要になったらちゃんとやればいいと思ってる。


プログラマ35歳定年説」というのは、35歳で何かが訪れて定年っていう話ではないと思う。そうではなくて、35歳くらいになったときに40代プログラマとしてやっていけるかどうか、判断しないといけないということだ。
20代と40代でプログラマとして求められるものが違う。20代とか30歳そこそこくらいなら、流行ものをさっと使えて、それなりにコードが書ければいいと思う。それで「なかなかやるな」と言われる。
けど、40代になったとき「若いのにやるな」とか言ってはもらえない。むしろできて当たり前だと思われる。40代とか50代でプログラマとしてやっていこうとすると、しっかりしたものを作れることが大切になる。なんなら流行を作れるくらい。
そういったプログラマとして必要なことが見えてきて限界を感じてプログラマをあきらめるとして、別の役割に移行するのに40歳になってからではちょっと遅いので、35歳で先を決めろというのが「35歳定年説」ではないかと。


あと、もうひとつ「35歳定年説」の理由がある。
プログラマを35歳くらいまでずっとやってると、だいたい一巡する。なにか具体的には定義しないけど、とにかくなにかが一巡する。ユーザーインタフェースの勃興だったり、データベースアクセス方式の流行だったり、言語の切り替えだったり、いろいろ一度体験した感じになる。
そうすると、「新しいもの」が出てきても、なんかそそらない。なんとなくできるし、粛々と日々の開発をこなしていける。でもなんか面白くない。
要するに「飽きる」のだ。
そして35歳くらいになったとき、プログラムってのはこんなもんかと見切りをつけて、経営者だったりプロジェクトマネージャーだったり、職がえをする。
仕事としてのプログラムを楽しいと思い続けられるかどうかの境目が、35歳くらいであらわれるんじゃないだろうか。
関係ないけど、ひととおりできちゃうからプログラムもう飽きたなーと思ったらGoogleの面接を受けてみるといいと思う。Googleの面接は楽しいし刺激になる。アルゴリズムデザイン一冊読んでおけばいいとこまでいけるんじゃないだろうか。


で、まあ幸か不幸かいまでも仕事としてのプログラムは楽しいと思っているので、ぼくは40歳になっても50歳になってもプログラマとして食っていこうと決めた。
けど、40歳や50歳でプログラマとしてやっていくには、ちょっと能力が足りないんじゃないかと思ってる。
そこでなにか勉強しないといけないと思って、去年は、機械学習とかいろいろやった。でも、結局こういうのはプログラマとしては浮ついたもので、教養としてできればいいけど本質的なものではない。ちゃんとやってる人には追いつけないということがわかるだけだった。


ということで、今年の勉強のテーマは、「プログラマとしての基礎をちゃんとやる」ということにした。
プログラムの要素というのは、言語*1・プロセス・ストレージ・ネットワークであるといえる。
この中で、ストレージ、ようするにデータベースに弱いので、今年はRDBMSを勉強することにした。RDBMSを中心として、トランザクションとか排他制御、最適化とかを勉強しようと思う。
本の読み方も変える。去年までは何をしていいかわからなかったので、とにかくいろいろ本を買って、パラパラめくって次の本に行ってた。けど、今年は方向性を決めて、しっかりした本をしっかりと読む。
ということで、この本を注文した。がんばって読む。

Database Management Systems

Database Management Systems


あと、これ本屋にあったら買ってくる。

トランザクション処理 上

トランザクション処理 上

*1:2009/2/14追記:言語じゃなくてUIのほうがいいな