ziguzagu.org

いろいろあった2020年をちゃんと振り返って記録として残しておく。

リモートワーク環境

3月ぐらいからリモートワークになり、自宅で長時間作業するようになってあっというまに腰・首がおかしくなってしまったので、あわてて机と椅子を買った。

椅子はアーロンリマスタードのスモールサイズ(Aサイズ)。やはり値段がものをいうのか、単に自分にあっていただけなのかはわからないけど、完全に最高で腰痛を忘れてずっと座ってられる。

机は、

  • 寝室におくので横幅は 100cm くらいでコンパクトにしたい
  • 自分の身長にあわせて高さが少し低めにしたい(ベストは68cm)

という条件でひたすらさがした結果、ちょうどいいのが Creema というサイトでオーダーできたのでそれ。

すごく満足できる机・椅子を買えたので大変よかった。間違いなく今年買ってもっともよかったもの。

健康

去年ひきおこしてしまった適応障害とゆるゆる格闘しつつ、3月以降は腰痛と向き合う日々という感じで、身も心もガタガタしてきた。

腰痛は慢性化してしまっていて、もう9ヶ月も毎日毎日大なり小なりずーっと痛みがある。結局のところ運動不足で筋力低下というのが原因のひとつであり大きな要素であるっぽいので、なんとか続けれてるランニングをもう少し走る日数を増やしたり筋トレなどで回復させるほかない。やはり筋肉は正義であるようだ。

適応障害については、どうなったら治ったといえるのかが正直よくわからない。特に、1年通っていた心療内科でも、そこんところが明瞭にならずとにかく薬だすという感じで不信感もちょっとあったのと、勤務中中抜けする前提でオフィスからいきやすい病院を選んだのだけど結局出勤しなくなって通いづらくなったこともあり、自宅近くの病院にいきたいということで紹介状を書いてもらったまま結局新しい病院にはまだ行ってない。

ただ、睡眠の安定度は高くなってきてるし、頭痛の頻度も(無職になってから)だいぶ減ってきたので、このまま病院のお世話にならないでなんとかいきたいがどうだろう…。

仕事

11月末で退職したので最後の1年だった。

今年の目標として「コスト削減」というのがあり、それに向けてチームでのいろいろな方向性を決めたり、無駄リソース見つけ出して削除するとかミクロな作業したりという感じが多かった。とはいえ相変わらずいろんなプロジェクトに関わって、相談にのったり、ちょっと作業したり、突発問い合わせ対応しまくったりという感じで、ここ数年やってきた開発部責任者としての振る舞いや薄く広くという仕事のやり方、流れを大きく変えることができなかった。

そういった自分の仕事のやり方、関わり方なんかもリセットするための手段としての転職をとったのだけど、10社以上カジュアル面談で話きかせてもらった今、何を基準に次の会社をきめるべきか、自分はそもそも何がしたんだっけ?という根源的なところに思考が進み(戻り? or 嵌り?)、どんどん暗い穴に転がっていくようでわからなくなってきている。もう少しゆっくり考える時間が必要なかもしれないが、保育園の都合上無職は3ヶ月が限度なのでそうもいってられない。どうしよう。

技術

ここ数年正直のばせていない。ゼロではもちろんないのだけど進歩が著しく遅い。

12月にはいって Go のチュートリアルを(また)始めたが実用にはもちろんいたってない。仕事もしてないしこの辺は焦りだけが生まれるところではあるけど Go はなんとなく自分にあってそうな気がしてるので引き続きやっていきたい。仕事もそういう観点で選ぶべきかもしれない。

家庭

2歳児に手がかかるのは織り込み済みだったけど、9歳(小学3年生)もまだまだ手がかかるんだなー、という感じ。

家事にかける時間は通勤がなくなってさらに増加傾向で自分の自由時間確保がとにかく難しく感じていた。無職になるとさらになんとなく(働いてないしという思いから)家事をやってしまい、あっというまに1日が過ぎてしまう感じ。

とはいえこの1年間だれもコロナに感染することもなく、元気に過ごせているのは感謝すべきことかな。

まとめ

世界が一変してしまった2020年。もっといろいろあったはずなのに、なかなか言葉がでてこない、書き足りない感じがするし、だらだら駄文を書いてるだけのよう(単にもう夜遅くて眠いのにこれ書いてるだけという気もするが)。

どうであれ、とりあえず生きてるので来年もがんばっていくしかないか。

無職の期間中の目標として Go をそれなりに使えるようにしたい(アバウト)、というのを設定していて、改めて A Tour of Go をやりはじめた。以前にも完走してはいたものの日常的に使わないとやっぱりすぐわすれてしまうので通算3回目くらい。たぶん。

で、以前どうだったかわからないが := の入力がどうにもたもたする。US配列キーボードだと shift-; の小指&小指で : 入力、そこから右手小指を大きく移動して = を入力、となるので、自分の短い指には厳しいのかもしれない。

なので、一回の入力で済ませれるように、かついい感じのキーバインドを割り当てた。

(defun my:insert-short-var-declaration-op ()
  (interactive)
  (insert ":="))

(use-package go-mode
  :bind
  (("C-=" . my:insert-short-var-declaration-op)))

あとは iTerm2 のプロファイルのキー設定に以下を追加。

これで写経も捗る。

11月末で退職することにした。

入社から約4年半の間に、エンジニアリングマネージャー、VPoE、部長、CTO、SREチームリーダーと、短期間で肩書きもいろいろ代わったし、会社もいろんな変化もあったし、以前とは異なる視界で仕事をする機会ももらえてとても濃密な時間を過ごしたと思う。一方で「誇れる成果を残せたか?」と考えると正直つらいところがあるし申し訳なさしかない。

