正射必中

2025/04/13

「正射必中」という言葉がある。弓道において、正しい射法であれば必ず的に当たるという意。的に当てようとしすぎるとフォームを崩す。意識すべきは的ではなく正しく射るその姿勢にある。

目的をもって行動することが賞賛されているが、目的だけを見て視野が狭くなっていては勿体無い。達成したいがあまり強引な方法をとってしまっては長期的には損失が大きい。その目的に向かう正しい方法を考え、それを保つことを意識する。正しいプロセスを磨き続ければいずれ必ず目的地には到着する。

Webサービスの成長を真面目に考えると、売上の構成要素をまず分解し、次に各要素をどう伸ばしていけるかを議論することになる。この進め方自体はとても良い。曖昧に「売上を上げよう!」と言っていても聞き手は何をしたら良いのかわからない。細かく分解して自分の手に追える範囲に落とし込むことで初めて行動につながる。例えばWebサービスの「継続率」はひとつの要素になりやすい。継続率をあげるためには翌日また訪れてもらうにはどうすればよいかを考える。質の高いコンテンツを提供する、明日のお得情報を伝えるなど具体的に考えられる。チームの目的と行動が一致していれば推進力は大きくなる。

しかし正しいフォームを意識できてなければ歪んだ方向に進む。例えば「毎日メールやプッシュ通知を配信する」。大量のメールやプッシュ通知を送ればサービスに来てもらえる確率は当然あがるので継続率は向上する。しかしお知らせする内容が価値の低いものであればユーザーは離れていくだろう。目先の継続率はあがっても長期的にはサービスの価値を毀損する例としてよく挙げられる。

ではどうすればよいか?「継続率」という指標だけではなく、そのWebサービスが作りたい未来をチームで共有する。ユーザーの生活をこう変えたい、5年後にはこういう状態でいたいというビジョンが共有されていれば、目先の目標達成のために曲がった行動は取られにくい。大抵の使いづらい機能は悪意ではなく、むしろ目標達成のために一生懸命考えられたものが多い。一生懸命考える努力の方向を揃える。チームとしてどうありたいか、正射必中の意識が必要だ。


旅行前夜

2025/04/12

学生の頃、修学旅行の前日に体調を崩して参加できない同級生が何人かいた。受験当日にお腹を壊す人も。幸いなことに自分はここ一番では万全な体調で臨めてきたが、一度でも体調を崩した経験があったらそれ以降毎回ビビるだろうな〜とよく考える。大事なプレゼン発表があるとして、その日に体調が優れなかったらどうしよう?という不安は常につきまとう。その不安を感じずに臨めるのは、修学旅行や受験を良い体調で迎えて来れたこれまでの成功体験が支えとなっている。

今は以前ほど自分の体調に自信がなくなり、いつ調子を崩してもおかしくない気持ちでいる。では仕事や旅行などの大事な場面をどう迎えているかというと、体調を崩しても何とかなるように予め考えておく、というのを無意識にやっている。仕事なら自分が行けなくても別の人にお願いする、旅行ならしんどい時は自分一人で宿でゆっくりする。どういう仕事をするか、誰と旅行に行くかは自由に決められる。子供の頃と違って自分が決められる範囲は大きいので、どうなっても楽しく過ごせるように計画を立てることはできる。

計画を完璧にこなしたい気持ちもかなり薄れてきた。むしろ計画通りに進むだけでは面白味が少ない。ふと入ったお店のご飯が美味しいような、偶然に起きるものを楽しみたい。こう考えていれば計画通りに進まなかった時も穏やかでいられる。人生は計画通りには進まない。いろいろと苦しいことや悲しいこともあるが、起きた事象をただ受け止められる心境を保ちたい。悪い出来事が起きることをコントロールはできないが、それがどういう経験なのか自分で意味付けすることはできる。体調が悪ければ悪いなりの戦い方がある。


日記を231日続けて書いている

2025/04/11

日記を毎日書き始めて231日が経った。これが232日目の日記。始めるからには1年は続けたいと思っていたが6割の地点までは来た。当初に書きたかったものはほぼすべて出し尽くしたが、今もまだ楽しく毎日書けている。

最近は「今日は書くことないかも」と思いながらパソコンを開く日もある。そんな時もその日の出来事や最近気になってることを振り返るとトピックが出る。そのトピックについて書いているうちに続きの文章が思い浮かぶ。朝起きて体調が悪いような気がするとき、逆に朝散歩に出かけるとスッキリする時がある。頭のモードが切り替わるというか、体がオンになるというか。もちろん本当にしんどい時は休むべきだが、動き出すとそのまま「動」の状態が続くという特性はありそうに思う。

