エンジニアのプライド
こんにちは。よくキレる静カニです。キレるときといったらプライドをボコボコにされたときですよね。エンジニアのプライドはどのようなものであるべきでしょうか。 ちなみにこれはこの本でのニューヨークタイムズ側の対応を読んでるときに思ったことです。 (対応の概要:いっつも実害与えずに脆弱性の報告を各社にしていたハッカーがニューヨークタイムズのときはNYT側が攻撃としてハッカーを訴えた)
強固であるべき
ラリー・ウォールが言っていた三大美徳とは、怠惰・短気・傲慢です。傲慢とはプライドが強いことと言えます。 つまり脆弱性の報告を受けたときも強気でいるということでしょう。(解釈おかしいだろと思った方は後でもう少しまともな解釈の話に行くので待っててください)
柔軟であるべき
しかし強固であるばかりではいけない場合もあります。脆弱性の報告を受けたときがその最たる例でしょう。このときエンジニアは迅速に対応するべきというのは常識です。 ここで強固なプライドのせいで強気になって対応が後手後手に周ってはいけません。ということで柔軟であるべきともいえるでしょう。
解釈バグ
対立しているように見える二つの意見ができてしまいました。ここで強固側の意見について反論を挙げられます。
「傲慢」という言葉を文脈なしで解釈してしまうと、本来の三大美徳とはかけ離れた意味になってしまうでしょう。 この文脈においての「傲慢」の一般的な解釈は、他人が文句を言わないレベルのプログラムを書く、ということです。 そんな人間を一語でまとめた結果が「傲慢」ということです。これでは強固であるべきという主張の根拠にはなりえません。
共存
そもそも強固と柔軟は対立する関係のように見えますが、ちゃんと考えたら共存できそうですよね。
品質にこだわりまくるのは(納期を守れば)よいことです。ここについては強固であるべきと行っても差し支えないでしょう。 無論脆弱性報告の場面では柔軟でないと事故にしかなりませんが。
脆弱性報告のとらえ方
ここで主に話の軸としているのは脆弱性の報告です。 強固である場合、脆弱性報告を「攻撃」としてとらえてしまうのではないでしょうか。攻撃ということは応急処置をするような状態と言えます。これは根本的な解決にはなりません。 一方柔軟な場合、脆弱性報告を「感謝すべき対象」としてとらえられるでしょう。この場合は根本的な解決への道が近いでしょう。 この面でも脆弱性に関する場面でエンジニアは柔軟なプライドでいなければならないと言えると思います。
まとめ
エゴとプライド違うから注意 とりあえずプライドとかよりも基準はユーザー