おととし末から去年始めくらいに体調を崩し、適応障害と診断されて3月から1ヶ月ちょっとの休職ということがあって以降なかなか思うように働けず、ちょいちょい体調を崩すこともありで、ぐだぐだ感のある状態が1年近く続いていたのがどうしても大きい。

今年にはいってからようやくそれなりにという感じではあったけど、以前のような熱量や楽しみをもって仕事に取り組める感じでもなく、自分の仕事のやり方を改善・変化させることもできず、また一人勝手に悶々とストレスをためてしまう状況でもあった。そして仕事だけでなく家庭でもどんどんストレスを蓄積していってしまうという悪循環。

この病にかかると活力のようなものがとにかくなくなるというのと、原因がなんであれ(気候とかそういうものも)ストレスを脳が検知したら頭痛でお知らせという迷惑な機能が実装されてしまって、まぁなかなか手強い。そんな状態で力を発揮できたわけもなく、また自己の成長という一番わかりやすいベンチマークがもっとも心許ない結果になってしまっている。

なのでもう少しゆっくりと回復を待つというのもあったかもしれないけれど、この停滞期をこれ以上長引かせると脱出不可能な領域にいってしまうのでは?という恐怖感もあり、また会社にも家族にもだれにとってもよくない、というところで環境を変えるリセットボタンを押しにいった感じで9月に決めた。前向きなのか後ろ向きなのかよくわらかない感じではあるけど。

まぁ、そんなところ。

次はまだ何も決まってなくて、今のところカジュアル面談をちょろちょろさせてもらう程度でまだ本格転職活動はできていない。今後の人生どう働こうかな?というと大袈裟だけど、次はどういう仕事、働き方をしようか、というのは決めかねている部分もある。ただ、自分の真に楽しいと思えることを改めて見つけて、それをやれるようにしたいなとは思う。

うるう日なのでブログを書こう。

少し前に time_second という gem を作ってた。

https://github.com/toreta/time_second

時刻ではなく「何分」とかといった時間の長さだけを保存したり、それを開始時刻に足して終了時刻を出す、なんてことはままある。あるいみ時間にうるさいトレタでも、たとえば「1予約のデフォルトの時間 = 2時間」みたいな設定値を DB では INT 型のカラムに秒数で格納しておくというのを結構やってたりで、そういったときに便利なやつ。

使い勝手は ActiveSupport::Duration で build & parts してハッシュ取り出したのと似たような感じといえば感じ。

とはい実際のコードでは生ハッシュを取り回すのは書き味としてイマイチなのと、View で HH:MM:SS とか HH:MM といった文字列を生み出すときにも一手間だったりなので、型としての秒がほしいなぁ、というのがモチベーション。

そもそもこんな gem もうあるだろうと思って探したけど、類似するものはあるもののやっぱりどうにもちょっと観点が違うものだったのでシュッと。

こうなったら自分的には ActiveRecord の custom type がほしいのだけど、ActiveSupport というか Rails の複数バージョンでテストするのがめんどいのかあんまり custom type としての gem やそれをサポートしてる gem が意外にない。Rails plugin 系はどうやって複数 Rails 対応テストしてるのかなぁと思って kaminari みたらだいぶ頑張った感じになってたので、やっぱそういうのかなぁ。

ただ custom type は(例とした kaminari 比較だけど)テストすべき範囲も小さいし互換性考慮も ActiveSupport::Type はそんなにわちゃわちゃしてなかろうということで次のバージョンでやってみる。

しばらく前に自分のdotfilesのリポジトリをPublicにした。

https://github.com/ziguzagu/dotfiles

きっかけは同僚の、

dotfile のようなものは社内で共有するだけでチーム全員の生産性を一度にひきあげれる

という言葉(あるいは「お前のシェル芸を盗ませろ」的圧力)から。

たしかに知ってるだけで、またはコピペするだけで簡単に真似できるたぐいのものなのでそういう効果はあるかもしれない。

とはいえ2006年から13年間1900コミット重ねた上に、ずっと自宅サーバーその後 GitHub の Private Repository で管理していたものなので正直あんまりセキュアじゃないものも入れてるかもということで躊躇していた。が、ざっくり調べてみたところ .ssh/config ファイルの過去歴史さえ抹消できれば大丈夫そうだったので、初めて git filter-branch をつかって歴史を書き換えた。

~/src/dotfiles (git:master)
➜ git filter-branch -f --tree-filter 'rm -f .ssh/config' HEAD
WARNING: git-filter-branch has a glut of gotchas generating mangled history
         rewrites.  Hit Ctrl-C before proceeding to abort, then use an
         alternative filtering tool such as 'git filter-repo'
         (https://github.com/newren/git-filter-repo/) instead.  See the
         filter-branch manual page for more details; to squelch this warning,
         set FILTER_BRANCH_SQUELCH_WARNING=1.
Proceeding with filter-branch...

Rewrite 1a37ddf (1884/1898) (123 seconds passed, remaining 0 predicted)
Ref 'refs/heads/master' was rewritten

~/src/dotfiles (git:master +860/-860)
➜

ごりっとやったら5分ほどで書き換えが終わったので、秘密の情報を取り除いた .ssh/config を追加して完了。Gitのパワーをあらためて身にしみて感じた。

社内Slackで「公開してみた」といってURLさらしたところ何人かがcloneしたようなので参考になってると幸い。