1. readline.fm
  2. EP173 More Joel on Software ..
2026-03-09 29:20

EP173 More Joel on Software PART3

spotify apple_podcasts

## とりあげた本

『More Joel on Software』Joel Spolsky 翔泳社 2009


## mixi2

https://mixi.social/communities/513e0bc9-582b-4962-a9c1-c5c076175e08/about


## ShowNote

https://gennei.notion.site/EP173-More-Joel-on-Software-PART3-316c645d491180a3b873fa9b613f93da

サマリー

本エピソードでは、「More Joel on Software」の第3部、第4部、第5部、第6部を取り上げ、ソフトウェア開発における様々な側面について議論しています。特に、厄介な問題に取り組むことの価値、複数のプログラミング言語を学ぶことの重要性、そして抽象化の力について掘り下げています。また、GoogleのChrome開発の背景にある戦略的思考や、ソフトウェアビジネスにおける成長の喜びとフィードバックループの重要性についても考察しています。

厄介な問題に取り組む価値と抽象化の力
スピーカー 2
四部だと大規模プロジェクトの管理ですけど、触れたいやつありますか?
スピーカー 1
タイトルだけで言うと十九章は面白いんですけど、なんか目引いたところあったっけな、十九章。
十九章。 十九章、ゴミあるところに金はあるっていう話なんですけどね。
どんな例え話が面白かったんだよな。うんうん。
スピーカー 2
まあ、人がやらないところを頑張るとお金をもらえる。で、簡単な問題っていうのはあっという間に解決されるので、厄介な問題に対してお金を払ってくれるから、みんな頑張って厄介な問題を解こうねって気持ちになりました。
スピーカー 1
そうですね。なんか素晴らしいアイデアとかソレーションの利器で売っても売り先がない的な話もどっかでしてたと思うんですけど、この章だっけな。
とても綺麗でピカピカしたものを作っても何も解決してなかったら誰も金払わないよねみたいな。
スピーカー 2
そういう話ができるあたりっていうかするあたりがジョエルっぽさがあるなって自分はちょっと思いましたね。お金の話すごいするなこの人って思いながら。
スピーカー 1
そうっすね。
スピーカー 2
じゃあ4部はさらっと言って5部いきますか。
スピーカー 1
5部がプログラミングのアドバイスですね。
スピーカー 2
分が面白いなと思ったところは、なんか22章が君のプログラミング言語でこれできるっていうやつで、なんか面白いなって思ったのが、
ジャバスクリプトとかで引数にファンクションを渡せたりするっていうのが、CとかJavaだとできないよねって言って、そういうことってできるのとかっていう話をしていて、
これを読んで思ったのが、やっぱりプログラミングのやり方みたいなものって一つの言語だけやってるとそういうアイディアってなかったわみたいなことがいっぱい出てくるよねと思って、
ヤバいなおうちが複数の言語を学びましょうっていう話になりそうなんだけど。
スピーカー 1
2週間ぶり10回目ぐらいの。
スピーカー 2
そうそうなんだけど、確かにやっぱり自分がプログラミングのメンタルモデルみたいなのを更新したときって、なんかそのジャバスクリプト書いてて引数にファンクション渡すってその反応なかったなみたいな気持ちになったことがあって、
でもそれがなんかすごい気持ち悪いと思ってたんだけど、だんだんそれが分かっていくと、なるほどねみたいな気持ちになり、これができるってことはこれもできるじゃんみたいになって、
そういうことを経験したりとか、マップとリデュースとかそういうものを扱っていったときに、なるほど、こういうふうに配列とかコレクションみたいなものを抽象化して考えるんだなとかいうことが分かったりすると、
なんかすごくなんですかね、できることが増えたなっていう感じがすごい自分の中にあって、なんかそういう体験みたいなものを多分どっかで一発するといいんだろうなと思いながらプログラマーするといいんだろうなっていうのをちょっと読みながら思い出してて、いいなと思いましたねこの章は。
スピーカー 1
なんか近いような話あるかな、あーそっか僕はだいぶPHPがかなり最初から長く触ってた言語なんでPHPのなんですけど、やっぱりフォーがちゃんとスコープを形成するとかっていう話を聞くと、混乱しつつもそっちの方がいいなーっていう気持ちになりますね
フォー分のiがPHPだと全然たったらの、たったらのって言うとあれですけどフォーの外に出ても生きてるじゃないですか。
スピーカー 2
生きてますね。
スピーカー 1
あれはねPHPスターのストリクトルールとかで防げるんですけど、なんか最初こそ混乱しましたけど、確かにループ終わった後に使う方が変だよなーって思って。
スピーカー 2
まあアンセットしますかみたいな。
あるけど、まあでもやっぱその辺って言語仕様を複数知ってたりとか、物事を抽象化してみるみたいなこととかいうのがいろいろやっぱ必要だなーって思ったりするし、なんかそれをやった結果なんか言語だけではなくて、この本だとGoogleはマップリデュースっていう発明をしてねみたいな話が出てたりするんですけど、
まあもっと抽象化していくと大規模なソフトウェアを構成する骨子になるかもしれないみたいな、いうようなところまであるんで、確かになんかすごい抽象化するとピタゴラスイッチ組みたいんだよなーみたいな。
これが起きたという、これをトリガーにこうなってこうなってこうなってみたいなことを思うと、なんか全部同期で書いてるけど非同期にできるじゃんみたいなことがだんだん浮かんできたりとか。
非同期にしていくと、なんかAWSのモジュールのこれとこれとこれをくっつけると、なんかこう素晴らしいハイテクが出来上がるな、メンテは知らんみたいな、いうものが最後に出来上がるんだよなーっていう気持ちになったりするんだよなーっていうのはありますね。
Googleの戦略的思考とブラウザ開発
スピーカー 1
いやーそうなんですよね、なんかその大規模な方に向かう道もあると思うし、楽になんだそれこそさっきのねポイントの話とかも出てきましたけど、なんか根っこの部分とかミドルウェアとか言語のレイヤーで当たり前化されてる部分のより土台というか内側を知ると、
なるほど、こういう発明が根っこにあったんだーみたいなことを知れて、なんかテンション上がったりしますよね。最近僕諸事情で構造化を伴わないプログラミングをどうにかしてやってるんですけど、最近マジでリターンってすげえなって思って超感動してます。最高やん、何これと思って。
スピーカー 2
リターンすごいって感覚がちょっと自分にはわかんないですね。
スピーカー 1
いやいやいやいやいやリターンすごいっすよ。
スピーカー 2
もう少々の条件としてあったんでそれは。
スピーカー 1
マジですごい、本当に。ありがとう順次実行って思いました。
前に入門リターンっていうLTEのプロポーザル出したんですけど、それは取らなかった。
スピーカー 2
すごいですよね、だから構造化を伴わない原稿っていう話を今して、だから構造化プログラミングって言葉ができちゃったから、そう言わないといけなかったわけですね、今多分。
スピーカー 1
そうですそうです。
スピーカー 2
って思いながら。
スピーカー 1
ガラケーじゃん、携帯じゃない方の電話みたいな。
スピーカー 2
そうそうそうそう。
それもおもろいなって今思って。
スピーカー 1
あとはあれですよね、JSON-Pとかすごいことやってるなって。
最初はそのクローザーというか関数を宣言、関数名を渡すみたいな、どういうこと?って思いながら。
後々考えるとこれはどんだけ脆弱なんだって話なんですけど、すごい発明ですよね。
スピーカー 2
発明ですよね本当に。
スピーカー 1
JSON-Pって今どのくらいの人に伝わるんでしょうね。
スピーカー 2
伝わらない方がいい可能性すらあるかもしれないな。
なるほどそういう抜け道があるんですねって言って、じゃあ使いますねって言われると困るからな。
スピーカー 1
今使えなくないか。単純にコールバックですもんね。
スピーカー 2
そうですね、コールバックですね。
スピーカー 1
コールバックする内容がたまたま別のマシンから飛んできただけで。
スピーカー 2
リモートサーバーにあるものをコールするという意味では、もしかしたらもう一回そういう発明が来るかもしれないなとかあるかもしれないけど。
分散システムみたいなの出来上がってくるとかね。ちょっと今もそんなこと思ったりしましたけど。
スピーカー 1
RPCが再発明されてるわけですからね。
スピーカー 2
そうそうそうそう。
そういうアイディアみたいなのをいっぱい知っておくっていうのは引き出しが増えるし、モデリングの仕方とかものの見方の引き出しが増えてると取れる選択肢が増えるんで。
今先選択肢は少ない方がいいという話をしたけど、問題に対処できる選択肢は増えてた方がいいと思うので。
なのでこの賞、23、22賞は結構自分は好きだなって思いましたね。
スピーカー 1
面白いですね。あとUIともらう系のプログラミングとかやってみるとすごい感覚が違って面白かったり。
プロセッシングとかD3.jsぐらいしかやったことないんですけど、UI系の。なんか面白いんですよね。文字列を吐くぐらいしか脳がなかったんで今まで。
スピーカー 2
そうですね。だから多分そのD3とかプロセッシングとかもあるし、やっぱIOS、Androidとかやったときにちょっとやっぱバックエンドのパラダイムとは違うなって思いましたね、本当に。
なんかメインスレッドっていうのがあるじゃん、サブスレッドがあるじゃんみたいなことを言われたときに、いやPHPはシングルスレッドはしないみたいなことを思いながらまずやってて、
なるほどここでメインスレッドに戻さないとうまくいかないことがあるとかって言われて、なるほどそういう考え方をしてるんだみたいに思って、全然やっぱ違う考え方だなと思ったし。
IOSのUIを作っていく、スイフトUIじゃない、もっと前の話ですけど、
スピーカー 1
UIキットとかね。
スピーカー 2
そうですね、UIキットとかでオートレイアウトがあったんですけど、オートレイアウトの制約の付け方とかを見たときに全然HTMLと違うなと思って、
HTMLは何もしなかったら左上に基本的にいくようになってるけど、オートレイアウトはそれが無重力な状態なんで、デバイスによって結構偏ったりしちゃうみたいなのがあったりして、
なるほどな、こういう風に全然出発地点が違うから、別にCSSとかHTMLってUI作るためのものじゃなかった気がするけど、現在ではUIを作るものとなってるので、
全然出発地点が違うと、全然そういう発想が違うんだなっていうのが分かったことによって、HTML、CSSっていうのは左上に重力があるから、右にしたいときはまた違うんだなとか、
フレックスボックスとかグリッドとかの考え方っていうのが出てくる必要があるんだなってことが分かったりしたんで、やっぱりいろんなものをやると面白いなっていうのはありますね。
スピーカー 1
そうだよな、インターフェースを作るための言語というか世界と文章を書くための世界だから、それは違いますよね。
ハイパーであろうとなんだろうとテキストのマークアップランゲージとそれの装飾ってなると、それはどこから視点を動かすかどこからスタートするかって、もう所要の条件になりますもんね。
スピーカー 2
そうそう、でも日本語は右から始まるし縦書きじゃんみたいな思ったりするんですけどね、日本にいると。
スピーカー 1
まあでも22章そんなとこですかね。
スピーカー 2
そうです。
スピーカー 1
これちょっと戻っちゃうんですけど、21章のストラテジーレター4っていう謎のタイトルの章があるんですけど、これめちゃくちゃ時代性を感じてちょっと鳥肌立つぐらい面白かったなって思い出したので、ちょっと逆戻ってでも触れるんですけど、
エントリーが2007年ですよね。だからGmailとかGoogleマップとかでAJAXっていうのが発明されて、だから電子メール全然超使われてますみたいな世界だし、Gmailっていうのがすごい評価されてるけど、
まあでも言うてブラウザーでまだ頑張って動かしてる感がすごい時代ですよね、たぶんこの時点で。
そうですね。
うん。
だからJavaScriptっていうのは結構クラスプラットフォームな言語として、だからブラウザーで動くものってすごい、JavaAppletとかFlashとかあったと思うんですけど、Silverlightとかもか、SilverlightはWindowsだけなのかな。
スピーカー 2
Windowsだけかもしれないね。
スピーカー 1
マイクロソフト。でそうGmailっていうのが、いやGoogleさんは頑張ってJavaScriptでゴニョゴニョやってるけど、なんか次何かが出てきた時に壊れるんじゃないかみたいなスタンスで結構この章全体的に書かれてて、
で172ページ、このエッセイの最後のページを見ると、なんかGoogleのプログラマーがより良いJavaScriptを動かせる、なんかしら?が出てきた時に、あっという間にGmailっていうのがレガシーになって、
でGoogleは競争力を失う、その時にGoogleのエンジニアはすごい震えながらやっていくんだみたいな感じの章で書かれてるんですけど、この次の年にGoogleがChrome出すんですよね。
スピーカー 2
そうですね。ブラウザを作るぞっていうところから、ブラウザから作るぞっていう世界ですからね。もう今後はWebの世界が主流になるから、ブラウザっていうのが一番競争力の源泉になるんやつって。いやーすごいね。
スピーカー 1
Googleの人たちがオシャレな、クッソ皮肉で書かれてて、しかしGoogleがGoogleプレックスにあるGoogleチェアに踏んぞり返ってGoogleチームをすすりながら、自己満足に浸っている間にWebブラウザの新しいバージョンが現れ、コンパイルされたJavaScriptを達成できるようになるって書いてあって。
いやその、もはやGoogleが作ったブラウザが生体系を崩した妖精をぶっ壊すぐらいには収まってるんですけどみたいな。
スピーカー 2
そうですね。
いやそうできないっすよね確かに。OS作ってる人たちがモジュラーぐらいしかいなかったわけじゃないですか。モジュラーオペラ、あとはOS作ってる人たちがプリインストールでデファクトレスでいって売り込むみたいな。
スピーカー 2
しかもね、わざわざそこに割って入るっていう発想は普通しないっすよね。
スピーカー 1
すごいっすよね。技術力もあるしお金もあるしって考えたら、やろうと思ったことは何でもできるみたいな存在感であったんでしょうけど、OSじゃないかみたいなところですもんね。
そしたらまずブラウザ作って、でブラウザベースでOS作るみたいな発想が変態すぎる。
スピーカー 2
今となってはChrome OSに実際OSになっちゃったわけだし。
スピーカー 1
いいですよね。
スピーカー 2
いいですね。
スピーカー 1
だってこのショーの最後、狂った話だって。Google GmailをRutas123で置き換えてごらん。
ニューSDKはマイクロソフトWindowsの再来端。これはまさにRutasがスプレッドシートのマーケットを失った時のことを物語っているって書いてあって。
スピーカー 2
全然逆のこと。Gmailが。
スピーカー 1
逆ですよね。
今Webでメールアカウントを一個作れって言われたら、だってもうAOLもないでしょ。
スピーカー 1
AOL使ってた。
てかWebでメールじゃないんじゃないですか。メールアドレスを。メールアドレスないのは困ると思うんで。
うん。
スピーカー 1
ってなった時に、だってタリアのメールも使わないじゃないですか。
スピーカー 2
使わないですね。
スピーカー 1
かと思えば、iCloud.comのメール使わないし、逆にiPhone以外の人たちはAndroidを使うためにGoogleアカウント作るんで、Gmailですもんね。
スピーカー 2
そうですね。
スピーカー 1
メールってブラウザで見るものなんじゃないんですか。じゃないですか今。
スピーカー 2
確かに。アプリで見るし。
スピーカー 1
ブラウザで見るかEmacsで見るかぐらいしかメール見れないですもん今。
スピーカー 2
Emacsは環境なんでね。
エディターじゃないから。
スピーカー 1
エディターじゃないんだ。
スピーカー 2
あと言うてでも、メールに来るのはスパムしか来ないみたいな未来がやってきたっていう感じもあるけども。
スピーカー 1
メールより電話の方がスパムの無はどこ行ったんだって感じですけど。
スピーカー 2
そうです。
いやー。
スピーカー 1
いやー。油断すると海外の番号で警視庁から電話きますからね最近。
スピーカー 2
ほんとそうですよ。
まずB110の電話番号が聞けますからね。
スピーカー 1
出頭しなきゃいけないんで。
スピーカー 2
いやーいいですね。Googleっていうものがこの後にどんだけでかくなるかってことは分かってない状態で書かれてるエッセイもっと読みたいな気持ちになるな。
あとマイクロソフトはこんなにもっとダメになるだろうって言われてたけど盛り返してるっていうと面白いし。
スピーカー 1
それでもWindows Phoneはもう失敗してるわけですからね。
スピーカー 2
いいじゃないですか。失敗なんてGoogleにもいっぱいあるわけだし。
スピーカー 1
負ける気がしなくないですか。だってあんなにOSやってもアプリケーションやってもインターネットの世界でもひっくり返すのが得意だった側じゃないですかどっちかっていうと。
トップランナーっていうよりかは2番手3番手でもう完全な独占市場を崩していくみたいな。
って人たちがおしゃれなMetal UIのスマートフォン作るよって言って。
マジでかっこよかった感覚。
スピーカー 2
いやでもすごい欲しいなって思いましたよ。
スピーカー 1
そう欲しかっためっちゃ欲しかった。
スピーカー 2
けど周りを見るとどうやらあんまり使ってる人がいなさそうだなってことを思いながらうーんって顔しながら眺めてましたね。
おかしいなスマホの会社もSymbianってやつを買ってた気がするんだけどな。
Nokiaを買った気がしたんだけどな。
スピーカー 1
いや悲しい。諸情無情ですね。
ソフトウェアビジネスの成長とフィードバック
スピーカー 1
まあというわけで21章ストラテジーレター6ちょっと触れておこうと思います。
スピーカー 2
じゃあ6部とかに行きますか。
スピーカー 1
6部とかに行きますか。
スピーカー 2
でもだんだんこの辺から6部7部メモがないな。
スピーカー 1
6部がソフトウェアビジネスを始めるで、7部がソフトウェア会社の運営なんでここら辺から結構ビジネスっぽい要素がより濃くなってきますね。
スピーカー 2
そうですね。
6章7章、ほら貼ってはあるものの26章は面白かった気するんですけど結構飛ばすよなそうするとな。6章の終わりになっちゃうからな。
スピーカー 2
そうですね。
スピーカー 1
あ、でも。
スピーカー 2
いや大丈夫じゃないか。
まあ6部がそもそも3章しかないから。
スピーカー 1
でも6部の24章にゲイさんが書いてるコメントが。
スピーカー 2
これ24章があれなんですよね。
エリック・シンク・オン・ザ・ビジネス・オブ・ソフトウェアっていう本の序文を書いたよと。
それを収録しているっていうものですね。
その中でドーナツを売ってたらみんなが買っていってどんどんドーナツを買ってくれるようになってお金がどんどん貯まっていって。
パーティーにお金を使うんだけど自分はそのパーティーに呼ばれないみたいな悲しい話があったりしたんだけど。
そこで一番面白いっていうかいいよなって思うのはビジネスが成長していくお金が儲かっていくところを見れるっていうのはすごくワクワクすることだよねって言って。
健全なビジネスが有機的に成長するのを見る喜びだっていう話があって。
これがお金じゃなくても使ってくれるユーザーが伸びるとか増えていくとかみたいなところはやっぱり自分がものを作ってるとか自分がやってる感みたいなものを得るためにはすごく大事なんだよなっていうのを思ってて。
それがない中でやっぱ開発をしたりとかビジネスをやっていくと言われたことをやるになるし、これって何の役に立つんだろうみたいな気持ちになっちゃうんで。
この辺をどうやったらこのワクワク感みたいなのを持ち続けられるかなっていうのは自分の中でも課題というか、そういう環境にしたいしそういう環境にいたいよなっていうのをずっと思ってるなと思って、すごいここいいなって思いましたね。
スピーカー 1
これ締めのところの2パラグラフぐらいのところに書いてある文章が、よく言われることではあるんですけど結構素敵だなぁという気もしていて。
やがてあなたはソフトウェアが1本売れるごとにメールで通知する機能をオフにすることだろう。これは大きな進歩だって書いてあって。すごいですよね。
スピーカー 2
いいですよね。多分サインアップされる度に通知してたのが、別にもういらんじゃんみたいな感じになっていったりとか。そうなりてえな。
スピーカー 1
成長の手応えとか、自分がそこに寄与してるなあみたいな感覚とか、仕事でもそうですけど、やっぱりあるといいなあっていう気はしていて。個人的には2Bの方がわかりやすくそういう手応えみたいなの感じやすい気はするんだよな。
スピーカー 2
そうですね。お客さんがすごい明確っちゃ明確ですからね。2Cになると何かうぞうむぞうというか、何かターゲットどこですかって。
スピーカー 1
数字で見ちゃいがちですよね。1人1人っていうでかは100人、プラス100みたいな。
2Bの規模とかやり方にもよるんですけど、やっぱり新卒、最初に働いてた会社の経験が結構強いなあと思ってて。
なんかそれこそ同じフロアにいるセールスの人たち、やっぱり営業の人たち受注件数とかのるま、目標とかもある中で、何か一件獲得しましたみたいなのにしっかりリアクションしてるわけですよ。
で、その売り物、アプリケーション部分作ってるのは全部俺みたいな感じだったんで。いやーよかったらってね、一緒に入った新卒で一緒に入った同期の人たちの月ののるま達成するとインセンティブ発生するから。
俺がいい機能を一個作ったらあいつらのインセンティブになるやもしれぬみたいなところはめちゃくちゃよかったなーって思ってて。だから喜び方みたいな手応えみたいなの、お客さんっていうよりは同じ社内にいる人たちから感じられたので。
そういう意味で2Bの方が結構自分ごと化しやすいかもなーとか思ったりしましたけど、まあ今普通に2Cやってるんでどっちも楽しいねではあるんですけど。
スピーカー 2
単純に組織規模がでかくなってセクションに分かれると、まあなんかそういうやっぱフィードバックループみたいなのが回りづらくなるんだろうなっていうのは思ったりしていて。2Bでも2Cでも。なのでなんかそこをどうやってこう日頃から情報が流通するというか。
スピーカー 1
みたいなのはなんか考えないとなーみたいなことを考えることは思うことはすごくありますね。やっぱそこは何ていうか良くもあり悪くもありというか。ある種こうでかくなってったからこそ、あっちもこっちもいろんな話がやってくるとそれはそれで困るわけでみたいな。
スピーカー 2
10人から要望が来ても全部は同時に叶えられんみたいなことになるわけで交通整理はやっぱ必要だし。でもやっぱそこでなんか良かったよとか悪かったよとかいうフィードバックはやっぱ欲しいしとか。
でも整理された情報だけ来るとなんか、圧倒的物量みたいなことは感じられなく、綺麗にまとまったものが来ると。それはそれでなんか生の恋じゃないなみたいな感じもあったりとかして。難しいなーって思ってますね。贅沢な悩み言っちゃ贅沢な悩みして気もするけど。
そこまでなってるってことはそれなりに規模が大きくなったり、お金を儲かってるってことでもあるんで。なので社内のイベントとかにはどんどん出ていくといいぞとか、お客さんがいるとこに向かって出ていくといいぞということでもあったりするんですけどね。
なんか待ってると来ないから自分から行くしかないんだみたいな。なのでそういう手応えみたいなものを実感を得ながら仕事できるようにしたいねってすごくこの序文を読んで思いましたね。
スピーカー 1
いや、ドーナツ売っていくしかないっすね。
スピーカー 2
そうですね。パーティーに呼ばれたいな。
スピーカー 1
これ一応補足しとくとあれですからね。大学の図書館かな?のお手伝いアルバイトみたいなのしてて。
で当時14歳。でそのパーティーっていうのは大学のスタッフとか対象だったから。なんか意地悪とかじゃなくて普通に呼ばれてないだけ。ただジョエルが作った売り上げは全部持っていかれてるって。
はい。で、じゃあ他の話ですかね。
スピーカー 2
そうですね。
29:20

コメント

スクロール