麻雀と仕事は似ている

2024/11/04

最近麻雀にハマっている。歳の離れた兄の影響で小学4年生の頃麻雀のルールを覚え、大学時代に友達と打ち、最近はAbemaTVのMリーグを観て、オンラインやリアルで友人と打ったりしている。麻雀は仕事と似ているという説もあり、日常へのフィードバックが多い趣味だと思う。

麻雀は4人(ないし3人)で卓を囲む。1局で和了(あが)れるのは4人のうち1人だけ。他のプレイヤーの出方や雰囲気を見て自分の行動を調整する必要がある。技術と運が半々で大事である。サッカーやバスケなどのスポーツはプロが素人に負けることはないが、麻雀では1回きりの勝負なら素人が勝つこともある。ただ100戦したらプロが勝つ。そういう戦いである。調子が良いときは誰でも勝てるが、調子が悪いときに如何に工夫してダメージを最低限にしたり和了への抜け道を探すか。そこに技がある。

最善を尽くしても運が悪ければボロ負けするときもある。その時は気持ちを切り替える。自分の考え抜いた一打を信じる。プロそれぞれに打ち方の特徴があり、Mリーグを観ていてもあのプロならこう打つがこのプロはこう打ちます、みたいな人による違いがよく解説される。どれが正解というわけではなく各々のスタイルを貫いた上で一番を決めるスタイルウォーズ。ただし自分のスタイルを曲げて負けると後悔が残る。あるスタイルが得をすることもあれば損をすることもある。自分のスタイルでブレずに戦うプロの姿には感動をもらえる。

大学時代にはこういった麻雀の性質をまったく理解しておらず、ただ自分の手だけに集中してよく負けていた。Mリーグ(とその前身のRTDリーグ)を観てから麻雀の面白さに気づき、友達に声をかけてまた打つようになった。プロの手をプロが解説する、一打一打に込められた想いや考えを言語化してくれる。チーム対抗なのでスポーツ的な盛り上がりもありつつ、麻雀への理解も深められる素晴らしいコンテンツだと思う。声をかけた友達とは正月やお盆、ゴールデンウィークなど年数回集まって麻雀するのが恒例となり、その日は朝から夜まで麻雀をしながら喋る楽しみな一日となっている。

サイバーエージェントの藤田社長は麻雀と経営が近しいと言っている。ハライチの岩井さんは麻雀を運と実力の入り混じった最高のゲームと呼ぶ。適当に打っても楽しいが、私はルールの理解や読みの深さ、そして自分の読みをどこまで信じられるかが面白いポイントに感じている。最近は牌効率という、この場面ではどの牌を切るべきかを考えるテキストなども買ってしまった。麻雀の面白さにズブズブとハマっている。


ChatGPTに本気で向き合う

2024/11/03

先日飲み会で同僚が「ChatGPTと2時間本気で向き合った」と言っていた。ChatGPTの凄さはすでに体感している人も多いと思うが、本気で向き合うとはどういうことか。曰く、何かを調べるときに検索エンジンの代替として使うのではなく、難しい仕事をする壁打ち相手として深く話す使い方をすることを本気と呼んでいた。

技術的に複雑な設計、例えば権限管理について、自分で調べながら設計していくのは中々骨が折れる。権限の最適なあり方はサービスによっても異なり、どれが良いと一概に言うのは難しい。「権限管理」のキーワードでググって出てくるのは一般的な手法で、ロール制御には大きく二つのやり方があって〜といったエントリー的な内容が多い。

自分のサービスの情報を伝え、実現したい権限の仕組みを言語化して伝える。ChatGPTから返された回答に不服なら追加で考慮して欲しいポイントを書き、会話して深めていく。回答の精度が高まるようにいろんな前提情報を注ぎ足す。文脈が多いほど良い回答が得られるので、やがて自分の欲しかった情報に辿り着く。

思えばベテランの先輩に聞くときも同じことをしていた。何かの仕事に行き詰まったとき、実現したいこと、自分で考えたこと、試したこと、どのようにうまくいかなかったか、などを事前に整理して伝えて相談する。エラーメッセージなどがあればそれも添付する。そうして初めて問題解決に向けた議論を始められ、そこからは深堀りの質問の受け答えをしながら答えに辿り着く。今はもっと賢くなっているが、登場直後のChatGPTは四年生大学卒の新入社員だと思って接すると良いと言われていた。一般的な知識や教養はあるが、仕事の専門性はまだない状態。質問の文脈をできるだけ与える考え方はいまも有効だ。

