ブログを書き始めようかな
TL; DR *1
おもしろ一発ネタではない、ある程度まとまったものを書いていくことが必要だと感じたので、これからブログを書いていこうと思います。
ブログを始める理由
1) コミュニティの中で生きるため(ソフトウェアエンジニアの)
ソフトウェアエンジニアとして労働し始めて6年経った今年、3ヶ月間のサバティカル的休暇を取ることにしました。この休暇については今後記事にしたいのですが、自分の生活や人生について見直すいい時間になりました。
自分の生活を見直す一環で、過去に自分が作ったり、作ろうとしていたソフトウェアプロジェクトの雑多なディレクトリを発掘してリストアップしました。行きあたりばったりのHaskellのstackで生成したスケルトンプロジェクトから、かつては一世を風靡した(当社比)量子将棋擁する将棋ったーまで、過去10年間に手を動かして出来たものがごちゃまぜになっています。今すぐ消せるガラクタも多いのですが、リストとしてまとめてみると、なかなか作り込んでいたりとか頑張ったのにそのまま放置されているものが多いということに気づきました。
趣味開発のディレクトリを掘り返していたら予想外にいろいろなことをこれまでやっていたということに気づいてNotionのデータベースにまとめている。中途半端に労力をかけたものも多く、やはりやりきるということが大切だと感じる。 pic.twitter.com/9SQbdFiMIL
— na2hiro@95連休後 (@na2hiro) September 27, 2021
これまでとにかく将棋ったーというもの出したり量子将棋というものが出したりということがあったため、完成させて出すというのが必要と思い込んでいたかもしれない。
— na2hiro@95連休後 (@na2hiro) September 27, 2021
完成させて、リリースして、アクティブユーザがいるようなプロダクトに持っていくだけがプログラミングのアウトプットではない。そこまでやらずとも、例えばなにか興味を持った試行をやってみて、うまく行ったり失敗したりした結果をまとめて公開するだけでも、十分価値を見出してくれる人はいるかもしれない。そもそも、ディレクトリに埋もれたままでは当の自分自身で参照すらできない。いくら過去に時間をかけていたのだとしても。そういう思いが強いです。
自分の成果物を周囲に見てもらうと自分の周囲が豊かになり自分にも跳ね返ってくる。人生は他人との共同作業だとも言えると思います。それが休暇での一つの気づきでした。
何をやったかという発信するというのもやったほうがいいかもしれない。ある程度ニッチなプロダクトだとしても他に誰か作ろうとしている人や探している人がいるかもしれず、そういった人はろくにコンテキストの説明もない誰かのgithubリポジトリなんて気づかない。
— na2hiro@95連休後 (@na2hiro) September 27, 2021
余談ですが、「ろくにコンテキストの説明もない誰かのgithubリポジトリ」が奇跡的に気づかれたケースであるsugyanさんの先週の記事はこちらです:
将棋プログラムの多くはC++で書かれていて 最近はRustも増えてきているのかな? しかし「詰将棋を解く」ことに特化しているものはあまり多くはなさそうだった。
なかでもRustで書かれているものはna2hiroさんによるものくらいしか無さそうで、 これを大いに参考にさせていただいた。
とにかくdf-pnという探索アルゴリズムの実装に詰まって頓挫状態で、やりかけの"保存"をしただけの状態でした。READMEで現状説明くらい簡単に書いておけばよかった…
2) コミュニティの中で生きるため(その他の自分が興味ある分野の)
そういったことは、ソフトウェアの文脈に限らずとも、コンテキストを共有した人たちとのコミュニケーションにも当てはまります。核家族生活で、人間関係が希薄になりがちな都市部の集合住宅での生活の中、サバティカル休暇で会社から離れてみると、うっかりしていると妻としか話さなかった日というのも珍しくなく、これではまずい、また働いていた頃は会社というコミュニティほぼ1本に頼りきりだったのだなと思わされました。
SNSとしては主にTwitterを10年以上やっているのですが、働き始めてからは頻度が急減し、不定期におもしろ一発ネタをいうbotになっていると言っても過言ではありません。それ自体はTwitterの使い方に即しているとは思いますしこういった表現自体には満足しているのですが、クラスタの中に入って呼応するみたいなことがなくなりました。例えばテレビ放映や将棋の中継を見て反応をする、あるいは同じ授業を受けてる人どうしで呼応するとかは学生時代は結構やっていたのですが。そういったことには独特の充実感がありました。
3) 言語を練って出力していかないと脳が衰えていくという実感
2020年春からのコロナの影響で完全にWork From Homeとなってから、どうも頭が冴えないと感じることが増えました。職場での仕事からWFHに切り替わった際には多くのことが一度に変わった*2ので、何が頭が冴えないことの原因なのかという切り分けはすぐには難しいですが、久々に職場の同期と会って何時間も話し込んだという日の夜はよく眠れて次の日もなんだか冴えている、ということが何回かあった経験から、頭を捻って言語を練りだしたような会話をするといいという経験則を導き出しました。
WFHでの唯一の会話チャンスであるビデオ会議では、参加者全員に語りかける形となってしまいなかなか雑談が生まれづらい一方、オフィスで働いていた頃は次のような豊かな雑談が存在しました。
- コーヒーマシンのあたり*3で偶然出会った別のチームの同僚と雑談
- 毎日オフィスのケータリング昼食で、あまり話したことのない同僚も含めて、多様なバックグラウンドを持った様々な国の人たちと雑談
- 2-3週間に1回、職場の同期と業務後数時間卓球*4しながら雑談
職場はIndeed Japanという元々外資の会社で、同僚との会話は英語でなされます。そもそも英語が母語レベルでない*5自分からすると普段話さない人とただ話すだけでも言葉を解して返答するのにもある程度頭を使った連想が必要です。また、コンテキストをさほど共有していない外国人との雑談では、雑談のトピックやその背景などを1から察する必要があったりして、ただの雑談でもなかなか頑張っていたという覚えがあります。
雑談の代わりにブログでも頭が活性化するかというのが気になる一つの仮説です。
4) 書く練習のため
書く内容はともかくとして書くのが遅いという自覚がありますし、妻が自分の書いているところを見ての感想も「遅すぎ」だそうです。仕事でのチケットのコメント(5〜6文)に推敲を重ねて20分くらいかかることもあります。書いて送信してからもここがおかしいとすぐにeditを入れたり。それが1個人向けのメッセージとなると、また「その人がどう受け取るか」みたいなことを考え始めてしまい余計遅くなるということもあります。願わくば、書く量をこなしていくことで慣れて上手くなればと思っています。
どんなことを書いていくか
ひとまずは筆頭にした趣味で書いたソフトウェアの話、ここ最近の話でいうと最近取ったサバティカル休暇、いわゆる95連休での暮らしや気付きなどを書いていければと思います。他の趣味である料理や詰将棋の話なんかも書いていくかもしれません。
今日の音楽
ショスタコーヴィチ チェロ協奏曲第二番
*1:"Too long; Don't read"の略。「長過ぎる、読むな」、転じて概要の意味
*2:例えば通勤がなくなった、同僚を目にしなくなった、フリードリンクがなくなった、…
*3:キッチンと呼ばれるところではフリードリンクやフリースナックが備え付けられていました
*4:入社直後数ヶ月は、それこそ毎日のように卓球をしていた。業務中に30分だっただろうか。いい会社だ。
*5:入社時に英語のレベルが水準以下だったのでセブ島に語学留学に行ったということがありますが、今はなんとかやっている程度です
*6:筆者はロシアの作曲家ショスタコーヴィチが好きです。筆者が2010年にTwitterを開始した時から使い続けているアイコンも、よく見るとショスタコーヴィチについてです。
*7:もちろん書くのがうまくない筆者は、これの演奏の何倍もの時間をかけて書いているのですが…
*8:音楽についてなにか書けるほど詳しくないので、音楽の記事は書かないと思います