Closed2

📚 達人プログラマー(第2版) 熟達に向けたあなたの旅

Haruya IzumiHaruya Izumi

https://www.ohmsha.co.jp/book/9784274226298/

第1章 達人の哲学

各章の抽象化(黄色の部分)

  • 1 あなたの人生

問題や課題はすべて自分の中にある。自己の認識範囲を広げる。
『反求諸己』(吉田松陰の言葉)
以下の資料よりキーワード『ビル・ゲイツ的性格の重要性』
https://wiki.c2.com/?ChangeYourOrganization


  • 2 猫がソースコードを食べちゃった

『すべての弱点で最も重要なものは弱みを見せることに対するおそれである. J.B. ボシュエ』
責任を前向きに捉える。いいわけでなく、主体的に。『反求諸己』
原因と対策を報告する。
『わからない。』と感じたら、『でも答えを見つけ出すぞ』と考える。


  • 3 ソフトウェアのエントロピー

エントロピー増大の法則に伴い、負債や腐敗は無秩序に増えていく可能性がある。
その中で影響が大きいとされるものが「文化」

なぜ起こるか...
ネガティブな考えは伝染する。
「割れた窓」(悪い設計、誤った意思決定、質の低いコード)は、発見と同時にすべて修復する。


  • 4 石のスープとゆでガエル

戦地から家路へと向かう3人兵士は飢えていました。しかし、前方に村を見つけ彼らは元気を取り戻しました――きっと村人たちは食料を分け与えてくれるだろう……と。しかし村に到着した彼らを待ち受けていたのは、かたく閉ざされたドアと窓だけでした。戦争が何年も続いたせいで、村人たちの食料も枯渇し、持っているものをすべて蔵の奥深くへとしまい込んでいたのです。そこで兵士達は深鍋いっぱいの湯を沸かし、その中に注意深く石を3つ沈めました。不思議に思った村人たちは、何が起こるのかを見るためにぞろぞろと表に出てきました。「これは石のスープだ」と兵士達は説明しました。「具はそれだけなんですかい?」と村人が尋ねます。「そのとおり――しかしいくらか人参を入れると味が引き立つと聞いたことがある……」村人は家に戻り、すぐさま蔵の中からかごいっぱいの人参を持って走ってきました。数分後、村人は再び尋ねました。「これで終わりですかい?」「あぁ」と兵士は答えます。「イモが数個あると味がどっしりとするな」これを聞くや否や別な村人が走っていきます。その後1時間ほどで、兵士たちはスープを良くするためのより多くの材料――牛肉、ネギ、塩、ハーブを挙げていきました。そのたびに別の村人が各個人の蓄えを取りに走っていきました。そして、ようやく大鍋いっぱいのほかほかしたスープができ上がりました。兵士たちは石を取り除いた後、村人全員たちとテーブルを囲み、この数カ月間食べたことのなかったような充実した食事をみんなで楽しむことができたのです。
David Thomas,Andrew Hunt. 達人プログラマー 熟達に向けたあなたの旅 第2版 (Japanese Edition) (p.52). Kindle 版.

この話をとても気に入っている。 部下を同期を、仲間を動機づけして奮い立たせる時。きっとこんなアプローチが必要。自然と集められるような。
もっとよりわかりやすい表現があった。以下です。

ここが石を取り出す時です。まず道理にかなった要求を考え出しましょう。次にその要求をうまく引き出せるよう、それなりのものを作り上げるのです。実現できたら、それを人々に見せて驚嘆させるのです。そしておもむろに「もちろん、~~を追加するともっとうまく行くんだけど……」とさもそれが重要でないことのように言うのです。あとは、もともと必要であった機能追加に関する質問をくつろいで待っていればよいでしょう。人は万事うまくいっていることには簡単に参加できるのです。未来を少し垣間見せるだけで、みんな集まってくるのです*5。
David Thomas,Andrew Hunt. 達人プログラマー 熟達に向けたあなたの旅 第2版 (Japanese Edition) (p.53). Kindle 版.


  • 5 十分によいソフトウェア

ものごとを良くしようと努力することで、しばしば良かったものまで台無しにしてしまう
「リア王」第1幕第4場 -シェイクスピア-

トレードオフを意識する。
これは、やめ時を知ることである。
本書で、プログラミングと絵画は似てると記述がある。全くそのとおり.

十分によいプログラムを飾り立て、洗練させすぎて台無しにしてはいけない

ここから学ぶ教訓は、時間=価値ではなく、むしろやめどきが大切ということである。
これは、MVPみたいな考え方にもつながるものがある。


  • 6 あなたの知識ポートフォリオ

知識ポートフォリオという、資産は有効期限付きである。ITは特に時代と共に変化する。そして時代遅れのままだと自分自身だけでなく、関わる企業やクライアントまで巻き込むことになる。

なるほど。
その上で本書では、知識資産と金融資産の管理は似ていると表現している。

  1. 真面目な投資家は習慣的に定期的な投資を行う
  2. 分散投資は長期的な成功の鍵
  3. 頭の良い投資家は、堅実な投資と、ハイリスク、ハイリターンな投資でポートフォリオのバランスをとる
  4. 投資家は利益を最大にするべく、安く買い、高く売ろうとする
  5. ポートフォリオは定期的に見直して再分配するべき
    「達人プログラマー」1-6 あなたの知識ポートフォリオより

つまり、自分なりに落とし込むと以下のようになる。

より実用的な本書で紹介されているTodo

  • 毎年少なくても言語を1つ学習する
  • 月に1冊のペースで技術書を読む
  • 技術書以外の書籍を読む
  • 講習を受講する
  • 近場のユーザーグループに参加する
  • 異なった環境に慣れ親しんでみる
  • 最先端にとどまり続ける

  • 7 伝達しよう!

日本語も同じく重要、あらゆることを伝達するときに使用する。
日本語もDRY原則、自動化、ETCなどを守る。
質問(問い)の重要性について...

ドキュメント化、どのように保つか。何が最善化?常に問う

Haruya IzumiHaruya Izumi

第2章 達人のアプローチ

良い設計の本質

ETCとは、「Easier To Change」(変更しやすくする)という原則
"大抵の場合、常識が通用し、経験に基づく直感も使いものになる"

上記を養う方法として、日記への書き込みなど、記録をつける

DRYに保つ

  • コードの二重化
  • 知識の二重化
  • ドキュメントの二重化(❗)
  • データにおけるDRY原則の違反
  • 表現上の二重化(❗)
このスクラップは2022/06/03にクローズされました