先日のアップデートで、ChatGPTに検索モードが追加された。これは質問に対して情報をインターネットから検索し、それに基づいて答えてくれる機能。試してみるとZennやQiitaといった技術共有サービスから個人ブログまで様々なところから情報を集めてきて、それを元に回答してくれる。「淡路島の観光スポット」などを調べてもいろんなサイトのクチコミやランキングを総合したような結果を教えてくれる。これは新しいことを調べる時に人間がする行動とまったく同じ。情報ソースも明示してくれるようになり、内容が疑わしい場合は自分の眼で確かめられるようになったのも大きい。

プログラミングにおいて、AIを活用できるかは人間側の能力がキャップになるという説がある。コードの生成はAIが得意とするところだが、それが期待通りに動くものかは人間が判断する必要がある。部分的に修正を依頼したり、AIに伝わりやすいように言い換えたりする。そのためには人間側のスキルのキャパシティをあげておく必要がある。超人でなんでもできるパートナーが登場するというよりは、自分が3-4倍動けるようになるというのが感覚に近い。行動レベルはそのままで並列に実行できるようなイメージだ。AI活用のために自身のレベルアップが重要、そしてそのレベルアップのための勉強においても、ChatGPTは強力なパートナーになってくれる。


人にすぐ影響される

2024/11/02

人に影響されやすい。偉人の自伝を読むと翌日からそのように振る舞ったりするし、Appleの本を読めばシンプルで洗練されたデザインを作りたくなる。良いサービスに触れるとそれを応用できないか考える。身近な人でもそうで、近くで一緒に働く人の考え方や仕事の進め方を勝手に真似ていってしまう。

大学の頃に聞いた話では、身近な人の名前を10人あげていき、その人たちの年収を平均したものが自分の年収になるらしい。有名なコンサルの大前研一氏も自分を変えたければ環境(付き合う人)を変えろと言っている。普段の生活で触ったもの、見たもの、聞いたものが自分の思考になる。周囲に似る性質があるので自分がなりたい人たちの中に身を置け、というのは的を得た助言な気がする。私も気持ちのいい友人や知人と一緒にいる時間を最大化したいと思っている。大人になると用事なく人と会う機会も減り、放っておくと関係性は薄くなる。繋がりを保ちたい人には自分から声をかけるのは意識したい。

人を真似てしまうのは悪いことではない。「コピーキャット ― 模倣者こそがイノベーションを起こす」では優れたものの模倣の組み合わせがイノベーションだと定義している。世の中で流行っているもの、過去に流行ったものに対して別角度からアプローチする。例えばプリクラが人気だが、それをスマホで使えるようにするにはどうするか?切り口を変えると新しい体験が提供できる。

パーツは模倣でよいが、どのパーツを選択するかにはセンスが現れる。良いものを良い形で組み合わせる。このパズルの組み方がセンスで、作り手によって異なる部分。どれだけ良いものに触れてきたかの引き出しの数、どれだけのパターンを試したかの試行の数などによりセンスは深められる。AI時代ではひとつひとつのパーツを作るのは簡単になっていく。それをどう利用するかを考える部分に人間の知恵が出てくる。


自分の記憶を過信しない

2024/10/31

記憶力には自信がある方だが、過信しないようにしている。気になる記事、誰かへの連絡、やることリストはその場ですぐメモする。脳みそをできるだけ空けておく。

いろいな方法を試したが、シンプルに忘れたくないことを自分宛にメールを送り、メールボックスをメモリストとして使う方法に定着した。あとで読もうと思った記事があったら自分にメールする、何かアイデアを思いついたら自分にメールする、嬉しいことやモヤることがあったら自分にメールする。URLの保存やメモの保存などそれぞれに最適なツールはたくさんあるが、その切り替えにもコストがかかるので何も考えずいったんメールするのが自分には楽。

