寄付に関するNのこと
ビル・ゲイツが公衆衛生の問題に取り組んでいることは有名だが、その財団の寄付額が大きすぎて一部から批判されているらしい。寄付しすぎて怒られるというのが不思議で面白い。自分の利益ばかり追求しているとかじゃなくて、寄付しても怒られるのか。批判のポイントとしては寄付額が大きすぎて、彼が寄付した分野の問題が優先的に解決されてしまう。選挙で選ばれたわけでもないのに影響を与えすぎだ、ということらしい。ニュースの中でそれは「選挙で選ばれたわけでもない億万長者が世界のアジェンダを決めている」と表現されていて、まったく本筋ではないけど世界のアジェンダって表現かっこいいな、などと思いました。
日本では寄付文化が薄いと言われていて、これは昔寄付金詐欺が横行した影響らしい。余計な爪痕が残ってしまっている。雰囲気的にも寄付は善?偽善?みたいなのを誰かから問われる気が自分はしてしまい、「やらない善よりやる偽善」とかキャッチコピーでわざわざ寄付を正当化しないといけない。もっとシンプルにやりたいからやるで良いのに。
俳優の杉良太郎さんがしていたボランティア活動について記者から売名行為かと聞かれたとき、「偽善で売名だよ。みんなももっとして、名前を売ったらいいですよ」と答えたという話を思い出す。モヤる質問を一刀両断、という感じで気持ち良い。いま調べたら「お金がない人は時間を寄付すればいい。お金も時間もない人は、実際に活動している人に拍手を送るだけで十分」という発言もされており、これも素敵。自分にできる範囲のことをやれば良い。
最近ではクラウドファンディングに参加する人が増えたり、寄付的な活動が身近になっている気がする。投げ銭とか、広いくくりでは推し活とかもそうか。困ってる人を助ける、応援したい人を応援する、そういうのがインターネットの力もあいまってやりやすくなっている。自分もごく少額ながら寄付のサブスクをやっているが、それは自分が困っている時に助けてもらえたらうれしいから、という表現が近い。自己責任に集約するのではなく、お互いが(できる範囲で)助け合える社会になると良いですね。
AI機能を作るときの考え方 2024年9月
ChatGPTが登場してからAIが身近になり、エンジニアとしてもAIを活用した機能を作りやすくなった。例えば文章を自動でカテゴリ分けしたり、画像に何が写っているかを判定したり。こういった内容自体はChatGPT以前の機械学習でもずっとできていたことだが、新しいのは素人でも扱えるようになったこと。機械学習を勉強したプロが半年かけて作っていたようなものを、素人が1週間くらいで作れる。短く作れると改善のサイクルも回しやすい。AI活用がとても身近になっている変化だと捉えている。
私は10年ほどiPhoneアプリを作るエンジニアをしていたが、AppStoreが登場した初期の頃のような熱狂を感じる。加速度センサを使ってスマホでかめはめ波を打てるアプリが流行るなど、新しい技術が楽しまれる感じ。初期の頃に名を馳せたアプリがそのまま生き残っていることはほとんどないと思うけど、それでも黎明期からモバイルにチャレンジしていた会社・個人は早めにノウハウやフィードバックを得られ、今でも良いアプリを作っていたりする。
モバイルアプリ市場は成熟してきていて、かつては個人で作ったアプリが注目されたりそこから会社が生まれたりしたけど、今は大企業がちゃんと資本を投下して質の高いアプリを作り、それが莫大な費用でマーケティングされる。こうなると個人のエンジニアとしてはチャンスは狭い(ゲームはまた別)。初期のうねりというか、大きな会社が参入するか迷っているようなタイミングの方が個人としてはやれることが多くて面白い。iPhone登場で誰もが一台コンピュータを持ち歩くようになってマップやSNSが隆盛したように、AIでも同じような生活変化が起きる。
ChatGPTのリリースが2022年11月。まだ2年もたっていないが、GoogleやMetaなど他社もそれに追随し、いろいろなモデルや関連する技術が開発されている。流れが早すぎて専門にしていない人間が完璧に追い続けるのは難しい。AIを専門にしていない自分のような人間は大局の流れを掴みにいくのが良いとおもっていて、モデルの性能はどんどんあがるしコストはどんどん下がる。今できないことが1年後には当たり前にできるようになる。今時点のAIでできることに捉われすぎず、「こういう未来になったら良いよね」と考えながらプロダクトや新機能を考える。例えばChatGPTのモデルでも色々あるが、安く抑えるために性能の低いモデルで頑張るよりは、一番性能の高いモデルで動かして何ができるかを考える方が今後に効いてくる気がする。ちなみに自分としてはフォーマットの変換が面白いと思っていて、テキスト→絵に変換する「ドット絵日記」や、テキスト→音声に変換する「zenncast」「castmake」を作った。AI関連のニュースは追うだけではなかなか肌感で理解しづらいと思っていて、手を動かしながら学ぶのが良い気がする。作りながらプロンプト(AIに指示する文章のこと。指示の仕方によって出力がかなり違うので工夫する余地がある)や周辺技術への理解を深めていく方法は自分にあっていると感じる。
日常で使っているいろいろなツールにAIが組み込まれていくが、まったく使わないようなものも多い。そういう機能は「AIでできること」をベースに企画されたものなのかなと思う。先に課題があり、それを解決するためにAI技術が使われるのが望ましい。ただ「AI搭載」とか謳えるとマーケティング的に強かったりするのもあるし、AI活用の知見を早めから溜めておけばいずれ良いAI機能が作れるとも思うし、ここらへんは何が良いとは一概に言えない。個人としては課題解決の手段としてのAI活用を意識していきたいと思っている。
心理的安全性について
心理的安全性という言葉を初めて目にしたのは六本木の病院の待合室で、そのとき高熱が出て体調を崩し、会社を早退した私は診察を待ちながらスマホでネットサーフィンをしていた。記事の内容はGoogleの調査結果をまとめたもので、パフォーマンスの高いチームに共通する特徴を調べたところ、年齢・職種・性別・スキル・メンバーの仲の良さ・飲みにいく頻度などは相関がなく、心理的安全性という要素が大きく影響するらしい。心理的安全性とはざっくりいうと自分の意見を臆せず表明できる環境のことで、言いたいことを言い合えるチームは強くなる。こう書くと当たり前な気がするが、当時はスキルや仲の良さが大事なのかなぁとぼんやり思いつつどこか違うようにも感じていて、そのモヤモヤが晴れたようでうれしかった。その後インフルエンザと診察されて寝込むことになったのもあり、このときのことは印象深く覚えている。
それから10年経ち、特にWeb業界では心理的安全性というワードは馴染みあるものになっている。本もたくさん出ているし、チーム内で心理的安全性が話題になることもある。ただその概念はやや拡散気味で、同じ単語でも微妙に意味することが違ったりしてきており、個人的には扱いづらい単語になっているように感じる。そんな時に出会ったのが『「心理的安全性」はなぜ混乱を招き続けるのか』という記事。よくある勘違い、心理的安全性が目指すもの、対人リスク、心理的安全性を高める方法など、どのトピックも大きく頷きながら一行一行大切に読んだ(Webサイトの読み心地も抜群)。
何か気になることがあったとき、それをコメントできる関係性の方が良い。ただ関係性によっては「細かいかな」「毎回言っててウザがられるかな」「自分のやり方を押し付けてしまっているかな」などの思いが頭をよぎって伝えづらい。難しいのは関係性が希薄な初期だけではなく、仲良しになってからもこういった内容を言いづらいこと。好きな相手に嫌われるのは怖いし、純粋なフィードバックだとしてもそれがどう捉えられるかは相手次第だし、致命的なことでない限りわざわざ言わなくてよいか…と飲み込んで終わりにしてしまう場面も多い。そして数週間〜数ヶ月経つとまた同じことが気になり、言った方が良いのかまた悩む。こういうのに脳のリソースをとられてしまう。
自分の理想としては入社1年目でもベテランでも同じように話せるのが良いと思っていて、自分がベテランになってもアホな質問をし続けるのをOKとしたい。出典を忘れてしまったが昔読んだ文章で海外の授業を描写したものがあり、教師がザーッと説明したあとに質問を募ると手が挙がり、その生徒は「◯◯ってどういうことですか?」とまさに今教師が説明していた内容を質問する。日本だと「いま言ってたやん!」とツッコみたくなるが、教師は「OK、良い質問だね!」と言って黒板に向かい、まったく同じ説明を再びはじめるという話がある。登場する生徒にも教師にも学ぶことがある。心理的安全性は自動的に作られるものではないので、個々人が意識していく必要がある。まずは自分から、気づいたことは指摘してそれでも周りの評価が下がらないことを示したり、逆に指摘された場合はそれを素直に受け止めたり。まずは自分のできる範囲でトライしていきたい。
趣味はPodcastです
社会人になって10年以上経ち機会は減ったが、今でもたまに自己紹介しないといけないときがある。知らない人の前で話すのは苦手で、自分のことを話すのも苦手。与えられるのはわずか数分だけなのに、その時間とは不釣り合いなくらいストレスを感じてしまう。
人となりを知ってもらうために趣味やハマっていることを話したりする。趣味はないこともないが、人前で話すような趣味はない。散歩はあまり盛り上がらないし、スプラトゥーンは最近あまりやってないし、読書はジャンルが広すぎて共通の話題で盛り上がりにくい。何に一番時間を使ってるかというと個人開発だが、仕事と近すぎて真面目になりすぎる気がする。あれこれ考えていくうちに、Podcastを軸に自己紹介するのが良いのではないかと行き着いた。
Podcast(≒ラジオ)は学生時代から聴いていて、いまだと霜降り明星のオールナイトニッポンを毎週聴いている。オードリー、バナナマン、Creepy Nuts、YOASOBIなどラジオで好きになった芸人・アーティストも多く、家事や散歩をしながらラジオを聴くのは今でも好きな時間。同じくラジオ好きの友人と、自分たちでPodcastの配信もしている。隔週くらいで好きに喋ってるだけで多くの人に聴いてもらうことは目指してないが、それでもたまにお便り(Google Formで募集している)をもらえるとうれしい。収録時は喋ってる瞬間そのものが楽しいので、良い時間を過ごせている。
最近では個人開発でPodcastに関するWebサービスを作った。castmakeというサービスで、ブログやコラムをもとにAIがラジオを作ってくれるというもの。「今週とくに注目を集めたガジェットは〇〇です!まず、この商品は〜」などように、本文の内容に沿ってAIがラジオパーソナリティ風に喋って紹介する。その人のオリジナリティがよく出ているのが良い自己紹介だと思っているが、その点 Podcastを聴いている > Podcastをやっている > PodcastのWebサービスを趣味で作っている の順で母数は少なくなっていると思うので、独自の自己紹介にはなっている気はする。
不特定多数の場に出ることは経ってはいるが、たまにある。次のそういう機会では「趣味はPodcastです」を試してみたい。
問題を切り分ける
プログラミングをしていると、難しい場面にあたることがある。意図せぬ不具合、原因不明の挙動、ドキュメント通りに実装しているのになぜか動かない、など。プログラミングというと新しい機能を作り上げていくイメージがあるが、実はこういう調査系の時間がとても多い。3時間くらい問題を調査してコードの修正は1行だけ、というのも珍しくない。
問題を調査するのに大事なのが原因の切り分けで、これはセンスが問われる。経験が浅いとよくやってしまうのがいきなり問題を修正しようとコードを書き始めることで、これは良い手ではない。全体像が見えない状態での修正は根本原因の解決にならなかったり、別の箇所で同様の不具合が発生しているのに気づかなかったり、新たな別の不具合を生んでしまったりする。まずは全体を見渡して仮説を立て、ツリー構造の上から順にそれを確認していく。ある値を変更して不具合が再現するのを確認したり、ログを追加して不具合が起きたときに期待通りの出力があるのを確認したり、少しずつ問題を絞り込んでいくのが良い。
こういう問題特定のアプローチはプログラミングの外の世界でも役立つと思っていて、なにかトラブルがあったときにいきなり解決に当たらず、まずはその問題を網羅的に考えるようにしている。人間関係の揉め事であればAさんとBさん両方に話を聞く、他のメンバーで同じように感じている人はいないか聞く。サービスの新機能が使われていない場合は慌てて機能を継ぎ足すのではなく、なぜ使われないのかを関係者で議論し、そこで出た仮説をデータ分析で裏付ける。結局同じ対応に着地することも多いが、こうした議論を経るのと経ないのとではその後がまるで違う。長い目でみると地に足のついた議論ができるチームになる。
最近は仕事で採用面接をする機会も多い。問題特定を特定する思考法はとても大事だと思うが、曖昧なスキルなため履歴書には書かれない。どういう仕事をしていますか?と聞いて答えられるようなものでもない。強いていうなら論理的思考と近いが、それだとMECEとか三段論法とかが出てきてちょっとニュアンスが違ってくる。ただ、履歴書には書けないが、直接話せばすぐにわかる。こちらの質問を解釈する力や聞かれたことに順序立てて答える力。そういうところに自然と染み出しているように感じる。