はじめに
3月後半から4月末までの約1か月半、無職をやっていた。
無職期間中は家で好きなことをしながら過ごしたり、函館で遊んだり*1、野球をたくさん観たり*2と充実した生活を送っていた。
これらのアクティビティと並行して、読書を習慣にしてみるというチャレンジをやっていた。小さい頃から苦手だった読書だが、無職をやれたおかげで自分なりの付き合い方を試行錯誤し、しっくりくる方法を見出すことができた。
その自分なりの読書法、みたいなところはまた別の機会に書くとして……。この無職期間中に読んだ本について、手に取った理由とちょっとした感想をメモしておきたい。
情熱プログラマー ソフトウェア開発者の幸せな生き方
2013年、まだ学生のときに札幌の紀伊國屋書店で購入して読んだ。「コーディングはもう武器にならない」「自分の人生を他人任せにするな」「師匠を探す」「師匠になる」あたりが刺さった記憶がある。
学生のときから、幸せな職業プログラマ論みたいなのを読めていたおかげで考え方の面で得したところがかなりある。その一方で、言葉通り受け取り過ぎた故かそれが自分を縛る呪いみたいになっていた面もあった。例えば「自分の人生を他人任せにするな」という章には、要するに「マーケットリーダーに自分のキャリアをベンダーロックインさせるのは良くないやで」みたいなことが書いてあったと思うのだけど、僕はそれを真に受けすぎてクラウドサービスプロバイダの各種マネージドサービスのキャッチアップがものすごく遅れたという自覚がある。もう15年前の本だから、この辺は今とは感覚が違うのかもしれない。「ロックインされるな」というだけで「触るな」とは言っていないしね……。
もう10年以上前に買った本なのだが、自分のプログラマとしての在り方みたいなのに迷うたびに読み直している。今回読み直したタイミングでは、新たに「一番の下手くそでいよう」「読心術」「デイリーヒット」「南インドのサル捕獲トラップ」あたりが刺さった。また本全体として、できる限り最上でありたいという欲求を持とう、ということを訴えているのだが、これも今の自分にものすごく刺さったのであった。
10年前に読んだ『情熱プログラマー』をまた読んだ。当時まだ学生だった自分に刺さったフレーズとはまた違うところが刺さりまくった。同じ本を2回以上読むというのができない人間だけど、この本だけは別。
— mktakuya (@mktakuya) 2024年3月16日
情熱プログラマー ソフトウェア開発者の幸せな生き方 https://t.co/h5FkiDI3tF
WILLPOWER 意志力の科学
下記のツイートを見て、「Willpower(意志力)」という概念を知り、深堀りしてみたくなったので購入した。
ここでのMPというのは前頭前野を基盤とするWillpower(意志力)というリソースのことで、盛んに研究もされているが、筋肉のように訓練により総量を増やすことが可能ともされている
— 🦄けい©︎:プログラマーアイドル🦄 (@k1_c_) 2023年11月7日
エンジニアのMP切れについて考える - IT業界で気づいたことをこっそり書くブログ https://t.co/lROYZMJU9h
乱暴に言ってしまえば、ほぼ上記ツイートで表現されているMPというやつに意志力という名前をつけ、心理学的アプローチで繰り返した実験結果について解説しているという感じだった。上述した『情熱プログラマー』における「情熱」にも近い概念かもしれない。
意志力は筋肉のように鍛えられること、出どころはひとつであり限りがあること、そして意志力をいかに使わないようにするかが大切であることなどが書いてあった。
無職という自由な立場を謳歌しながら読書やプログラミングの勉強を進めるという、まさに意志力の必要なチャレンジをやっているところだったので、大いに参考にさせてもらった。無職仲間ともくもく会をしながら進めていたが、これを朝の時間にしたのも意志力を消耗する前にやりたいことをやるためという理由づけとなった。
しかしMPというのはめちゃくちゃ良い表現だなと本書を読んで改めて。僕が仲間内で会話をする分には、意志力とMPは完全に交換可能なワードだ。
反応しない練習
けんすうさんのツイートがRTで回ってきたときその場で購入し、積読していた本。
「メンタルが豆腐なんです」系の相談の80%くらいは「刺激は置いといて、自分の認知や反応を変えた方がいいよね」というのでだいぶマシになると思っているんですが、それに関する名著の「反応しない練習」がKindleで49%割引で715円で買えるとのことです。…
— けんすう - きせかえNFTの「sloth」 (@kensuu) 2024年2月18日
長くお付き合いしてくれている人たちには既知過ぎる事実かもしれないのだが、僕は他人の影響を受けまくってしまうところがある。ツイートのように「メンタルが豆腐」とまでは思わないものの、反応しまくるところはものすごくあり、まさにこの「反応しない」という書籍名に惹かれてしまった。
著者の草薙龍瞬さんは僧侶で、この本も仏教の考え方を引用しながら主張が展開されている。
この本を読んでからは特に序盤に書いてあった「反応する前にまず理解すること」「良し悪しを判断しないこと」あたりを気をつけるようにしている。特に前者には、「ラベリング」と呼ばれる「疲れを感じているな」「イライラしているな」と自分の心を言葉で確認するのが良いアプローチらしい。逆にそれができないとすぐネガティブというか黒い方向に思考がいってしまう。そのループにハマりそうになったらまた読み直してみようかなと思っている。
データモデリングでドメインを駆動する
よくツイートを読ませて頂いている杉本啓(@sugimoto_kei)さんが書籍を出版されたので買った。
本を書きました。設計本ですが、設計のプロセスや手法ではなく、どんな基幹系システムを実現できればステキと思うかという点に重点をおいた本です。https://t.co/QMneyVDZHN
— 杉本啓 (@sugimoto_kei) 2024年1月10日
自分はずっと業務システムを作ってきたわけだが、あまりこういった本を読んでこなかったので終始「なるほどなー」と思いながら読んでいた。「残」という概念やSoA/SoMという区分を抑えておく。あとはリレーショナルモデルでなんでも表現しようとせずに星取表形式(多次元データモデル)も検討しましょう的な話は、Rails生まれActiveRecord育ちの自分にはまったくない発想だったので勉強になった。
「アジャイル式」健康カイゼンガイド
アジャイルと健康というキーワードでタイトル買い。タイトル通り、健康行動をアジャイル式にいかに継続するかという本。もちろん健康に関する記述も多いのだが、自分は健康に限らず良い習慣を続けること全般をアジャイルのアプローチでやっていく本というつもりで読んでいた。読書や技術勉強、散歩といった自分にとって必要で好きで続けたいのだが怠惰によりうまく習慣化できない……という状態を脱する良いヒントになった。
個人的に、序盤の方にあった「習慣化の逆戻りプロセス」が非常に参考になった。
このプロセスを知ったことによって、習慣化したい行動についてうまくいかないとき、「あぁ今自分はスリップの状態だな。ラプスにいかないようにこの3日はこう過ごしてみよう。」といった感じに言語化し、次の行動を切り替えることができた。この本の前に読んだ『反応しない練習』にあった「ラベリング」的な効果があったのだと思う。
この記事を書くためにいろいろとググっていたら、著者のお二人がITエンジニア転職サイトのForkwellが主催する勉強会で講演されているアーカイブを発見した。あとで視聴してみよう。
なぜ働いていると本が読めなくなるのか
Twitterで話題になっていたのを見つけた。タイトル買い。働いていないうちに読もうと決意。
気になってる本が届いたが、問題はこの本自身が積まれてしまうリスクがあること pic.twitter.com/BLivZwhCf1
— ゆーくりっど (@yuqlid) 2024年4月18日
この本における「読書」は、僕にとっての「海外ドラマ視聴」や「(仕事以外での)プログラミング」、そして多くの友人達にとっての「アニメ視聴」に通ずるところがあるなーと思うなどした。
書籍中でやたら映画「花束みたいな恋をした」のシーンが引用されているので、まだ観てない人は観てから読んだ方が想像しやすくていいかも。
創るセンス 工作の思考
『すべてがFになる』で有名な森博嗣先生の本。高専時代、先輩に薦められて買って10年積読してました。
感想ツイートをぺたり。
10年前に買って積んでた本を読んだ。「とにかく作りなさい」をいろいろな角度から主張している本。10年前は承認される・良い会社に就職するというモチベで技術やってた面が多く、最近やっと楽しみとか自分のためにみたいなところに目が向き始めたので、今読む方が良かった。https://t.co/qNCAyZqGMF
— mktakuya (@mktakuya) 2024年5月5日
強いて言えば、去年KoRで発表する前にこの本を読んでいればなんかもう少しいい話をできた気がするけど、そもそも楽しみとか自分のためにものをつくることの効能みたいなのを意識し始めたのが直近半年のマネジメント経験からくるものだから、そういう意味でも今読んで良かった本だった。 https://t.co/HkZ8qodBdN
— mktakuya (@mktakuya) 2024年5月5日
自由をつくる 自在に生きる
同じく森博嗣先生の本。『創るセンス 工作の思考』のあとがきで言及されていたので読んだ。こっちは買ってすぐ読んだ。
2009年の夏に、急に「今書いた方が良い」と思い立って、2冊の本を書いた。1冊は8月に、もう1冊は9月に、いずれも一気に書き上げた。(中略)この2冊の原題は、「自由論」と「工作論」だった。
「そもそも自由ってなんじゃ」というところからはじまり、他者や社会、人間関係など自分の外側からの支配、そしてやっかいな自分による支配、それらへのレジスタンスについて説いてある。森博嗣先生の(物語ではなく)個人としての発信を見聞きしたことのある人なら想像に難くないと思うけど、なにかしらの解決方法HowToが書いてあるなんてことはない。
スーッと読めたんだけどそれ故かなんて書いてあったかあまり思い出せない……。僕は「支配されていることを自覚しろ、支配を自分で作るな、自分で考えろ」と受け取った気がするのだけど、前職の上司にすごく影響されてるだけかも。でも「なんかそれ1on1で言われたな」って思いながら読んでたから間違いでもない気もする……。誰か読んだらどう受け取ったか教えて下さい。
インタプリタの作り方
仕事を辞めて無職期間をつくったタイミングで、「自分がWeb系エンジニアとして働いてたら絶対やらなさそうなことをやろう」とだけ決めていた。低レイヤのことに手を出してみようかな、プログラミング言語でもつくるかな、くらいのノリで読み始めた気がする。
この本を読んで、「プログラミング言語をつくる」ということそのものの解像度があがった。そもそも「プログラミング言語をつくる」とはなんなんだろう。言語仕様をつくることなのか?あるいは処理系をつくること?そもそもそんな疑問を抱けるようになったというのがまず大きな一歩であった。
感想ツイートをぺたり。
発作的に低レイヤのこと学びたくなって読み始めた『インタプリタの作り方』をやっと終えられた。4月1日から毎日1〜3時間ほどやって、まるまる2ヶ月かかった。
— mktakuya (@mktakuya) 2024年5月30日
この書籍用に考案されたLoxという言語の処理系を、ツリーウォーク・バイトコードVMと2つのアプローチで自作する。https://t.co/jybFKcNIYp
本書では字句解析器・構文解析器をlex/yaccを使わず自作するので、ちょうどRuby Kaigiでアツかったパーサまわりの話を理解するのにとても役立った。
— mktakuya (@mktakuya) 2024年5月30日
並行して読んでいた『Rubyのしくみ』にも通ずる話が多くて結構楽しかった。
某LT会でこの本の紹介をしようとした*3際のスライドもぺたり。
Rubyのしくみ
RubyKaigiに行くので読んだ。『創るセンス 工作の思考』と並ぶ、10年前に買って積読してましたシリーズ。
意識してそうしたわけではないのだが、インタプリタ本で一般的な言語処理系の作り方を学びつつ、この本で自分が普段書いているRubyの処理系について具体的に学べる、という読み方をできて非常に楽しかった。
紙書籍は入手困難だが、達人出版会さんでPDF版を入手できるのでRubyプログラマのみなさんはぜひ。
おわりに
無職期間の1か月半で、技術系読み物3冊、コード写経系1冊、非技術書6冊の計10冊を読んだ。思ったより少ないなというのが正直な感想。まぁ働いているときは月1冊も読めていなかったので、それと比べたら大進化ということで……。働き始めて1か月経った今は、時折のスリップ(学んだ言葉を早速使ってみる!)を挟みつつ読書習慣を継続することができているように思う。
おそらく人生で初めて読書楽しいなーという状態になることができている。それは、自分に合う読書スタイルを確立しつつあることと共に、「自分の尊大さ・傲慢さ」みたいなものが昔に比べて薄まってきて、既知のことやその延長線上に無いものを受け入れる心の余裕ができてきたことがあると思う。
無職という、時間がありストレスの少ない理想状態で身についたこの習慣を、働き始めてもいい感じに続けていって、少しずつちゃんとした大人になっていきたいと思う。
*1:https://x.com/mktakuya/status/1778217597449941455
*2:https://x.com/mktakuya/status/1781593393732427880
*3:LT会自体がやんごとなき事情により中止となってしまったので、発表はしていない。