自分にメールを送る様式は一定の市民権があるようで、一番有名なものでCaptioというアプリがある。シンプルな使い勝手で数年愛用していたが、最近サービス終了してしまい今は「Note to Self Mail」というアプリに切り替えた。元々シンプルなのでほぼ同じ使い心地。ちなみにアプリとしてはかなり作りやすい部類なのでストア上にはたくさんのCaptio風アプリが並んでいる。XでCaptio終了を嘆く声がいくらかあるが、その人たちに自分の作ったCaptioクローンを返信して宣伝してたりするのも見かける。個人開発は作るの半分、必要な人に知ってもらうのが半分難しい。

誰かが本をオススメしていたらすぐにポチる。これは見聞きしたときが最大の熱量なので、メモして後から見返してもあまり買うタイミングを掴めない。先に買って手元に置いておいて、読めるときに読むようにしている。できれば本はAmazonではなく地域の本屋さんで買いたいと思っているが、ビジネス本や技術本は置いてないし重いものも多いのでAmazonでポチる。予約注文もできるし翌日すぐ届いたりするし、便利さに飲み込まれている。

仕事ではClickUpというタスク管理ツールを使っていて、仕事中のタスクはここに登録する。期限を入れたり詳細なリンクを入れたり、他のメンバーをアサインしたり。そうやって深く使おうとするとやはり専用のサービスの方が必要なものが揃っている。職業的に仕事でメールを使うことはほとんどないが、外のお客さんと連絡するときは1日2回メールボックスを確認していた。上からメールを順に見ていき、返信するかタスク化するかしてメールは削除する。確認のタイミングでは必ずメールボックスが空になる状態にする。前職の社長が言っていた方法で、この作法を聞いてから気に入ってなんとなく真似している。気になったことはその場で解決かすぐメモする。脳を占有するものをできるだけ減らすというのは、生活でも仕事でも大事にしている。


空中戦を避ける

2024/10/30

サービスを作るとき、その仕様について議論する。この機能はどうあるべきか、この画面には何が表示されるべきか。議論の内容が複雑になるときもあるが、その時に気をつけたいのが空中戦にならないことだ。

空中戦とは地に足がついてない様で、仮定の上に仮定を重ねたり、イメージだけでなんとなく話していたりする状況。こういうときは具体例を出したり、ホワイトボードに情報を書き出したりして一度全員の視線を同じ箇所に集めたい。私は本当に重要なことはシンプルに表現できると思っているので、会議の参加者の数人しか話についていけないような状況は不健康に感じる。最先端の話をしているようであって、実は誰にでもわかる言葉にできるほど解像度が高くないだけな気がする。

チームに新しいメンバーが入るとチームが活性化するが、これは各個人が持っている暗黙知が言語化される機会が強制的に作り出されるのが大きい。なんとなくやっていたことの手順や目的を明確化する。他メンバーにとってはもちろん、自分自身にとっても良い振り返りになる。新メンバーからの質問はチームを強化するが、新メンバーからすると自分だけ分かってないような気がして気が引けて聞きづらいときもある。そんな時もやはり、「誰でもわかる地に足ついた話」を目指していることを伝えておけると幾らかは言いやすくなる。経験上、一人が話についていけてない時は大抵他の数人も分かってなかったり、理解しているつもりで少しずつズレてたりする。

暗黙知を言語化する方法は口承でもドキュメント化でもなんでも良いが、ソフトウェア開発でいうとコード上で表現することもできる。技術構成をコードで示したり、コーディングルールを設定ファイルに記述する。チームのルールから踏み外した場合はエディタ上でフィードバックされたり、あるいは勝手に自動修正される。ドキュメントは作って終わりではなく運用が必要で、更新を忘れると実際のソースコードと状態が乖離してしまう。その点ソースコードで表現しておけばズレようがないので管理を一元化できる。

前職ではペアプロという手法を導入しており、これは二人で一つのコードを交代しながら書いていくというもの。それだけでもすでにユニークだが、さらに毎日ペアを変えるペアローテーションという仕組みがあった。機能開発を誰かが担当するのではなく、その担当者がクルクル変わる。そうすることで毎日仕様や構成を言語化する必要がある。ドキュメントは陳腐化しやすいので、そうではなく細かく常に情報を同期しようというやり方で、わりとうまく回っていた。最適な手段は人や場所によって異なると思うが、地に足のついた議論は意識しておきたい。