ちゃんと理解したほうが結局早い
プログラミングをしていると、よくわからないけど何故か動く、みたいなことがある。目当ての実装をググればそれなりに情報が得られる時代。実装の中身を理解していなくてもコピペだけでそこそこのものは作れてしまう。
ただ自分の肌感だと、理解が曖昧なとこは立ち止まってその場で調べたほうが結局早い。その場を適当に凌いで前に進んだ先で原因不明のバグにつきあたり、よく調べてみると曖昧にしていた部分が影響してたりすることがとても多い。理解を正確にするために誰かのブログではなく公式ドキュメントをよく読み、簡単なデモアプリを作っていろいろ試す。こうしておくとシステム全体への理解度があがり、何か想定外のことがあってもすぐにアタリをつけて修正できるため、結局早い。長いスパンで考えると同じような実装をするタイミングが必ず来るため、そのときにちゃんとした理解をもっていると爆速で実装できて、結局早い。
プログラミング以外の仕事でも近しいことが言える。チームで働いているとき、判断を求められて意思決定するときがある。その場凌ぎで曖昧な判断をすることもできるが、よく考えて誰にでも説明できる自分なりのロジックを作ったうえで判断するほうが結局早い。まったく同じ判断は二度ないものの意思決定の内容は抽象化すれば似てることが多く、ロジックを一度作っておくと次からの判断を爆速にできるようになる。例えばプロダクト開発でよく求められる判断として、利益をあげるような機能とユーザーの利便性をあげる機能のどちらを優先するか、というものがある。正解はなくバランスが求められる判断だが、自分は小さいチームのうちはユーザーの利便性をあげる機能を優先していくのが良いと思っている。ユーザーの抱えている課題を解決して、それに対してもらっている対価が利益だと整理しているので、まずは課題をたくさん解決するのが良い。ただし決め打ちではなく、チームの資産状況とかユーザーの数とか開発にかかる工数とか、多くの変数を考慮して細かくチューニングは必要。自分なりのロジックにその時の状況をトッピングしていくのがイメージに近い。
GoogleやAIに聞けばすぐに答えが得られる時代だからこそ、逆に時間をかけて理解することが違いになるかもしれない。目先でつくっている機能の提供が1週間遅れても実は別に大した影響はないので、落ち着いて理解を深めながら前に進むようにしたい。
慣性の法則
フィリピンから帰ってきてから読書欲が高い状態が続いている。旅行中に読んだ本に面白いものが多く、もっとこういう本が読みたいという気持ちでいろいろ読み漁っている。
知人が作っているBookBankというアプリで読書記録をつけているが、このアプリでは月ごとの読書数を振り返る機能がある。ここ数年を振り返ってみると月ごとにかなりバラつきがあり、よく読むときは月10冊を超えるのに対し、月に1冊も読まないときもある。その理由を考えてみると、個人開発に没頭している時期に読書から離れていることがわかる。Webサービスやアプリを作っている間はそれに夢中で、本を読みたいという気持ちが沸かなくなる。
この「何かに興味を抱くとそればかりやってしまう」のは自分のスタイルで、思い返せば子供のときからそうだった。学校から家に帰ってきて漫画を読みはじめたら夕食までずっと漫画を読んでたし、勉強をはじめたら夕食まで机に向かって問題を解いていた。書籍の方の「君たちはどう生きるか」でコペル君が同じことをやり続けるのが人間の習性だと気づくシーンがある。ここを読んだときはわかる!と思ったのをよく覚えている。習慣術みたいな文脈で、朝起きたらまずやることで必要なものを机の上に置いてから寝ましょう、みたいなテクニックがよく語られる。毎朝日記を書くならノートを置く、体温を測るなら体温計を置くみたいな。朝起きて最初にやったことが流れを生むという説だが、これも理に適っているいると思う。逆に距離をおきたいものは収納の中に隠して腰を重くすれば離れられる。
習慣の観点でいうと読書したりしなかったり、自分の習慣はあまり安定していない。そういうプロと話す機会があるとしたら1日15分でも良いから毎日読みましょう、とか言われそうだ。でも個人開発に没頭している時期はすべての時間を注ぎ込みたくなったりする。本を読むことはすでに生活に溶け込んでいるとは思うので、ベストプラクティスみたいなものに捉われすぎず自分なりに読書を楽しめれば良いかなと思っています。
線を引きながら本を読む
読書が好きだが、本は電子書籍ではなくすべて物理本で買っている。電子書籍は何度か試したが続かなかった。私の読書スタイルには物理本が合っている。
スタイルというのはペンを持ちながら読むことで、心に刺さった表現や共感したこと、おもしろい言い回しなどに線を引く。読みながら考えたことや感じたことはページの余白部分に走り書きする。読書していると脳が活性化するのか、本の内容とまったく関係ないことを思いついたりする。それも余白部分に書き込む。書き込みせずに読む場合、紹介されているこの本あとで調べようとか、この言い回し美しいなとか、そういったことを脳の片隅で記憶しておく必要がある。これは読書とは違った脳の種類だと思っており、同時にしようとすると疲れる。最初はビジネス本や技術本でやっていたが、最近はエッセイや小説などジャンル問わずペン片手に読むようにしている。
読み終わったら線を引いた箇所をまとめる。私の場合はNotionというサービスに書き出している。この作業は本を読み終わって2-3日経ってからやると良い。記憶が薄れてきたときに再び本の内容を読むことで、気に入っていた表現に再度触れられるというか、記憶を深いものにできる気がする。ここでまとめた内容を見返すことは正直ほとんどない。ごくまれに何かで引用したり、同僚に紹介したりする時に検索で役立つくらい。それでもこのまとめは絶対に作ったほうが良いと感じていて、それは本で得た内容を脳から切り離して別の場所に記録しておく良さだと思う。「こういう内容あったけど何で読んだたかな…」と思い出せないとき、Notionを探せば見つけられるという環境はメンタル的に良い。
これらの方法は昔読んだレバレッジリーディングという本にならっている。レバレッジリーディングの中では本のことを「おがくず」と表現しており、養分を摂取するもので本自体を大切にする必要はない、みたいなことが書かれている。これは本にやや失礼な表現な気がする。ただ大切に扱いすぎないというのは同意で、汚さず綺麗に読み切ろうとすると意識がそちらに割かれてあまり内容が頭に入ってこない。線を引いたり書き込んだりすると綺麗な状態は諦められるというか内容に集中できるようになる感覚があり、そういう意味でもペンは読書に欠かせないものになっている。
タスクが複数あるときは簡単なものから終わらすとよい
仕事でも生活でも、やるべきことが溜まって辛くなるときがある。そういうときは簡単なものから着手してタスクの数を減らすのを優先するのが良い。
例えば10分で終わるメールの返信と6時間かかる確定申告があるとする。今まではなんとなく重要で期限のある確定申告(重いタスク)から終わらせようとしていた。でも実際はメールの返信(簡単なタスク)から着手する方が楽になれる。
まずタスクを抱えているだけで、「あれもやらないとな...」みたいに無意識に考えてしまって脳内のリソースを消費してしまう。そしていきなり重いタスクに着手してもなかなかエンジンがかからず、集中モードに入るまでに時間がかかる。軽いタスクでもひとつ終わらせるとリズムが生まれる。その勢いを活かして重いタスクに全集中するのが得策な気がしている。この進め方はやるべきことが10とか20とかある時により有効で、簡単なものから入ってタスクの数を減らしつつリズムを作るのが良い。RPGなどでボスと手下と戦闘になったとき、手下から倒すのと感覚的には近いかもしれない。
タスクでいうと、苦手で先回しにしたくなるタスクほど抱えずにすぐやる方が良い、というのもある。例えば私は電話をかけるのがとても苦手だけど、2週間先延ばしにしていると2週間ずっと「やらなければ…」を抱えることになる。考えるだけで脳内のリソースを使ってしまうのでもったいない。解決策はすぐやること。その場で電話してしまえば、苦手な時間も5分くらいで終わって楽になれる。嫌なのはその瞬間に留めて、未来の自分に負荷をかけないのが良いと思っている。
フィリピン その2
夏休みにフィリピンに行ってきた。街中を散策して見たのは多くの野良犬で、道路沿いやショッピングモールなどいたるところに犬がいた。
ガイドブックを読んでいると必ず書かれているのが野良犬への注意であり、噛まれると狂犬病と向き合うことになる。狂犬病は日本では根絶されているが海外では普通にある怖い病気。前情報では「野良犬は人を怖がっているので基本的に人から離れていきます」とあったが実際は全然そんなことはなく、側道でのんびりしてたり、食事する人々の足元で寝てたりする。人も怖がって避けるというよりは気にせず過ごしているように見えた。
犬が好きで、犬たちが幸せに暮らせる世の中になってほしいと思っていて、数年前からピースワンコ・ジャパンさんに寄付をしている。ピースワンコ・ジャパンさんはNPO団体で、殺処分ゼロを目指し、保護した犬が過ごせる環境をつくったり里親を探したりする活動をされている。いずれはこの分野で働きたいと考えており、エンジニアやプロダクトマネージャーの経験を活かし、Webの力を使って活動を支援できるような動きをしたいと思っている。昔しんどかったときに犬に助けられたので、その恩を返したいという気持ち。
フィリピンに行って揺らいだのは、狂犬病の野良犬や貧富の差など、人の命に関する社会課題がまだまだあるということを目の当たりにしたこと。知識としてはあったが自分の目で見るとまた違う。優先度をつけてはいけないものだが、人の命がまず守られないといけないのでは、と自問することになった。こうやってグローバルでみると様々な社会課題があるなかで、自分が取り組むのは犬の保護活動で本当に良いのか?狭い視野で考えてしまっているんじゃないか、という自問。これは旅行中に何度も考えることになった。
いろいろと考えたうえでの自分の結論としては、それで良い、である。いろいろな社会課題があるが、それに優先度をつけるのはそもそも難しいし、自分が興味・関心がある範囲でやれば良い。ジェンダーだったり教育であったり、気になる課題は人によって違う。関心の高い課題に取り組む方が良い結果が得られやすいと思うので、各々が自分のできる範囲でできることをやれば良いと思った。そして自分が関心があるのが保護犬の活動なので、それをやる。
ビジネスでも世界の課題を並べて課題感の大きいものから着手していくのではなく、身の回りの困っている人を助けることや、世の中に必要だと自分が強く感じるものを作ることから始まって会社ができたりする。そして会社が大きくなったら他の課題領域に取り組んだり、社会貢献活動を行ったりすることもある。まずは自分から見えている課題に取り組む。その道中で他の課題を知ったり自分の興味関心が移ったら、それをやれば良い。逆算ではなく積み上げ式で良い。こんな感じで自分の中では落ち着いた。あとは、インパクトの大きい課題といっても人によって感じ方はまちまちだし、当事者でないものが課題感の大きさを測るものではない気もする。自分に見えてるところからやるので良いのかなと思っています。