suztomoの日記

To be a good software engineer

Are Your lights on?

東工大の首藤先生が人生を変えた一冊としておすすめしようとしてた本。IT業界ビギナーのためのお勧め書籍55冊+α - 首藤一幸, Software Design 2013年 4月号

結局どの本が選ばれたかはまだ2019/8現在書かれていない。図書館サポーター企画「人生を変えた1冊」 | 東京工業大学附属図書館

Are Your Lights Onは1990年出版。図書館になかったのでAmazonで中古を注文。各章ごとに架空の話を紹介し、登場人物が問題解決について悟りを開く本。

Brontosaurus Tower

問題とは期待と認知の差である。

Billy and the Bidders

Billyはコンピュータでの解法を考えたが、その問題に固執してはいけない。

You can never be sure you have a correct definition, but don’t ever stop trying to get one.

The Endless Chain

解法は別の問題の種。針を上向きに置かない習慣をエンジニア達はつけていたが、他の人の安全まで考えなかった話。

Problem displacement: 問題を身の回りだけで解決して、大局的な問題を解決しないこと。

A misfit is a solution that produces a mismatch with the human being who have to live with the solution.

カミソリで子供が怪我するのはmisfit. Misfitだと認識できれば解決するのは簡単。

Mind Your Meaning

文が曖昧にならないようにする。曖昧な"too"により大事なデータが保存されなかった話。それぞれの単語に強調を入れた時に見えてくる曖昧さはないか?

Mary had a little lamb.

辞書的にhadは複数の意味を持つ(手に持ってる、体の一部、食べる、など)。

Smoke Gets in Your Eyes

先生が口出しせずに生徒達でタバコ煙問題を解決した話。他の人のが問題をきちんと解決できるならば手を出さないのがいい。他の人の解法は実行されにくい。

トンネルの入り口にライトをつける標識をつけたら、その横の展望台でバッテリー切れの車が続出した。トンネルを出た所に"もし夜ならライトを点けたまま。もし昼ならライトを消して"と書く案がは複雑すぎる。"Are your lights on?"で十分。

ビザの人が厳しいけど、ちゃんと名前を伺って世間話をしたら融通をきかせてくれた話。だいたいの問題の原因は自分にあると思え。

Solution-problemer: プログラマはコンピュータ(solution)に理解できる形に問題についてよく考えることから。 プログラマが物流最適化の仕事を貰ったけど、実は解決すべきは社内政治だった話。