00:06
スピーカー 1
6章、自分のカリキュラムを作る。
これね、6章に全部触れてる暇とかいうのはあれなんですけど、余裕がなさそうなんで、一旦パターンを一通り名前だけ読むと、
読書リスト、継続した読書、古典を学ぶ、徹底的に調べる、精通したツールなんですが、どこからいきますか?
ていうか、我々のメモで最後の章が一番ちゃんとコメントついてるパターン珍しい。
スピーカー 2
そうですね。大体後ろに行くにつれてコメントが少なくなっていくんだけど。
スピーカー 1
パターンが紹介されてる章、全7章のうちのパターンが紹介されてる章としては、この第6章が一番最後になってるんで、
自分のカリキュラムを作る、なんかゲイさんの好きそうなやつをピックアップして、全部好きそうな。
スピーカー 2
そうなんだよな。まあでも古典を学ぶですかね、一番。
このポッドキャストがそれですみたいな感じを思いながら、読んでましたみたいな。
スピーカー 1
そうですね。古典を学ぶ状況をあなたは独学しています。あるいは理論よりも技能訓練を重視した非常に実用的な教育を受けました。
っていう風に書かれてて、もうこの時点で身に覚えがありすぎるって感じなんですけど。
で問題が、一緒に働いている経験豊富な人々はあなた、そして自存心のあるソフトウェア開発者なら誰もが読んでいるのが当然と彼らがみなす書籍から、
ブルックスの法則などへの概念へいつも言及していますって書いてあって。
ブルックスの法則言及しがちですもんね。
スピーカー 2
そうですね。
スピーカー 1
人欠は交換できない。
スピーカー 2
ですぐ、同じ本から銀の段階に行ったりとか。
スピーカー 1
これ古典を学ぶことの功用みたいなところが書いてあると期待されるんですが、どんなことが書いてますか。
スピーカー 2
そうですね。
スピーカー 1
古典、これ面白い。
取り上げた本がどれだけ古いかを最初に考えれば誤った書類の本を読んでいることになります。
って書いてあるんで、出版年数が見て、40年前の本だ、よしじゃあこれを読めばいいんだなっていうのは誤りなんですけど。
古い本じゃなくて古典、クラシックっていうと長い年月生き残っている本ですよね。
ってことは、一般性の高いというか本質的な問題を取り上げている可能性が、外人性が非常に高くて、それこそ人欠の神話とかは未だに古びてない問題提起であるみたいな文脈で切り取られたりもするので。
03:00
スピーカー 1
本当に良いことを言っている確率が非常に高いというか、歴史がそれを証明してきてくれているから古典を学ぶっていうことは質の高いインプットに繋がりやすそう。
要するにコスパが良い?コスパが良いっていうと急に安っぽくなる。
当たり率が高いんですよね。
スピーカー 2
何十冊も読まなくたって、この一冊を読んでおいた方がいいみたいなケースもあったりするっていう。
つまり最新の事情を大事だからといって全部そればっか追いかけていても、ちょっと手をかえしなおかえ言っているだけで、実は本質的なことはもう60年も前ぐらいには言われていて、それだけを読んでいたらその応用だよね、現代はっていう風に取ることができるかなっていう風には思ったりしますね。
スピーカー 1
本質的な問題、要するにここが中核的な問題なんだなっていうのを見せちゃうと結構いろんな本が簡単に読めるようになるというか、筋道をつかみやすくなるっていうのもあるんで的なことが書いていますね。
スピーカー 2
あとはここいいなと思って取り入れたのは、昔社内で古典を読んでみませんかみたいな話をしたことがあって、その時にやっぱり人間の神話とか、いろんな人があれだよねっていうことがその一言で通じるようになるんですよね、古典を知っているとは。
すごくコミュニケーションコストも下がるし、いろんな前提がわかるとやっぱり人の話って聞きやすくなってくるし、なのでそうなった時に、いっぱい本読めって言われてるけどたくさん本読むのは辛いなと思っているんだったら、むしろ新しい本じゃなくて古典。
読む価値が非常にあると思われているような本を読むのがいいんだけどどうですか読んでみませんかみたいな話を社内の勉強会でして、次の日とかに早速買って読み始めてますとか言われてすげー嬉しかった記憶がありますね。
ユニックスという考え方薄かったんで買いました。
スピーカー 1
確かにあれは古いし薄いしいい本ですね。
スピーカー 2
若者に向けて一応喋ったつもりが同若者じゃない人に刺さっていた可能性とかも結構あったんですけど、それこそトムデマルコって古典になっちゃってると自分ではありと思っていて、そのためにこのポッドキャストをやってるみたいな部分もあるし、やっぱりトムデマルコの本に書いてあることって、現代でも同じことやってるじゃんみたいな気持ちいっぱいになりましたからね。
スピーカー 1
そうですね。やっぱりやる気こそが成功の秘訣だよねとか、社会学だよねわかるみたいな。
これでもゲインさんが書ノートに古典を学びましょうって話を昔社内の勉強会でしたって書いてあって、なんか僕も似たようなことをしてたなってマジで思ったんで。
06:05
スピーカー 1
手元にその文章がないのがもったいないんですけど、エンジニアとか関係なく、前社員が見る場所にマネージャーが順番で書いていくみたいなシステムがあったので、確かそこに書いたんじゃないかなっていう気がしながら探してましたけど。
スピーカー 2
サルベージできず。
スピーカー 1
サルベージできず。でもそうなんですよね。なんか僕も言って、古典を学ぶことの功用すごいなって思うのが、例えばDDTとかもそうなんですけど、今ってもうそういう名詞、そういう概念として定着して流通しているけど、
やっぱりエリック・エバーソンの本とか読むと、DDTっていう言葉がないときにそれをどう説明しようかっていうのをやってるんですよね。よく簡単すぎる日本語だと逆に説明できないとかって問題があるじゃないですか。
甘いっていう言葉を、甘いっていう語彙を抜きにしてどう説明しますかみたいな。そういうことをやっぱり古典的な本ってやってくれてるので、なんかよりしたかぶりしないで済むというか、納得できる、自分の中で咀嚼しやすい感じがあるなぁと思った。
ちょっと感動するんですよね。こうやって生まれてきて受け入れられてたんだみたいな。っていう話を書いた気がするんですけど、サルビジュアル的には。
スピーカー 2
本当、最初の、例えばこれを勉強したら、本当にミニスかどうかちょっとあるんですけど、例えばRelational Databaseの元の論文って確か10ページぐらいしかなかったはずなんですよね。
え、すごい。正規化されて、他のリソースにめっちゃ。
その参照でジャンプするみたいな、こういうことではなく、最初のそのRelational Databaseのアイディアみたいのは多分10ページぐらいの論文で、だから読もうと思ったら、どんなに専門書、普通のコンピュータ書籍として出てる本屋に行ってデータベースを買ってくるよりも、多分一番短いのはそれなんですよね。
もちろん英語が読めるかどうかっていうことは一個のハードルかもしれないけども、日本語訳している人いるんで、多分検索すると、コッホデータベースの論文を翻訳して英語と日本語を閉域してくれてる分あるんで、そういうの読むと、もしかしたら実はもっと簡単に学べるのではとかってちょっと思ったりしたこともありましたね。
スピーカー 1
名前がついちゃったというか、概念として確立されてきてしまった後の方が難しいとかはありますもんね。それこそオブジェクト思考における再利用のためのデザインパターンとかは本当に、プロクシーパターンとかいろいろ覚えなかったっていうよりかは、そもそもいい感じに抽象化したいよね。
09:07
スピーカー 1
で、抽象化すると助かるよねってところを突き詰めていったら、みんな同じ形に行き着いて、みんな同じ形に行き着くんだから、なんかあだ名でもつけようぜって言って言われてきたじゃん的な話があって、そこを理解しないで公式丸暗記みたいな感じでデザパターンやるとやっぱり辛いので。
スピーカー 2
あとちょっとね、古典を読んで、現代においてアップデートのサブが何があるかなっていう話は知っておかないと、あの人昔の知識ばっかされてるなっていうのは、時と場合によっては起きることなんで。
まあ、現代との距離感みたいな部分はちょっと気にしながら読んでおく必要はあるかもしれないですね。さっきのデザインパターンで言えば、イテレータパターンでいつ使うんですか、これイテレータパターンで実装してみましたって言ったけど、別に言語組み込みであるからみたいなことで追われる可能性もあるんで。
スピーカー 1
本当に構造化プログラミングが革命的なんだって言われてもマジで今ピンとこないみたいな。それは上から順にやるでしょみたいな。蓄積軸とは的な話とか。
スピーカー 2
ゴートゥー知らなきゃそうなるわなみたいな。金城さんはちなみにどこが良かったんですか、6章は。
スピーカー 1
これでも古典を学ぶが取られちゃったので、あとその次に徹底的に調べるって書いてあって、書いてあってって書いたそういうパターンが厳重されていて、
これは何というか、これ冗長がめっちゃ長いな。どうやってさまればいい。手順書とかチュートリアルみたいなものをなぞると、当然動かしたい機能は動くように作れるかもしれないけど、そこで学びを止めずにどんどんこじらせていこうぜみたいな話が書いてあって。
チュートリアルって言ってみたら、ラーメン食いたいって言った時にカップラーメン出してくれますみたいな。そしたら誰でもお湯さえ沸かせられればできるでしょ的な話なんだけど、ラーメンどこから作る、小麦からっていう話をしようぜみたいな。
そういうものかなと思ってて、これめちゃくちゃ贅沢な遊びだなって僕は捉えてるんですけど、いや必要に迫られてやる部分もあるんですけど、なんかねこのパフォーマンスがどうしても遅いからマジでインデックスの仕組み知らんといけみたいな場面もたまにはあるんですけど、
十分にね、それこそさっきのアートじゃなくて技芸、芸術じゃなくて技芸っていう話なので、当然仕事を十分に達成できる、十分に良いものができればそこでオッケーなんですけど、なんかこれちょっと気になるかも楽しそうかもって言って徹底的に調べていく。
12:07
スピーカー 1
それこそPHPでキーワードの使い方を調べる、ジェネレーター作れましたっていうのは別にキーワードの使い方覚えればできるんですけど、これってどういう由来でPHPに来たんだ、RFCとかメリスまで追っていくみたいな、そうするとPythonのコルーチンとかそういう話とか出てくるのみたいな、ってなると色々深みが増してくるなっていうのがあって。
僕はそういうのが好きなやり方、楽しいなって思ってるんで、このアプレンティシップパターンっていう本で徹底的に調べる、ディグローゼ的なことが書いてあって、なんかちょっとだよねだよねと思って、ちょっと嬉しくなりました。
スピーカー 2
自分はこれをパターンのタイトルを見た瞬間に、金城さんがやってるやつっていうのをすごい思いましたね。
スピーカー 1
いやーでもこれ行動のところを見るとすごいんですよね。パターンの、じゃあこのパターン実践するためにどうすればいいですかってアクションで、なんかねレストを普段使ってるでしょ、ゲットとかポストとか投げられるよねっていうくだりで、それをリグルにはどうすればいいですか、HTTP1.1を記述しているRFCを呼びましょう、確かにって思いながら。
スピーカー 2
まあ確かにそうだが、深く掘ると、本当にそこに当たるまで掘るのはすごく理想だと思うんですけど、深掘りする練習みたいなのはちょっとずつ、そこに当たるまではできなくてもいいから、ちょっとずつ普段気になってることを調べる癖をつけていくとか、
こうやったら調べられるんだよね、みたいな型みたいなものはどっかで見つけないといけなくて、例えば本を全部読まなくてもいいから、あることを調べるために10冊ぐらい本をバーっと買ってくれない借りてくれないして、なんとなくそこにあるテーマみたいなものをパッと見つけてきて、じゃあそれをもうちょっと、じゃあこの本を読んで深掘りしていこうとか、どういう話題があるのかとかを決めてそこから掘っていくとか。
もしかしたらこれはユーザーインタビューとか、カスタマーを知るっていうことにもつながっていくかもしれないし、どんどんどんどん、なんですかね、調べないといけない必要性みたいなのは年々やっていくと出てくると思うので、どっかでは見つけないといけないよなっていうのは思ったりしてますね。
スピーカー 1
あとなんか、自分がここ分かってないんだなっていうところを輪郭をつかむというか、次に何調べれば自分にとってスッと入ってきそうかなっていうのをすぐにつかめるようにするって、だいぶ訓練しないといけないものだと思うので、そういう意味でもいいですよね。
スピーカー 2
分かんないことだらけだな。いつもこう深く掘らなきゃなって思って、なんか前も何だったっけな、なんかOPキャッシュの最適化みたいなところをソースコード読むぞってC言語を言ったときついて、この辺読めばいいんだけどなって思って、途中でやめちゃったのもあるんだよなとかね。
15:16
スピーカー 1
でもそうなんですよね。最初はフレームワークどうやって使うんだろうみたいなところで、ブログとか禅とか聞いたとかの記事を当たっていた人がだんだんマニュアルを読むようになって、ソースコード、テストコードを読むようになって、これララベルがやってるわけじゃねえのかって言って、PHPソースとかエクステージを読むようになって、っていうのはよくある典型的なこじらせ方ですね。
スピーカー 2
そうですね。今さっきOPキャッシュの話をしたんだけど、その辿り着いたのは、そもそも以前パーサーを作っていて。
スピーカー 1
コンパイラーを作ることあるんですか、仕事で。
スピーカー 2
仕事じゃないですね。これはプライベートでコンパイラーを作るやつを、ルイさんのステップバイステップでコンパイラーを作れるってやつをやっていて、ここで何か最適化するみたいな。それ自体にはなかった気がするけど、最適化するみたいな話聞いたことあったな。
スピーカー 1
で、じゃあこれPHPどうやってるんだろうって言って、追いかけ始めるみたいなことをやって、この辺を読むといいっていうのをカブリングループ化してずっと放置してますね。
無限に楽しいのがやっぱりね、このオープンソース的な文化のある世界のいいとこだなと思って。
スピーカー 2
そうですね。
スピーカー 1
これがね、やっぱり組織とか、本当に社会学系の話とかになってくると、じゃあ原点ってどこですかって言って、民族学的なフィールドワークしていくんですかみたいな話になっていっちゃったりするんで。
スピーカー 2
そうですね。で、哲学を聞くと、大体アリストテレスにたどり着いてしまう。
こんな昔から言ってるのかみたいな。
こんな昔の桁が2、3桁違うかもしれない。
スピーカー 1
でもそうですね、徹底的に調べるのさっき行動のところを厳重したんですけど、行動の締めもよくて、自分の理解の深さについて疑念を持ちましたか、自分の疑念と理解レベルに関してブログを書いてくださいって書いてあって。
なんか散々ね、この原点とかオリジナルみたいなソースまで掘らせて、てへへさせた上で、まだセルチェックさせるというか、分かった気になったけど本当に分かってるんだろうか。
もしくは分かってないとしたら何が分かってないんだろうかっていうのをちゃんとリフレクションさせて、アウトプットのための言語化もさせてっていうところまでやり込むのがなんかすごい先生っぽくていいなって思います。
スピーカー 2
そうですね。いや、なんていい本なんだ。
スピーカー 1
はい。で、まあ6章あと1個ありますけど、こんなとこですか?
18:06
スピーカー 2
こんなとこですかね。
スピーカー 1
で、一応7章結論っていうのがありますけど、結論はこれな、あくまで本当にアプレンティスシップパターンについて語った本なんで、結論としても技芸としてのソフトウェアとかスキルを伝承できる能力技芸とか、そして熟練職人みたいなことが書いてあって。
いや、なんかいい本ですね。薄っぺらいんですけど。これからもうずっと学び続けるんだなっていう気持ちにさせられますよね。で、なんか当然ね、これからずっと無限に続く道みたいな、当然重苦しいというか壮大な話ではあるんですけど、なんかでもその一方でちょっと軽やかさというか、
やっぱり自分の楽しさとかこういうところに情熱があるんだなっていうのを大事にしていけるといいなっていう気持ちにもさせられつつの、っていう感じがありますね。
スピーカー 2
そうですね。結構成長止まってるなとか、困ったなみたいな時に立ち止まってこの本読み返すと、ああそうだよねみたいな気持ちにもなるし、今何ができてないかみたいなとか、困ってることとかのヒントになるようなパターンとかも多分いっぱいあるから、生きていく上でずっと多分学習っていうのは続いていくと思うので、
しかもこれがエンジニア業界以外に行ったとしても通じるような話は多分いっぱい載っているので、立ち返る場所みたいなものとしてこの本はすごく良さそうだなって思いました。
スピーカー 1
これそうですよね、なんか絶版するような内容じゃないなって改めて思ったりしつつ、売れないのかな。
スピーカー 2
権利がなくて増殺ができないみたいなパターンとかもDLで。
スピーカー 1
そうですね、これで7章の最後のページの文章が結構好きで、本書の著書らは熟練職人ではありません。
良くても道の前方について学んだことを共有しているジャーニーマンですって書いてあって、それは謙遜というか行き過ぎてないかっていうふうに思ったんですけど、
その続きを読むと、10段階で自分たちをTrueと評価するとしても、時には尺度が100まであると思えるような人々に出会えますって書いてあって。
そうなんですよね、俺よりもっと上はいるぜみたいな気持ちになるというか、そういう気持ちを持ち続けられるように振る舞ったり行動したりとか、いろんな出会いを求めていくっていうのは大事なんだろうなっていう感じがしますよね。
スピーカー 2
しかもソフトウェアの、ここにも書いてあるけど、歴史ってまだ70年未満なので、熟練した職人っていうのはいるのかって言われると、いないと思った方がいいぞって書いてあって、それはそうっていう感じでも思ったりもして。
21:09
スピーカー 2
なんでそう考えるとやっぱ自分たちで、熟練した職人に教えをこういうのも大事だけど、やっぱ自分で何ができるかとか、自分の意思を持って決断したり行動したりみたいなことの繰り返しをやっていかないと結構難しいんだろうな。
なんかどっかに弟子入れしてこれだけ覚えれば導入もなるみたいな、いうことは決してないんだろうなっていうのを思ったりしましたね。
スピーカー 1
そうですね。いやー、果てしない道を登り続けたばかりだからよって感じですね。
スピーカー 2
あとね、役者跡書きがね、ちょっと自分は結構いいなと思ったところがあって。
スピーカー 1
はい、役者跡書きね。
スピーカー 2
これを訳そうというか、みたいな思ったところで、柴田さんが書いてて、アプレンティスを育てて、短期間でじゃあ今上のステップみたいなカリキュラムを実行していましたみたいなことをやっていて、
勉強会を主催して、継続した読書の習慣を身につけてもらうようにし、最初の言語としてJava言語をきちんと学んでもらうために、
プログラミング言語JavaおよびエフェクティブJavaを使用した教育を毎年行ってきましたって話があって、
自分やってることが、ちゃんとこの本の内容のことを体現していてかつ、それに必要なリソースである本を翻訳もやっていて、
本当にこの人すごいなっていうのを後書きを読みながら思いましたね。
スピーカー 1
頭が上がらないなっていう気持ちに、本当になりますよね。
スピーカー 2
出てから十何年経ってるけど、柴田さんこそ熟練の職人なのではっていう気持ちになるぐらい。
熟練の職人の条件というか、どういう人かみたいな話が本の一章の中にあって、
熟練者っていうのはソフトウェア業界を発展させることに焦点を当てている人みたいな書き方をされていて、
そう考えると、めちゃくちゃ業界の発展に貢献している人だよなっていうのをすごい思いました。
スピーカー 1
そうですね。本当にすごいよな。
スピーカー 2
こんなに成果をいっぱい残しているっていうのは、後に続く人たちをこうやっていっぱい、ちょっとでも貢献できればいいなって思ったりはしますね。
スピーカー 1
そう考えると、我々はまだ年老いてる場合では全然ないので。
スピーカー 2
まだペペさんという気持ちになりながら。
スピーカー 1
本当に良っ子ですよね。やっていくしかねえなって思い込んだな。
スピーカー 2
本当全体通して、頭から役者あとがきまで本当に良い本だなって思いながら読んでました。
24:03
スピーカー 1
そうですね。役者あとがきは多分柴田さんのブログに昔載ってたのを見かけた気がする。
スピーカー 2
そこだけでも全然読める。
スピーカー 1
そうですね。じゃあアプレンティシップパターンは完了ということですかね。
スピーカー 2
はい。
スピーカー 1
で、そうすると次の本か。
はい。
2週間経つとまた次の本が来るんだなっていうのが最近感じますね。
スピーカー 2
そうですね。読みながら、そういえば次の本何?また目の前の本読みよって次の本決めないといけないの?って気持ちになりながら本を読んでますね。
スピーカー 1
で、じゃあそんな次の本はどうしますか?
スピーカー 2
次の本はやっぱり忍術の神話を読みましょう。
別にね、後回しにしてたわけではないんですけどね。
優先順位をつけたらただにこの位置に来たというだけですね。
スピーカー 1
これね、別に本当にいつ読んでもいい本。
げんえいさんは未読。
スピーカー 2
昔にパラパラとは読んだけどそんなに覚えてないみたいな状態ですね。
スピーカー 1
僕は1回数年前に読んだなっていう記憶があるんで、
なんかでもここまで散々レマルコとかいろんな人の本を読んできたんで、
当時とは少し感触、感想、印象違うんだろうなぁとか思いながら。
スピーカー 2
逆に当時と今が変わってなさすぎるってなったらちょっと怖いなって思っちゃうな。
スピーカー 1
でもまあそうですね、オブジェクト語言語が銀の弾丸になるのか的な話があったりして、
スピーカー 2
そういうところで時代を感じていけばいいかもしれないですね。
スピーカー 1
じゃあまた人月の神話を、これはボリューム的に1回で収まる、1回というか。
1回って言ってるのは収録が1回のだけなんで。
配信は分割すると思うんですけど。
というところですかね。
はい。
なんか言い残したこととか宣伝とか大丈夫ですか。
スピーカー 2
大丈夫です。
スピーカー 1
はい、じゃあおしまいにしましょう。
はい。
今週も放送をお聞きいただきありがとうございます。ではまた次回。さよなら。
スピーカー 2
さよなら。