私はこの素晴らしい本を読んでいます "Coders at Work:Reflections on the Craft of Programming"by Peter Seibel そして私は会話がJoshua Blochと一緒に、私はこの答えがプログラマーにとって重要なポイントであることを発見しました。段落は、このようなものになります。
この問題があります。つまり、プログラミングは知的能力主義であり、多くの場合、これらの人々は組織内で最も賢い人々です。したがって、彼らはすべての決定を下すことが許可されるべきであると考えています。しかし、彼らが組織内で最も賢い人々であるという事実だけでは、インテリジェンスはスカラー量ではないため、すべての決定を下す必要があるという意味ではありません。それはベクトル量です。
ここで最後の文で、私は彼が共有しようとしている洞察を得ることができません。 ベクトル量によって彼が何を意味するのか誰かがそれを少し詳しく説明できますか?おそらく同じ洞察を提示しようとしています
さらに下に、私は彼が電子メールを書くためにより多くの時間を費やすことができるという理由で非技術的な人々(時には無知)が技術的な人々のマネージャーになることができる組織を持っていることについて取っていないというポイントを取得します上記の段落に続くステートメントはでした。
また、共感や感情的知性が不足している場合は、API、GUI、または言語を設計するべきではありません。
ソフトウェアエンジニアリングでは、プログラマーはユーザーが製品をどのように見てデザインするかを知っているべきだと彼が言っていることを理解しています。
上記の段落は非常に興味深いと感じました。
ベクトルには、大きさと方向の両方があります。彼はあなたがその大きさだけで知性を説明することはできないと言っています。また、知性が向けられている方向を知っている必要があります。アインシュタインは言った:
「誰もが天才です。しかし、木に登る能力で魚を判断すると、それは愚かだと信じて一生生きます。」
ブロッホは、あなたの組織の最高のスイマーが木に登るのと同じくらい優れていると仮定しないでくださいと言っています。
…インテリジェンスはスカラー量ではないため。それはベクトル量です。
筆者には話せませんが、プログラマとしての実用的インテリジェンスには単一の次元がないという事実の類推としてそれを読みます。
別の言い方をすれば、人とのやり取りに優れている人もいれば、コンピュータサイエンスのハードウェアの問題に優れている人もいれば、巧みに設計されたコードを書くのが得意な人もいます。
それらのどれもが他のものより「よりインテリジェント」ではなく、それらは等しくインテリジェントであり、異なることで等しく熟練していますが、同じことで等しく熟練していません。
ソフトウェアエンジニアリングでは、プログラマーはユーザーが製品をどのように見てデザインするかを知っているべきだと彼が言っていることを理解しています。
ツールのユーザーがどのように機能するか、どのように感じるか、どのように動作するかを理解するスキルがない場合は、ユーザーが使用するインターフェイスを設計するべきではないと言っていると読みました。 ( "users" == "programmers"の値の場合、APIが含まれます)
言い換えれば、あなたが1つのことで素晴らしいからといって、あなたがすべてで素晴らしいと思い込まないでください。