最近考えてること

先日子供が生まれました。めでたい。

というわけで、これからますます、時間の使い方を考えないといけない。
プログラマ35歳定年説みたいなのが言われる理由がなんとなくわかる。まだ35じゃないけど。30過ぎるとみんなライフステージとか仕事とかいろいろ周りの環境が変わっていくんだ。でもマネージメントなんてちっともやりたかないし、自分で手を動かしてるのが楽しいし、生存戦略みたいなのは常に考え続けてる。ネットを見渡してると自分はたぶん一流エンジニアにはなれそうにもないけど、好きなことをやって面白おかしく生きていくために、自分の居場所は自分で作っていかないといけない。家族もいるので今のところ海外で働くつもりはないけれども、エンジニアとしての格というかステージみたいなものを上げるために、英語は避けて通れないという思いは日に日に感じる。

というわけで、最近は空いてる時間の大半は英語の勉強をしてる。読むのはなんとなく意味がわかるけど、聞くのと書くのが絶望的なので、当面はそこに時間を割いてる。自分の場合は話す必要性は今のところあんまりないので、話すのは一旦置いておく。
聞くのはだいたい移動中とか作業しながらとかに英語でしゃべってるIT系のポッドキャストを聞いていて、寝る前にyoutubeで海外のカンファレンスの動画見たりとか、英語学習系のを見てみたりとかで、特にノルマは決めず、気分次第でとにかく耳を慣らす作戦。
書くのはStackOverflowに回答してみたり、洋書を気ままに写経してみたり。StackOverflowで英作文するとよくタイポするんだけど、最近その理由がなんとなく分かってきた。単に小中学校のときに漢字を書くの間違ったのと同じで、圧倒的に書く量が足りてないんだと思う。なので写経は意外と意味あるんじゃないかという気が個人的にしている。量は質に転化する。そのうち。コツコツ積み上げるしかない。

あともうひとつ考えてることは、仕事でGoのコードを書く機会を自発的に作っていくこと。インフラエンジニアという職種自体はそんなにすぐにはなくならんとは思うのだけど、その役割はどんどん変わっていくと思う。既存のソフトウェアの設定を組み合わせてシステムを作るという従来的なインフラエンジニアの重要度は下がっていき、Infra as Code のDSLが書けるだけのエンジニアの知識はすぐに時代遅れになり、クラウドネイティブなピタゴラスイッチを作ってみてもベンダーのふんどしで相撲を取ってるだけで、エンジニアリングとしての価値は低い。結局のところピタゴラなグルーコードのいらないインテリジェントで自律的なインフラを作るために、ミドルウェアレイヤのコードが書けるソフトウェアエンジニアみたいなのが希少価値が高くて、あるものを組み合わせるのではなくて、特定の問題領域に特化したソフトウェアを新しく生み出せる力がインフラレイヤでも相対的に重要度が増してくると思う。ミドルウェアの領域ではまだまだC/C++が現役だけど、最近Goの勢力が拡大してきているので、Go力を高めていきたい気持ち。でも、子供も生まれたし、趣味でコードを書く時間も減るので、仕事で日常的にGoのコードを書ける環境を作るために、仕事で新しく作るちょっとしたツールとかはGoで書いてる。で、汎用化してOSSとして切り出したりしてみたり。やっぱりなんだかんだ言って、仕事と趣味だと仕事の時間の方が圧倒的に長いわけで、趣味だけだと限界がある。なので如何に仕事でそういう機会を作っていくか、そのために普段からどういう仕込みをしておくかが大事。当面の課題は、次に回ってきそうな仕事を予測して、それを趣味的なアプローチで解決できるだけの事前の仕込みをいかにしておくかという戦略なのかな。

最近だとソフトウェアエンジニアリングに重点を置いたSREみたいなかっこいい呼び方があるけど、信頼性を第1目標に掲げる仕事って、かっこいいこと言っても障害コール対応は切り離せないし、そんな仕事があと30年もできるかというとちょっと自信がない。体力でカバーみたいなのって、システムの重要性が増すに連れて期待値が上がるし、非人道的で家庭を持ってるとさらにつらいと思うんよね。そーゆー自己犠牲で成り立つような場所を主戦場にせずに、もうちょっと抽象的なレイヤで仕事ができるようになりたいなと思うのだけど、雑な文章で特にポエムなのでまとまらないけど、そんなことを最近モヤモヤと考えている。