体調について言うと、232日の間大きな病を患うことなく過ごせているということでもある。日記はなんの強制力もなく完全な趣味でやっている。命や生活の危機が大きくなれば省略される事項の上の方にあるだろう。それが続いているのは平穏な毎日を送れているということ。「毎日書きたい」という自分との約束を守れているのもちょっと嬉しい。誰かに強制されたものじゃないからこそ続けられているのかもしれない。このままもうしばらく楽しんで続けていきたい。


制約があるから工夫が活きる

2025/04/10

個人開発で数週間悩んでいた問題がある。ChatGPTに壁打ちしながら色々試すもなかなか上手くいかない。仕事や家事中も何となくずっと心地悪さを抱えていたが、今日ふとしたキッカケで前進。そのキッカケとは夜までに絶対終わらさないといけないという制約だった。

夜に開発中のその機能について話す場があり、そこまでに何とか終わらせる必要があった。そうなると色んな手段を使って解決しようとする。実質1時間くらいで解決。数週間のモヤモヤが嘘だったようにすぐに機能を追加できてしまった。

振り返ってみるとこれまでは本質的な、よりエレガントな方法で解決することにこだわっていた。それはエンジニアとしての矜持や「本来はこれでいけるはず」というこだわり、適当な実装で誤魔化したくないという学習意欲がそうさせていたように思う。向き合うなら向き合えばいいが、ダラダラとべき論を述べているだけでは前進は見込めない。それよりはガムシャラでも少しずつ前に進んだ方が良い。ちゃんと理解した方が結局早いケースも多いが、コアの機能でなければ誤魔化しの実装でその場を凌ぐことも時には重要だと思う。

下手な方法でも一度進んでみれば見えるものは変わる。別の良いやり方が見つかるかもしれないし、そもそもその機能自体が不要だと気づくかもしれない。「完璧を目指すよりまず終わらせろ」とはFacebookのザッカーバーグ氏。まず終わらせる。完成したらリリースするのではなくリリース日を決めてそこに間に合うようにアクセルを踏む。仕事と違い好きなペースで取り組める個人開発では、特にこの諦めのバランスが必要そうだ。


要素が多くても情報の交通整理がなされていればシンプルでいれる

2025/04/09

Webサービスのデザインでシンプルさを保つのは難しい。最初は機能が少なくてシンプルに作れていても、要望に応えたり機能の追加をしていくと要素はだんだん増えていく。シンプルさを維持したいがために機能追加にNGを出していては成長が止まる。つまり要素の増加を受け入れ、さらにシンプルなままでいるという相反するものをどう実現するかが知恵の出しところになる。

ヒントとなるのが情報の交通整理だ。エンジニアになりたての頃、競合調査でeBayという海外で人気のオークションアプリのデザインを調べたことがある。オークションアプリは決済や配送も絡むため複雑になりやすい。さらにeBayは老舗で、歴史的に追加されてきた機能も多くてかなり要素が多い。それなのに使ってみるとすぐに理解でき、アプリ内はすべて英語表記だったにも関わらず感覚的に操作することができた。

チームの先輩たちと話したところ、その理由は「情報の交通整理」にあるという結論に至った。例えば購入画面ではクレカの情報や配送先住所などさまざまな入力が必要だが、それを一つの巨大なフォームで入力させるのではなく小分けにする。ゴールが見えない中走るのは辛い。「ステップが10個あって、いまは4個目です」と教えてもらえれば時間がかかっても頑張れる。全体を俯瞰させ、注意の払い先をステップごとに細かく分解することで集中力を保たせる。10年以上前の出来事だが、要素の多さイコール複雑とは限らないのか、と感動した記憶がある。

シンプルさを保つ別の方法として、ステップを減らす方法を考えてみる。例えば3つの操作があるとして、それをまとめて行える1つのボタンを用意するとどうだろう。見た目上は作業が3分の1になっているが、その内部で何が行われているか理解できずユーザーは学習の機会を失う。学習できなければ予測できない。毎回そのボタンを押すときに小さな覚悟が必要で、それは目指すべき「手に馴染む」状態からは程遠い。もちろんボタンが100個置かれていてもそれはそれで学習コストが高いので実際はバランスになる。どこを省略してどこはすべて提示するのか、それも情報の交通整理のひとつと言える。