こんばんは、Yokohama North AM第83回です。
Yokohama North AMは、ウェブ系エンジニアがテック系のキーワードをネタにして雑談をするポッドキャストです。
本日の相手は、げんえいさんです。
よろしくお願いします。
いや、よろしくお願いいたします。
そうですね、やっぱり2回やるとちょっと嘘臭いでしょ。
そうですね、今さっき事故ったばっかだと。
なんでですかね、僕は録音ボタンどうしても押し忘れちゃうっていう癖があります。
リハビリ期間中なんで、まだ。
リハビリ期間中ですね。
でも、すごくゲストアサインをしないっていうことで気が楽になりました。
でも、それはそれで直前まで誰も来なかったら不安にならないですか?
いや、ならないです。何にも感じないです。
強い心で生きていこうと思って。
誰もゲストが来なかったら、一人で俺は今週のPHPの作業を黙々とやるっていう配信にしようっていう。
どっちに転んでも僕は得だっていう感じになるので。
大丈夫です。
いいですね。
そうなんですね。
今日はせっかくげんえいさん来ていただいたんですが、本の話はもうそろそろ封印しようと。
どうせ会社でも話するし。
そうですね。本の話を聞きたい人は直接話しかけてください。
いくらでもするんで。
いくらでも出ますね。止め戸もないですからね。
なんで今日はちゃんとテックの話をしようということで。
ホストは何の準備もしてないんですけど、ゲストがちゃんとトピックを持ってきてくれたので。
それを一個ずつ適当に話すと面白いかもしれないという感じですね。
そうですね。
何かあった?何がいいかな?一番最初。
どれからしゃべります?私はどれからでもいいんですけど。
どれがいいかな?急に。
触れてもなっていう気持ちもありながら。
一番最初に住所正規化の話があるんですけど。
これは多分割と歴の長いエンジニアの人はですね。
だいたいあのkenall.csvってやつをダウンロードしてデータベースに叩き込んだ後、
俺はなんてものに手を出してしまったんだみたいな感じに。
そうですね。あれはマジでやばいですね。
kenall.csvはcsvと書いてあるが、俺の知ってるcsvとまず違うという気持ちになり。
そして日本の住所っていうのはこんなにもイレギュラーなものがたくさんあるんだっていうことを
あそこで勉強して、ああという気持ちになり。
これを金を払ってでも解決したいという気持ちにきっとなりますね、多くは。
そうなんですよ。住所系の話が出た時に、
もうめちゃくちゃ会社の中の人にはもうサービスがあると。
やる必要はないと。
強い心でこう言っていくというのをやってましたね。
もうサービスがあるから。
そうですね。kenall.csvっていうサービスがあるからこれを契約して後はAPIを叩くだけです。
終了みたいな。
もうできてます。制作は完了しております。
それでいいかなっていう話ですね。
歴史を知りたい方は自分でやってみるといいかなと思いますね。
kenall.csvは更新がかかるんですね。
その時に君は僕たちの気持ちがわかるようになるみたいな。
そういうのがありますね。
そうですね。
でもこれ、kenallっていうサービスがまさにあるんですけど、
そこがテックブログを書いていて、こういう面白いイレギュラーケースがあったよみたいなのを結構紹介してくれたりとかしているんで、
そのテックブログを読むだけでも、多分これは難しいんだなっていう気持ちがすぐわかるというか。
一番びっくりしたのは、郵便番号を入れたら都道府県とかなんとか市ぐらいまでは多分結構通販のサイトでサポートがされると思うんですけど、
自動で保管してくれると思うんですけど、
だからそこって一対一対応というか、少なくとも郵便番号を入れたら都道府県ぐらいは決まるだろうって僕はずっと思ってたんですよね。
細かいところまでは絶対無理だろうと思ってたんですけど、
でもブログを読んでると、郵便番号から帰ってくる住所は配列で帰ってきていて、2県帰ってくる場合もありますっていうことがブログで見たことがあって、
しかも都道府県が違うっていうふうにやっていて、
そういうものもあるのかっていうことが分かり、もうこれ無理じゃんみたいな気持ちにしかならなかったので、やっぱり難しいんだなっていう気持ちになりましたね。
なんかそうですよね、僕もデータベースにユニークキーで郵便番号を入れたとき、データをインサートしている途中にユニークキー制約で落ちるみたいな話があって、あれ?みたいな。
これは、でももう時間がないから一旦こいつは無視して、大体動く形にするかみたいな、その場での良くない最適化が行われてサービスをするみたいなのも経験しているので、すごく分かります。
という感じですね。
この話は多分、ただ辛い話なので、しっかりやれやと言われてもみたいな感じがありますね。
なんかあれだな、今日ATMが不安定だな、なんか怖いな、たまにちこちこ点滅しててちょっと怖いな。
まあ気にせず行きましょう。
なんとかなるでしょうね。
ローカル録音が残っているはずなんで。
そうですね。
で、次ですね。
それについては理算数学の話とWebDBプレスの135号を読んでねっていうふうに書いてあったんで、
それを待つしかないという形なんですけど、
いろんな考え方があるんだなと思って、やっぱ面白いなと思って。
これとかはやっぱあれですよね、
具体的に自分たちが解きたい問題の時はやっぱどうなのかっていうことと、
一般的にこう、一般的にって言うとちょっとあれですけど、
述語論理だったりとか明大論理だったりとか、
カラ集合に対する云々観音はどうなるの?みたいな話がされている歴史はあるので、
歴史はこうなっておりますっていうことを認識するのと、
じゃあ自分たちが解きたい問題ってカラ配列の時どうなるの?っていうことをちゃんと定義して動作を決めればきっと問題はないはずだが、
なかなかこの時はどうなんですか、あの時はどうなんですか?みたいなことをいっぱい出てくると、
それはそれ、これはこれ、みたいな話しかできなくなり、
そうですね、燃えますね、みたいな感じですね。
これかつプログラミング言語の実装にもきっとよるんですよね、何が返ってくるみたいなのっていうのは。
だからそこも考慮した話になるんだとすると、本当場合によっちゃうんだろうなと思って、
なんかみんな仲良くすればいいのにとしか思わなかったわけなんですけど、
そうですね。
世の中は結構大変だねみたいな話になって、みんなで勉強になってよかったねになればいいなと。
だからやっぱ直感的にこうって決めつけてその話を持っていくんじゃなくて、
やっぱりこう直感的にこうだけど、でも本当にそうなんだっけっていうシステム1、システム2じゃないけど、
ああいう思考のトレーニングとしてすごくいいお題なのではないかなってちょっと思ったりもしましたね。
そうですね、だから考えるっていうことが大事なんですよみたいな、
なんですかね、月並みな大人の意見になってしまうんですよ。
そんな感じ。
ここら辺が割と真面目なテックの話で、もう残るやつはだいたいチーム系の話になってるの?
そうですね、これは私が最近やっぱこの1年ぐらいチーム開発についていろいろ考えたり実践したり、
あちこち話を聞いたりしてるからっていうところで、テックの人たちがチームの話をしてるので、
これもテックの話だろうと、大広くは。
いや、全然テックの話だと思いますよ。
っていうか、僕もチーム開発の話はすごいしたいですね。
好きだし。
そうなんですよね。
だからこう、上手くいくと上手くいくんだけどなみたいな。
そうですね、上手くいかないと、頑張って立て直さないと負のサイクリに入ってしまうというか、
そしてチームはバラバラにっていう世界が終わっていく感じですからね。
今ちょうど福岡のカンファレンスで、レガシー回避のソフトウェア開発熟通みたいなのを、
まあまた複雑ですからね。
作るものが。
そうなんですよね。なんか簡単なものってもうみんな作れるようになっちゃったから。
だんだん複雑で複雑だからみんなやらないからこそここにはまだ競合が少ないとか競合がいないとか、
ブルーオーシャンに見える場所があってそこに飛び込んで、
成果がだんだん出てくるとあそこは金になるらしいぞって言って、
いろんな人たちがこう参入してきて、競合が増えていき、
パイの取り合いになり最後はこう血の海になっていくみたいな、まあそういう感じですよね。
まあもう全くその通りですね。今まですごいなこの機能みたいになってたのが、
まあライブラリとか使って普通じゃんみたいな話になって、
そうするとこうやっぱこう週刊少年ジャンプのこう戦闘系漫画と一緒でどんどんインフレしていくというか、
なんかこのボスは実は大したことなかったみたいな話になっていって、
あれみたいなこの戦いに終わりはないみたいな、
誰も得していないみたいな話になりかねない。
しかもなんかこれからまたもう1回ゲームチェンジというか、
ここからそのプロダクト開発のゲームチェンジみたいなのが来るかなと思っていて、
やっぱそれはチャットGPTがあるおかげで、
多分個人のできることの幅だったり深さだったりとかっていうのが、
多分ガッとできる人はもっとできるみたいなことが起きるっていうか、
多分もう実際起きてるでしょうけどと思っているので、
なんかあの十数年前のAPIというものが出てきて、
みんなそれでマッシュアップでいろんなものを作っていた時代が、
なんかまた蘇ってくるんじゃないかなっていうのはちょっと思ったりとか、
実際にそういう話を他のポッドキャストとかでされてる方がたくさんいて、
実際なんか作りましたとか、
こんなのやってチャットGPTとペアプローチして作ったんですよねみたいな話が出てて、
もうやっぱりなんというか早い人はもうそこまで来てるんだなって思うと、
多分簡単なプロトタイプとかMVP仮設検証したいものをちっちゃく作って、
誰かに触ってもらって、
じゃあこれって売れるの?売れないの?みんな欲しいと思ってるの?みたいなのは、
今までなんか10人だったのが2,3人でできますとか、
5人だったら1人でもできちゃいますみたいな風になってるから、
より複雑なものが何というか求められるというか、
この単機能だけじゃ売れないんだけど、
これとこれとこれとこれとこれとこれ、
なんか10個ぐらい機能が全部揃ってると売れるみたいな世界が、
さらにさらに来るんだろうなっていう気持ちはちょっとありますね。
今の若者の世代ではやっぱりそこら辺がもうちょっと異なってきてますよね。
もうちょっと中小化したレイヤーから作業するようなイメージがある。
良いけど良くないみたいな。
僕たちもそこから昔のエンジニアはパンチカードでプログラム読めたとかっていうのとあんま変わらないのか。
バイナリー読んでここにフラグ当たってるとかって分かっちゃう人がいるみたいな。
僕はもう絶対それはできないなと思いながら。
確かに。
CPUの構造、周りでCPU好きな人とかで話をしてるっていうのを見るけど、
何のごっちゃか全く分かんないんですよね。
僕はCPU全然詳しくないから。
それは要は綺麗に隠蔽されてるわけですよね、その詳細が。
もちろんです。
それでいいことでもあり、でもあるタイミングではバグを踏んだりとか、
そこの構造が分かっていることによってパフォーマンスのチューニングができるみたいな、
職人間はまだまだ生き残っているといえば生き残っているが、
みんなが知る必要はないよねって言えばそうだよねっていう気持ちにもなるんで。
新しい道具がいっぱい出てくるんで、その道具をやっぱり上手に使いこなすとか、
それで価値を出すっていうことの方にみんな注目するのかなっていう気はしますね。
その通りだ。アウトカムの方向性はそっちですね、完全にそっち。
そうですね。
興味があるやつだけ細けっこの調べでいいんだ。
そうそうそうそう。
PHPってどうやって実装されてるのかなって新言語を読みに行くとか。
そうですよね。
いや俺は別にPHPの詳細は知らなくていいんだ。
PHPを書いてお金をもらうんだ、アウトカムを出してお金をもらうんだっていう人と、
多分二分されるだろうし。
二分といってももちろんグラデーションはあると思いますけど。
そうだな。
だから寄与でした。
一番大事なのは価値を提供するっていうこと。
でも逆に言うと価値を提供しないと何をしてる人なのっていうことにされたりとか、
間接部門っぽくなるわけじゃないですか。
そうですね。
そこはものすごい、そこで生き延びるのは今度また難しくなっていきますよね。
生きていこうと、それで食っていこうと思ったときに、
直接のアウトカムを出してないが、しかしこの人はPHPに行くらしい。
そしてこの人がいると会社の売り上げが一応上がってるらしいみたいなことになっているが、
トップからしたらこいつは一体何をやってるんだみたいなことを言われ、
いやこの人はすごい人なんですよってみんなが言うみたいな。
怖いよー。
怖いよー。怖い世界だな。
だからやっぱり大事なのは健康な体と、
健康な体と元気みたいな、
健康の話に行ってしまった。
知的好奇心とかそういうのは結構大事かなと思ってますね。
Googleのやつとかにも、
ラーニングアニマルみたいな話とかあったりしますけど、
そこがあればきっと生きていけるはずって思いながら、
はず。
好奇心は猫を殺すというから、果たして生きていけるかどうかは分からないが、
きっと大丈夫なはずと思ってますね。
そうですね。
なんとか自分が稼ぐ間、
世の中の投資がIT系にちゃんと続いてくれたら、
僕は嬉しいなみたいな、そういう気分。
ずっとこの状態が続くわけではないなと思う。
エンジニアバブル終わったとかってこの間も言ってたけど、
そんなこと言ったら、一番最初のITバブルの時になってもっとすごかったんだからと思って。
まだまだバブルでしょって思っちゃう。
他の業界から見たらめっちゃバブルだろうなと思って。
そうだと思いますよ。
一体、お前ユニコーンって珍しいはずだったのでは?みたいな気持ちにずっとなりますもん。
こんだけ。
言うてでも、じゃあユニコーンがゼロになりましたかって言ったら、
そんなことないはずで、アメリカとかでも。
考えると、ピークよりはちょっと下がったかもしれないけど、
どうせまた上がるんでしょっていう気持ちも半分あり、
上がらなくても周りから見たら上がった分の高いところにいるんだから、
だいぶラッキーなところにいるなっていう気持ちはありますね。
面白いのが今二人が話してるのは、トップを伸ばす話じゃないですか。
技術力みたいな話をしてて、
さっきのチーム開発の最初の頃の話だと、実はコミュニケーションとかの話をしてるんですよね。
実際に現場で求められてるのはその話じゃないですか。
そうですね。
トップを伸ばしながら、でも一方で周りの背中を押しながらみたいな、
二重にやることは実は。
そうそう。
そうなんですよね。
僕自身だから会社でエキスパートとかって呼ばれてるけど、
一番大事なのはニコニコしてハキハキ喋るみたいなところが多分大事なんだろうなと思っていて、
そこは意識してるんですよね。
技術力があるっていうか、会社で強いとされてる人がちゃんとコミュニケーション取るんだよみたいな。
じゃあみんなも取らなきゃねみたいな雰囲気になってくれたらいいなみたいなところは。
いや、もしかしたらでも周りからはエキスパートっていうものの中にはそのコミュニケーションを上手に取るって言われて、
がんゆされていてエキスパートじゃない人はそれが上手くできなくてもいいと思われてる可能性は、
ゼロではないとは思うが、きっとみんなあれをお手本にきっと見てくれているとは思いますけど。
単純になんだ明るいおじさんだなって思われてる可能性はありますね。
多分いろんな場所で起きていることがそれ。
でも多分マネジメントの人たちも別にそんなにバカじゃないというか、
考えてはいるんだがしょうがないんだよみたいなところもありつつ、
そうなってしまって、
関係性が多分構築できない状態で、
マネジメントをしなきゃいけないという非常に難しいミッションを彼らはするわけですよね。
いやーそれは難しいなって思って。
しかも成果が出るかどうかは、
実際にある種手を動かす人たちに委ねられてるわけだったりするわけですよね。
そうですよね。
いや、まあそしたらやっぱり、
スクラムよりタスクを割り当てるみたいな形のリソース効率を見るほうに。
再転換して。
いくだろうなー。
リソース効率は下がるなーみたいな。
誰かが何もやってないっていう状態を、
強い気持ちで我慢できるっていうのはやっぱり能力が必要ですよね。
そうですね。
まあでもわかりやすいですからね。
やっぱり直感的にはリソース効率を上げたほうが、
成果が出そうな気がするじゃないですか。
確かに。
うーん、そうね。
簡単なモデルでいくと多分そうなっていくんだけど、
たぶん工場的な考え方とか、
機械を2つ並べてこいつをリソース効率をどんどんどんどん上げていけば、
成果物がガーッとベルトコンビネーターに運ばれて出来上がっていく。
実際はたぶん工場の現場は私は知らないので、
今すごく雑にモデリングをして喋ったけど、
実際現場に行ったらそんなことはないんだよっていうことが絶対あるんですよね。
それと同じことがソフトウェア開発の現場でもきっと起きてるはずなんだけども、
それはやっぱり目に見えなかったりとか、
数値化されてないと把握もできないし、
結果なんか暇そうにしてるんだったら、
じゃあこれやってよっていうことがどんどんどんどん割り当ててしまうみたいな。
僕のでも現体験っていうか、
一番最初僕がリーダーとかやったときは、
すごく割り当てるんですよね。
それがやっぱり人間としての自然な管理っていうものを考えたときに、
タスクA、B、Cを作り出して、
AさんはA、BさんはB、CさんはCみたいな。
で、パラで進むとみたいな。
3日で終わるみたいな。よしみたいな。
終わんねえみたいな。
どうしてだ。俺の考えた最強の支えが合ってるはずなのにみたいな。
なぜだみたいな。
ところをやっぱり自分も経験した後、
その後にもっとでっかい開発現場に行って、
明らかに案件に対して人間がバブってたんですよ、その現場。
僕はその頃にはだいぶ能力というか現場力がついてきて、
3年目とか4年目くらいだったんで、あれって思って、
この要件はたぶん3人ぐらいでやったら一番うまくいくんじゃないかなっていうところに。
これは例えの話ですけど、100人とかいましたってなると、
97人いらないわけじゃないですか。
いらないですね。
でもその97人に仕事を割り当てようとしちゃうんですよね、現場やっぱり。
それはそこにお金が発生してるし、
なんだあの97人はみたいなこと言われちゃうわけじゃないですか。
そうするとなんかよくわかんないけど調査みたいなことをしてたりとか、
本当は3人で固まってやった方が良いことを無理やり分割して、
これまさに僕が現体験で見たゴンウェイの法則は、
もう無理やり仕事が分割されてるんですよ。
人間が多いからっていう理由で。
これは厳しいみたいな。
その時に無理に人間を投入するのは極めて間違った考えだなっていうのを、