🧊

2020年の振り返り

社の営業日も終わったし、毎年恒例の振り返りをやっていき。

なんだか今年は特に早かった気がするわ・・。

\ 🐣 /

6月に子(かわいい)が生まれた。

そしたらまぁ本当に、生活が一変した。他の人の話とかはもちろん聞いてたけど、そらそうなるわな〜って感じ。
いわゆる可処分時間が消滅して、あらゆる優先順位が変わったと感じる。

自分だけの時間として確保できるのは、平日の仕事中+寝る前の2時間くらい。
と割り切ったほうがいろいろ幸せになれるし、奥さんはもっと時間ないはずなので按分せねばならぬ。

コードの読み書き以外にもやりたいこと(楽器とかゲームとか読書とか)はあるので、その配分を精査した結果、やらなくなった・できなくなったこともいろいろあって。

とにかく、「目の前にあるコレは、この貴重な時間を割いてまでやるべきことか?」って、より深く考えるようになった。
今までも「これ無駄やな〜興味なし」って見切りをつける判断が速い自負はあったけど、それがさらに加速したと思う。

情報の取捨選択が素早くできるようになった反面、相対的なインプット量は減ったな〜とは感じていて、そことどう向き合っていくかが、エンジニアとしては今後の課題かも。

既に仕事に直接的に結びつかないものに対する食指が動かないようになってることには気付いてて、どうしたもんかな〜ってなってる今日このごろ。

転職(出戻り)した

もうひとつのトピックは、一度は辞めたピクセルグリッド社に出戻りしたこと。

社での暮らしは本当に平和です、凪。
もちろん受託なので案件によってはペースを乱されることはあるけど、基本的には自分にできることしかこない。

それに加えて最近は、手を動かすよりも頭を動かす役回りも多くて、そういうもんなのかね〜人生〜ってなってる。

転職時の懸念であったトキメキ不足は未だ解決してなくて、はやく何か見つけたいなーとは思ってるけど、まぁその分だけ子(父親似らしい)とも戯れられるので、今はまぁよいかなという感じ。

実はエンジニア35才定年説って、35くらいになるとだいたいの人は家庭ができるので、老いとは関係なくブイブイする余裕がなくなるってだけでは・・?

そういや転職直後は副業も探してて、あの頃はWebRTCマンへの需要がすごく高かったのを思い出した。

リモート需要もあってか5社くらいからお問い合わせをいただいたり、転職したって書いてるのにスカウト的な話も数件いただいたり、実は希少な人材なのか?!って勘違いしそうになってた。

2020年やってたこと

さて、ここから技術ブログっぽい振り返り。

この1年でやってたことを思い出しながら、ざっくりまとめて書いていく。

WebRTC

転職するまでずっとやってたこと。

OSSSFU実装の`mediasoup`を使い込んでたのもこの頃で、GitHubに置いてるデモのコードとかは、今でもちょいちょい見られてる感じがある。
`mediasoup`のリポジトリを久々に見てみたけど、当時からはそんなに機能追加もされてなくて、山を超えたのだなあと思った。

今はまったくやってないし、あんなに読んでたSpecもRFCも読んでない。
WebTransportもQUICも、いざ仕事でやらなくなったらまったく追わなくなった。

でも一時とはいえ、低レイヤーなプロトコルに触れられたのは良かったと思う。

Rust / WASM

フロントエンド寄りの内容で、Rust x WASMでのユースケースを模索したり。

2019の`#AdventOfCode`をやれるくらいには、Rustの文法もマスターしてた気がする。
そしてそのあとJSの言語機能の少なさに発狂してた気もする。

ただWASMの広いスコープの中でも、ブラウザで動かす用途にフォーカスしちゃうと、今できることってそんなにないよな〜というのが結論だった。(単に視野と想像力が足りなくて、即実的なものしか見てないという説はある)

単に筋トレ的な意味で使うこともできるけど、それをやる優先度はあまり高くないので、どんどん忘れてってる。

Jamstack

転職してからやってること。
正確には、社が推してるのであれこれ調べてみて、詳しくなったこと。

Modern Web Development on the JAMstack を読んでまとめた - console.lealog();

構成要素に目新しいものはなく、実態はただのテクニック集です。
個人的には、Pros/Consがちゃんとあって、一概に推せるもんではないなーという見解。

