死ぬまでプログラマ – プログラマ35歳定年説に対する雑感

12月 14, 2017

やりたければ死ぬまでプログラマはどうやら可能なようです

私はもうすぐ36歳になります

プログラミングに初めて出会ったのは大学1年生の18歳の時なので、人生の半分はプログラミングをしていることになります。

引退を決めたスポーツ選手がよく口にするような、過去にできたことが今はできなくなったということは今のところないので、プログラマとしてはまだ働けると思います。

昔に比べれば『がむしゃらさ』はなくなりましたが、逆にその分スマートになった気がします。

20代のころに比べて、バグが出そうなところはあらかじめ予測して潰せますし、デバッグもスムーズです。

前職のスタートアップのCTOは、コンピュータグラフィックス業界の重鎮で、wikipediaによると来年60歳のようですが、今でも老眼鏡を付けたり外したりしながら精力的に日々新しいプログラムを書いています。

元気なプログラマにとっては、エンジニアとしての衰えよりも老眼の方が先に来るようです。

 

新しい技術についていくのは大変という話

新しいプログラミング言語は頻繁に生み出されますが、言語は所詮言語です。

どのようなプログラミング言語も、アルゴリズムとデータ構造を実装するための道具で、基本的なアルゴリズムとデータ構造は30年前ほどには既に確立しており、応用的なものも究極にはそれらの組み合わせなので、プログラマとして基礎となる知識は不変です。

どのような言語を用いようとも、書く対象が同じものである以上、それを扱う言語が極端に違うということはありません。

自然言語で比較していえば、英語と日本語ほどの違いはなく、せいぜい方言程度の差しかないので、一つの言語が書ければ他のものも数日あれば最低限使いこなせます

私が真面目に勉強したプログラミング言語はC++だけですが、Pythonスクリプトも書きますし、JavascriptやPHPを用いたウェブアプリ開発、iOSアプリの開発も仕事としてやります。

C++以外はその仕事が終わると忘れてしまいますが、また同様の仕事があるとやっているうちに思い出してくるので、特に不便を感じたことはありません。

ユーザーインターフェースの構築の仕方に関しても、ウェブアプリとiOSアプリ間では名称こそ違うもののベースとなるアイデアは同じなので、片方で仕組みを理解すればもう一方でも使えます。

また近年の機械学習分野のように新しい理論も日々生み出されますが、問題設定さえ理解できれば、工学的な解決方法にそれほど多くのパターンがあるわけでもないので、(近年はオープンソースのライブラリが非常に充実していることもあり)少なくとも使うだけだったら難しくありません。(もちろんそこから新しい理論を構築したいならば、ある程度時間をかけて知識を固める必要があります。)

恩師の一人である某東大教授は、現在は40代半ばですが、「学生にやらせるよりも自分がやった方が圧倒的に早い」と言いながら、いまでも自分でプログラムを書いて企業にソフトウェアを納入して稼いでいるようです。

向いてないのにかかわらずプログラマになってしまった人が、35歳くらいで新しいことに触れるのが嫌になり脱落していくのでは、という考えを彼は述べていました。

 

一エンジニアであること以上を求めるようになる可能性

個人で開発するよりもチームで開発することのメリットとして、一人では難しいとても大きなシステムを作ることができるということが挙げられます。

私はコミュ障なので、学生の頃はチームで働くことを苦手としていたのですが、就職しチームで大きなものをみんなで力を合わせて作り上げた経験を経て、一人で出来ることの限界を感じました。

一人が一日で書けるプログラムの行数が限られている以上、一定以上の大きさのものを作るためにはチームが必要です。

そうなると今度は自分が作りたいものを、チームを構築することで、彼らに作ってもらいたいと思うようになりました。

企業に所属している限り、これを実現するためには昇進するしかありません。

しかし昇進するためには政治的に優れていなければ難しいですし、仮に政治的に生き残ったとしても、そこにたどり着くためにはとても時間がかかります。

そこでとりあえず私は既存の会社組織から離れてみて、自分で自分のプロジェクトを始めてみることにしたのがここ半年くらいの話です。

↑記事をシェアしてください!読んでいただきありがとうございました。


次の記事:

前の記事:


私のプロフィールはこちら

Twitterもぜひフォローしてください


ご質問、ご意見、ご感想等はこちらから!