何でもやるということ

今年はなんだかとても忙しかった。といってもみんな忙しいんだから自分だけ忙しいなんてことはない。年の瀬だからとかじゃないとおもう。あと2時間でこの文章を上梓しなければアドベントカレンダーに遅刻してしまう。楽しみにしている全国一千万人のファンに申し訳がない。

adventar.org


さてわたしはこの職業について15年以上になってしまった。やっている事柄からしてソフトウェアエンジニアを自認していた。最初の一社は下積みといった感じであったが、ソフトウェア開発をしたり、ちょっとした研究会で発表をしたり、かとおもえば開発プロジェクトでペーパーワークをしたり、プロジェクトで使うサーバーやソフトウェアライセンスを買ったりもしていた。ソフトウェアを書いて何かに使うという時間は本当に短かったように思う。
二社目でようやくソフトウェアエンジニアというタイトルがついた。外資になってタイトルがついたと思ったが、小さな会社だったのでProfessional ServiceやPresalesもやったし、いわゆるロードマップを見て機能開発をするソフトウェアエンジニアリングもやった。顧客のシステムで自分たちのソフトウェアが問題を起こしたときはサポートもやった。

現職はもっとよくわからなくなった。1stではないものの国際会議に論文を書いて出したりもしたし、OSS開発もやった。社内システムの運用もやったし、なんなら大規模にサーバーインフラを打つといったこともやった。ベンダーやメーカーと付き合ってハードウェアのロードマップを見ながらいつどのハードをいくら買うか、予算はいくら必要だからと見積もるようなこともやってきた。なんならこれまでのキャリアの大半でソフトウェアエンジニアを自認していたくせにソフトウェアエンジニアリングをしていた期間は思っていたよりも短いとすら思う。

天職の図

不惑を過ぎて自分はこの仕事が好きなんだろうかと自問することは少なくなった。必要だと思ったことは何でもやるつもりだ(もちろん優先度や、自分が得意かどうかをみつつ仕事を選ぶ)。やるつもりだけど、好きかどうかでいったらFactorioやスプラトゥーンしていた方がずっと楽しい。今年は430時間プレイしたらしい。平日夜や土日は基本的に疲れているので論文やエディタを開くことはほとんどなくなってしまった。ちょっとした職業病みたいなもので、「そのプログラム書いたらどれくらい得なの?」とか「その小便利なホームハックしたってうちで運用するの基本的にダルいよね?」みたいな感じになってしまった。

ソフトウェアエンジニアは最新技術にキャッチアップしなければならない、みたいなのはプロフェッショナルならどの職業でもそうだと思うのだけど、これは結構元気が必要。本職で昼間は火がついているのに夜ノホホンとインターネットを眺めていてうっかりプログラミングの話が目に入ってこようものなら、昼間に見かけた負債やToilのことを思い出してゲンナリすることもある。
業界事情は常にキャッチアップしないとなあと思う反面、昔勉強したことはいつまでも覚えているもので、昔話をすることが増えてしまった。自分の思考が昔のことに囚われているような気がしたり、他人に自分の偏見や成功(失敗)体験を押し付けているような気がしてくるので昔話はあまり好きじゃないのだけども、それでもやっぱり自分が知っている経験をなるべく歴史にして忘れないように(同じ失敗をしないように)してほしいという気持ちもあるので、義務感と感情が衝突して心苦しい。
これは時効だと思うのだけど、わたしがまだ20代の頃にストレージメディアとしてSSDがようやく出始めで、Seekが必要ない画期的なデバイスで研究をしようという話が近くの同僚と持ち上がったものの、当時50代であったろう部長が磁気カードだったかの開発体験をもとに「フラッシュメモリはダメだ、ありゃあ消えるしウソをつく」みたいな苦労話を15分ほど聞かされて話がシュンと立ち消えになったことがあった。SATAだろうがNVMeだろうが出始めでもSSDメディアは内部でファームウェアコントローラがエラー訂正なりデータ冗長化なりをしていて、HDDとほぼ同様もしくはそれ以上の信頼性が出るという知識があっても(今では常識だが当時はそこまで分かっていなかった)、そんなことはないと歯向かえるようなこともなかった。彼は若いわたしたちに失敗(デスマ)させまいとおそらく善意で昔話をしたのだろうけども、まあ善意だから結果的によかったということでもない。力不足ということでもあったのだろう。

蒸発の図


昔はパソコンを触るのが好きだったはずだ。すべての問題が杭に見えていたこともあったが、勢いはあったとおもう。パソコンさわってるだけで仕事になるなんて最高じゃあないか、趣味を仕事にするのは幸せなことだ。それは一面ではそうだろう。まあでも最近はプログラムを書かないで問題解決しようとすることの方が多くなってしまい(なぜなら書いているヒマがないetcで108個くらい理由はある)、自分は果たして好きなのだろうか、みたいなことはここに書くのも実は恥ずかしいのだがよくわからなくなってしまった。これは単なるBurnoutと考えることもできるし、名人伝でいうところの弓をとらなくなってしまったあたりなのかもしれない。あれも解釈は正直よくわからない。

仕事として価値があることは何でもやるように心がけているし、価値のありそうな仕事はソフトウェアエンジニアリングであろうがなかろうがモチベーションはあがる。その反面、プログラムを書くときに「これは金になるだろうか?」みたいなことを反射的に自問するようになってしまって、そのプログラムが面白いかどうかを考えることが少なくなった。腕前が落ちてプロトタイプが動くまでたどり着かなくなってしまったのかもしれないし、腕前が上がってすぐに飽きるようになってしまったのかもしれない。

何でもやるという気概を持っていると、だんだん何もできなくなってしまうのかもしれない。あとすこしでFTL Driveができるので、それができたら何か仕事もパソコンも関係ないことしてみようかな。自己研鑽。

あと少しでFTL Driveが作れるようになるの図

明日は @hajimehoshi さんです。