その構成が真のJamstackたるためには、いろんな条件があるけど(上記事を参照)、シンプルに作ろうという流れには大賛成なので、まぁ美味しいところだけ取り入れるでええんちゃいますか?って感じ。原理主義者ではないので適当。

ただしそこを見極めず、愚直にやろうとすると、局所的に複雑さが貯まってしまったり、建前を通すために運用フローがないがしろにされたり、いろんな歪みが生まれてしまうなーとは思ってる。結局のところ、道具の良し悪しを決めるのは我々とその使い方なので。

あと、運用フェーズに重きをおいたスタックなので、受託の会社でやるにはちゃんと線引が必要だということもわかった。だって各種サービスの運用とかホスティングとかログ監視とかしたくないし。

もう少し概念が世に浸透してからのほうが、社としてもやりやすいのかなーとなんとなく思ってる。

Frontend

結局、仕事でいちばんよくやってるのは、あいも変わらずこのあたり。

ここで振り返りとしてあえて書いておくなら、「Reactってむずかしくない?なんでこんな流行ってんの?」というお気持ち。

今まで何度も案件で採用してきたし、会社のメディアでPreactについての連載を書いてみたりもした結果、今こう思ってる。

難しいものを作るためのものなので当然ではあるけど、やればやるほど難しい(Easyではない)技術だということがわかってきてて、よくもまあこんな難しいもん使ってるな・・って最近は思う。(思ってたよりも、相当難しいものを作るためのものだったという意)

コンポーネント指向を一般化したReactは偉いと思うけど、それ自体は今も昔もエッジな技術思想を掲げてると思ってて、選ばれしエンジニアしか扱えないものなのでは?と。

職業がら他人が書いたコードもよく見てきてるけど、Hooksを適切に(少なくとも自分の理解通りに)扱えてる人柱は本当に少ない印象。そしてよくわかってない人によって生み出された巨Hooksのコードは、まじで読めたもんじゃない。React関係ない部分ももちろんあるけど、より顕著になるイメージというか。

"フレームワーク使われ"な人が何を使おうと大差ないんやとは思うけど、それでも世の「とりえあずReactで」感が薄まって、トンデモコードをなんとかする仕事が減ればいいなと思ってます。

そういう気持ちが高まった頃に、「Write less code」を掲げるSvelteに出会い、そうそう君たちにはこれくらいで良いんや・・ってなったのが今年のハイライト。

jQueryしか触ったことないです・・」みたいな人は、Reactを触るより先に、SvelteとかVueとか扱いやすいのを経て、Reactの頂にたどり着いたらいいと思います。いわゆるデキるエンジニャーはReactを推してくるかもしれんけど、ちゃんと自分の頭で考えて、自分の作ろうとしてるものに最適な道具を選んだほうがいいと思うな〜知らんけど。

まあ実際、フレームワークの使い方に奮闘するより、それ以前のそもそものプログラミングのところをがんばったほうが、ほとんどの職業エンジニアは幸せになれるとも思うけど・・。

その他

転職の合間にLeetCodeをやってた。
データ構造やアルゴリズムを学ぶのは嫌いじゃないし興味はあるけど、趣味にしたいほどハマりはしなかった。

こういう系のプログラミングは、仕事のUIプログラミングとは必要な筋肉が違うなーと思ってしまって、今の状態だとそこまで傾倒できないなと。やらないよりやってるほうがいいと思うけど。

AdventOfCodeは年末の風物詩として毎年やってるので、あれをもう少し楽に解けるようにはなりたいかもしれない・・w
(今年は時間がなくてPart.1しかやってないけど、それでもいくつかわからないのがあった)

コロナの影響で、勉強会に行かなかったし、オンライン登壇も1回しかしなかった。
やっぱ勉強会は現地の雰囲気が欲しいな〜って思うけど、世の状況は好転する兆しがな・・・。

あとオンラインになった途端、開催時間が謎に遅くなるのやめてほしいです!(30代・子持ちより)

OSS活動は息を吸うようにやれるようになってて、いちいち覚えてない。

2021年は

「来年はこれをやろう!」というのが特に見つけられてなくて、どうしよっかな〜ってなってる。

とりあえず冬休みは達人プログラマーの第2版を読んで、読み終わったらまた新たなネタを探したいところ。

それではよいお年を!