当時私が悩んでいたことっていうのは単体テストをいくら書いても防げないバグがあること。結合バグっていうのがあって、それが残っちゃうことっていうのはすごく悩んでたんですよ。
単体テストのバグが出ることはほとんどないんですよ。なんだけど結合すると問題が出るんですよ。不思議ですよね。
これはでもよくよく考えてみると当たり前の話で、例えばフィズバズ関数の例をいつも私は出してますけど、これは前回にもしかしたら説明したかもしれないですね。
フィズバズ関数を標準入力から文字を受け取って、フィズバズあるいは文字とかフィズバズを返してくれるみたいなプログラムを考えるときに2つのコンポーネントに分けるとするじゃないですか。
1つは入力を受け付けて数の部分を抽出する。もう1つはその数を受け取ってフィズバズの文字列を返すというふうに分けたとしたらそれぞれ単体テストを通すことができるわけですよ。
標準入力のストリーミングを入れてちゃんと数字出てくる?OK。じゃあ次は数字入ってきたらちゃんとフィズとかバズとか出す?OK。
だけどもしここで、私が今数って言い方をしてたんですけど、数が文字列の数を期待して、片方は期待していて、もう片方はint型の値を期待していたとすると。
型が違うってことですね。
くっつけた瞬間にコンパイラルになるわけですよね。単体テストは両方とも通ってる。だけどくっつけるとおかしいことが起こる。おかしなことが起こる。
これは何が起こってるかというとコンポーネント同士の仕様がくっつかない。不整合を起こしてるっていうことなんですよね。
これを捉えるってことは実は従来のテストではすごく難しくて、結合テストとかエンドポイントテストとかしなければいけなかったんですけど、そこについて、いやそんなことじゃなくて景色書を使えばわかるよっていうことを教えてくれたのがその人なんですよ。
すごいですよね。新しい知見というか、領域を教えてもらったっていう。
私はその人から本当にいろんなたくさんのことを受け取っていて、特にやっぱり自分の人生を変えたなと思うのが、数学の見方を教えてくれたんですよ。数学としてのものの見方。
例えば、自分たちが何か物事を考えるときって動的な世界を考えちゃうんですよね。何かが生まれてきて、その生まれたものがまた何かを作ってまた何かが生まれてみたいなのを考えちゃうんですけど、
数学の世界ってのは最初から全てそこにあると。見つかったものは見つかったって集合の中に最初からあるものが入っていくだけにすぎないっていうような捉え方をしたりするんですよ。性的な世界を考えるんですね。
なんか難しいけど。なるほど。
そういう考え方があるとないとでは全然違うんですよ。何が違うかっていうと、こういうことは起きえないとか、こういうことはいつか必ず起こるとかっていう原名が楽になるんですよ、すごく。性的な世界。
動的な世界って何が生まれてくるかわかんないんですよ。どんなことがこの後起こるか全くわからない。
だけど性的な世界っていうのは、この後どんなことが起こるかっていうのはもうすでにそこに全部あるから、予測しやすいんですよね。っていうふうにあったのがあって、私はそのおかげでできるようになったことがたくさんあるんですよ。
ちょっと考え方が変わったみたいな感じですかね。
例えばもう本当に具体例がいくつかあって、私はその当時、プロミスっていうJavaScriptのいつか当たりが入ってくるコンペラみたいなプロミスがあったってありますよね。
Age Incubateとかのやつでよく出てくる、あのプロミス。
あのプロミスって、プロミスにはRaceとAllっていう二つの演算子があって、Allは全部のプロミスが解決ってなったら全体として解決するってやつ。
Raceってのはどれか一つでも解決すればその最初の早いものが解決する。
これをうまく使うと多数決みたいなことができたりするか?みたいなとかっていうのを考えたことがあるんですよ。
多数決、つまり三つ中二つが解決したら解決するみたいな。
なるほどなるほど。なんかできそうではあるけど、なんかどうやって実装するかなっていうのがちょっと難しそうなんですけど。
そうそうそう、どうやって実装するかなっていうのができないかなみたいなとかって。
このできるできないっていう議論を精密にやるためにやっぱり数学的な証明っていうのがすごく大事なんですよ。
その証明は私は昔は思いつかなかったんですけど、私はとうとうそれが人と一緒に働くことによって知識をもらって分かるようになって証明して、しかも否定的に証明しました。
できない。
できないということが証明できた。
逆だ逆だ。これはできないと思ってたけどできます。
できることがあるということを示したっていうのがあって、成長してるなって思いましたね。
そこでちょっと自分の成長を実感したとともに、新しいやり方を実際に具体として身につけられたっていうところが分かったっていう。
でもね、今思ってもね、その方は私の上位互換なんですよ。
なるほど、強い人がいるな。
強いんですよ、めちゃくちゃ強くて、もうね、何から何まで、あ、ダメだ、私はレッカーワンだなっていうふうに思う感じですね。
私は本当に超一流だと思いますね、あの人は。
なるほど、すごい。そういう人に触発されて、やっぱりどんどん成長してきているっていうような歴史があるっていうところですもんね、一緒に働いて。
今私が仕事の道具として使っているものは、もうほとんどその人から受け取ったものの影響が入っているといっても過言ではないレベルで。
それはすごいですよね。
本当にそのレベルですよ。
その人は師匠なのかもしれないですね、同僚と言いつつ、先を歩いている人みたいな感じですね。
でもその人は師匠とか弟子みたいな感じにするの好きじゃない人だったんですよね。
後派だ、後派な感じですね。
だから結構、個人的には本当に感謝してもしきれないくて、いつか追いつきたいなって思う背中ではありますね。
いいですね、すごい。今も頑張って追いつき追い越せみたいなところをやってるってことですね。
じゃあちょっと次の話で、ここからは今の会社の話になっていくんですかね。
今の会社だと結構接点が経営層というか上の人と役員の人とかとも関わることが多くなってきて、
その人たちのパーソナリティが前職では見えなかったのか、現職では見えるようになってきたのかって、
いやこの人たちすげえなって思う人たちが結構やっぱりいらして。
例えば今の私の上司CTOの人、石川さんって方がいるんですけど、石川さんはとにかく物事を早く進める達人だと思っていて、
早く進める達人。
早く進める達人。
すごい。
なんか現場って、誰かが決めてくれたら進むのになみたいなのに、延々とどっちが良い、どっちが悪いみたいな話して進まない時ってあるじゃないですか。
ありがちですよね。
多数決をしたいわけじゃないんだけど、みんなで合意してから動かないとねみたいな感じですよね。
そういう時にこっち来て、こっちじゃんって帰っていくみたいな。
素晴らしい。
そんな感じ。
そうするとその後の議論とかが当て間に収束して、じゃあそっちでやるかってなって動く。
意思決定を素早くしてくれる人なんですね。
そこの場で意思決定を保留されることはたぶん一度もないんじゃないかな。
持ち帰らせてくださいって言われたことは一度もないですね。
めちゃくちゃ素晴らしいですよね。
即断即決の人なんですよ。
しかもあれですかね、その決断に対してもちろん信頼も組織からの信頼もありますし、チームからの信頼ももちろん現場からの信頼もありつつ即決して決めてもらって、
その結論に対する決断の理由みたいなところも納得感あるよねみたいなところに落とし込んでくれる形なんですか。
それがですね、納得感はちょっとわからないんだけど、でもちゃんといろいろな面を見て判断してくれたんだなっていう感じはすごく高くなります。
なるほど。
面白いことに、たぶん意思決定振り返ってみると間違ってたこともあってたことも両方ともあると思うんです。
もちろんそうですよね。
結構即断即決ですから、わからない中で意思決定するってことは間違っちゃうことももちろんあるわけですよ。
だけどそれを差し引いたとしてもやっぱりそこの場で意思決定してくれるってことがものすごく速度に結びついて、それのメリットの方が明らかにでかいんですよね。
そういう動きを見せてくれたのが今のCTOの石川さんっていう人ですね。
素晴らしいっていうのはすごくおこがましいんですけど、僕が石川さんに対して。でもすごい良い上司ですね、良いCTOだなと今の話聞いて。
そうです。
意思決定者の達人だなと思いましたね。意思決定の。こういう人がやっぱりCTOとかで意思決定してくれるとものすごく速くなるんだっていうのはすごく感じましたね。
ちなみにちょっと聞きたいのが、さっき言った色々なところをちゃんと見た上で決めてくれてるんだなみたいなところが結構重要かなと思ってて。
こいつ全然見てねーけどなんか決めたやんみたいな言うのだと、あとあとちょっとモヤモヤが残るかなと思うんですよね。結構なるかなと思うんですけど。
そういうちゃんと見てくれてる感ってどこから感じ取ってるんですか?
そこは不思議ですね。でもここはもしかしたらちょっと良い部分も悪い部分もあるかもしれないんですけど。
自分と相手が同じ情報を持ってるなって思った時には、意思決定がそれで自分と反対方向に行った場合は、あれこの人なんでこんなこと言ってるんだっていうのがなりがちだと思うんですけど。
なんですけど、この人が実は社内でクラウドコードとかのトークン使用量ナンバーワン、トップ、不動のトップ。
すごい。
すごいんですよ。
物事が進まない時とかに、アドミニッシュ画面とかっていうのを作ってるのをちゃんと見せて、
こんな感じで作りますよみたいなのを示せたら、他の経営層の方の納得とか信頼とかもらえそうだよねっていう瞬間があった時とかに、
なんかもうこんな感じでクラウドコード作ったやつありますよって叩き台として使ってくださいみたいなのが一瞬で出てきて、
かっこいい。
なんだこれって思って見てみたら、何これ欲しかったものそのものじゃってなって、
かっこいい。
なんだこれはみたいなのがあるのとか、
あとはその人と結構馬が個人的に合うなと思ってるのが、数学的な思考をするっていうんですかね。
そこがすごく個人的にやっぱり面白いなっていうか、表現に力を注いでるのが分かるって感じなんですよね。
例えばその方のやつでいくつか面白いのがあって、アクセス権限への考え方みたいなのがあって、
ある人、組織上でアクセス権限ってよく最小権限の原則とか言うじゃないですか。
つまり必要なものだけを持っていて、必要じゃないものは持っていないっていう状況が一番いいよねと。
だけど組織論的にはそれはちょっと実は実現が難しくてとかっていう話とかを、結構数学の集合とか使って集合論とかで話してくれるんですよ。
まずこれが許可を持っているべき人だろう、次に許可を過剰に持っている人がこの集合だろうってなって、
それで足し算とか引き算とか合併とかをしたりして、これが持っているのが理想なんだがとかって話してくれると、
めちゃくちゃ精密に理解が伝わるんですよ。何を考えているのかっていうのが。
そういう専門役員の人なんているんだっていうのが私は個人的にはすごく驚きだったっていう。
なんか単純に今の話聞いてて、頭いいなって思いましたね。
そうそうそうそう。
そういう伝え方してくるんだっていうので。
私はこの人のすごいなって思うところのもう一つが、私は彼以上のPO、プロダクトオーナーを見たことがない。
すごい。
彼以上って言うと性格的には間違いですね。彼より上のプロダクトオーナーを見たことがない。最大って意味ですね。
彼のすごいところは、個宅が何を欲しがっていてとか、あるいはそのドメインがどうなっててとかってことを知り尽くしてるんですよ。
だからここはこういうふうにドメインの規制になってて、ここでこういう事件が起きてたじゃろ、これはこういうふうに解釈するもので、だからこれから先はこうなっていくんだみたいな予測を描ける人なんですよ。
ドメインエキスパートってことですよね。
ドメインエキスパート以上じゃないですかね。何なんでしょうね。
すごいですねそれ単純に。
ドメインエキスパートの人って大抵ドメインは理解してるんだけど表現ができない人が多いんですよ。
例えばよく個宅の欲しかった物ってあるじゃないですか。
大抵上司とかの人じゃなくて現場の人たちと話を聞いたりする。その人たちはドメインエキスパートですよ。
なんだけど彼らがどうして外に人たちにシステムの開発とか依頼するかっていうと、やっぱり何が欲しいのか分かってないし作り方も分かってなかったからっていうのは結構大きいと思ってるんですよね。
それを両方兼ね備えてるんですよ。ドメインエキスパートでありかつ説明能力がある。
スーパーマンじゃないですか。
スーパーマンですね。
だからその人の書いた文章とか見るとなるほどなーってなるんですよね。
情報密度が高いですよね。
情報密度高いですし、ありふれたことじゃないんですよ。
すっごく納得の筋のいく未来予測であり戦略なんですよね。
これはすげーなって思いましたね。プロダクトだったらこうあるべきなんだっていうのを教わった感じがありますね。
ドメイン知識もありつつも表現もありつつで、しかも手も動かせるってことですもんね。
手も動かせます。
すごいですよ。
技術的に何ができるかどうかさえも分かってるっていうところですもんね。
分かってる。
でもねやっぱりちょっと変な人なんですよね。
変な人なんですね。
机の上によく音声のスペクトルをピコピコやるようなオーディオの装置に入ってて
高音の時に高いところがピコピコして、低音の時は低いところがピコピコしてみたいな
ああいうやつあるじゃないですか。
FFTとかでソフトウェア変換とかでやるやつあるじゃないですか。
あれがなぜか机の上に売ってたんですよ。
これなんすかって聞いたら、AIの喋ってる感が欲しくてって言ってて。
ああなるほど。波形を常に表示してほしいっていう。
そうそうそうそう。
何言ってんだろうって思ったんですけど。
いいですね。でもなんか面白そう。
面白い人なんですよ。
ちょっとあれは理解が及ばないと私はすごく面白いと思うんですよね。
ユニークなところもありつつも、実務能力とあとはもうとにかく知識量が多いというところがすごいですね。
実際にやっぱりインプットがあって考えられる知識もありつつも、
それを実際にアウトプットもできるというのも相当強いですよね。
沢村さんがもしいなくなってしまったらとても大変なことになりそうだなって思うぐらいキーマンではないかなと思うんですけど。
キーマンだと思います。
実際沢村さんができることをやることはできると思ってるんですよ。
なんだけどものすごく時間がかかると思います。
それを短時間でやっておけるのはすごいなと思っていて。
例えばお客様の欲しいものとかドメインがどうなっているかってことは調べたりヒアリングすればだいたいわかるんですよ。
ユーザーインタビューとかいっぱい繰り返したりだとか。
だけどそこでわかるのって時間かかりますよね。
ユーザーインタビューの準備とかも含めたら普通に1ヶ月とか2週間とか3週間とかかかっちゃうわけですけど。
それをもうすでにトレース済みなんですよ。
つまりこの人たちは何を考えてこれをやっているかっていうのについてすでに考えが及んで、これが最適な行動だみたいなのがすでに頭の中にあるんです。
だからお客はこう動くのが正解だっていう予測をしている。
いやー。
すごいね。
真似はできるけど、同じ速度じゃその出力は出てこねえなみたいな感じなんですよね。
だからそれがやっぱり、これもやっぱり物事の速度を速くすると思うんですよね。
組織をいい方向性に持っていくための意思決定っていうのの角度が断然違いそうですね。
情報量の多さとかそういったところで。
実験しないでも聞けばわかるっていうのがすごいですよね。
沢村さんに聞いたら出力としていい感じの答えが返ってくるってことですもんね。
そうそう。
単純に。
これってそう、これやったらこうなると思うんですけどどう思います?ちょっとなーとかそういう感じ。
これなんか前の上司の人と似てますね。
なるほど。
でも。
なんかファインチューニングされたLLMみたいな感じですよね。
すごいんですよ。だからその説明もやっぱりいちいち納得感があるし。
すごいな。
すごいんですよね。
今の話、石川さんと沢村さんの話だけですけど、多分他にもすごい方いっぱいいるんだろうなとは思うんですが。
この2人の方の話聞いただけでもコインチェック社すごいなと思いましたもんね。
ちょっと面白いですね。だいぶ面白いと思います。
普通にコインチェック社の宣伝にもなるなぐらいなことを思います。
そうですね。
素晴らしいから。組織としてね。組織って素晴らしいんで。すごいなと思ったんですけど。
っていうところらへんですかね。すごいなと思ったっていうような瞬間だったりしたっていうところ。
もちろんここには挙げてないけどやっぱりすごいなと思った人はもっといっぱいいるんですよ。
それこそインターネットの中とかにいっぱいいるんですけど。
身近なっていうとこんな感じかなって印象ですね。
もちろんもっと細かいところを見ればここすごいなとかっていうところは数限りなくあるわけですけど。
特に私の人生によってインパクトが強かったみたいなとなるとそんな感じかなって。
ありがとうございます。
やっぱりこの聞いていく中で今の国明さんを形作っていったんだろうなっていうところが。
今のコインチェック社のお二方は経歴的にも直近なんでそこまで国明さんにとってのみたいなところは若干薄いかなとは思うんですが。
特に全職のところの部分に関してはかなりスキル的なインプットっていうのがかなり絶大だったんだろうなという話聞いてて思いました。
絶大ですよ。
基盤になってそうだなと思いますね今のスキルセットの大部分が。
すごいやっぱいろいろ会社見ておくべきだなってなんとなく思いましたね。
いろんな人に面白いなと。