「エゴレスプログラミング」とは何ですか?


12

この言葉を聞いたのは約15年前です。

私の理解は、ウィキペディアの記事TechRepublicの記事で説明されているものと似ています。「友好的で、個人的な感情を脇に置いて、同僚と一緒に」仕事をします。相互に敬意を払ってピアレビューを行い、学習したいという欲求を含み、コードを「所有」していると感じないため、誰かがバグを提案したり、バグを修正したり変更する必要があると言ったとしても、あなたはそれについて弁明しませんそれ。

また、コードを改善することを目標に、他のプログラマーと良好な関係を築く態度を持つことが主な目的だと考えました。だから私はそれがあなたの仕事の質に誇りを持っているとか、あなたがしたことがあなたの顧客に問題を引き起こした場合に後悔を感じると両立しないとは見ていません。

しかし、最近の質問に対する答えから、他のプログラマの中には「エゴレスプログラミング」について異なる理解を持っていると思うようになります。では、正しい定義は何ですか?そして、その意味は何ですか?


7
自我の多いプログラミングは、エゴのないプログラミングよりもはるかに楽しいです。
ジョブ

2
@ジョブ:はい、そしてMythbustersが言うように、すべてがC-4で良くなります。
ボブマーフィー

回答:


17

上記のすべて。

自我のないプログラミングは主に、あなたの後を追うプログラマーにどれだけ敬意を払っているかに関係しています。私が書いたすべてのコードがすでに完璧であるため、それは考えられないようです;)。

また、エゴレスプログラマは自分の仕事について独断的な立場をとらないと考えています。これにより、理想主義的な期待が常に熱心に受け入れられない、または無条件に受け入れられるとは限らない環境で働くのに十分な柔軟性が得られます。


独断的でないことは、プログラミングだけでなく建設的な関係にとって非常に重要であることに同意します。
ボブマーフィー

@bobmurphy私は独断的であることを避けるための2つの効果的な方法を知っています。1)理想についてがらくたを与えない。2)理想を共有した開発チームを構築するために必要な時間とエネルギーを投入します。多くの人々は2をあきらめ、誰も読まないでゆっくりと1にスライドする標準ドキュメントを書きます。唯一の補遺は、人々がどのように感じるかについてのコードレビューです。ルールに従うことではありません。
candied_orange

8

このフレーズにはISO標準の意味がないので、人によって異なることを合法的に意味することができます。

私はそれがコンピュータープログラミングの心理学でワインバーグによって造られたと信じています。彼は、自分のエゴをコードに結び付けずにプログラミングすることを意味していたので、「あなたのコード」ではなく、単なるコードです。これにより、コードを改善するための協力、自分が書いたものに対する批判を受け入れる能力(自分に向けられていないため)、および一般的なチームワークが促進されます。


ISO標準だとは思いませんでした。:-)私が書いたバグに不便を感じているのに、私のソフトウェアの消費者に謝罪することは不適切であるという意味で、人々がエゴレスプログラミングを意味していることに驚いただけです。それがそれが意味するものであるなら、私は利己的で礼儀正しくなります。
ボブマーフィー

@ボブ:ワインバーグがバグに謝罪しないことにどれほどエゴレスがつながるかはわかりません。それは私にはかなり利己的です。
デビッドソーンリー

それは私が理解できなかったものでした。
ボブマーフィー

6

「自我」の概念は優れた解釈の対象となるため、1つの正しい定義はありません。あなたの心理的および精神的な信念に応じて、人生から自我を取り除こうとする方法について、いくつかの異なる答えがあります。

私がこの用語を理解している意味は、集団の所有権があるということです。そのため、チームの各人は自分自身だけでなく全員の利益のために働いています。「部族のリーダーシップに関するデビッド・ローガン」は、ある意味でレベル4の部族がエゴレスの人々であるTEDトークです。


1

私は中年の人です。私はさまざまな国に行ってきましたが、幸運にも天文学者や禅僧などのすばらしい人々に会えました。

プログラミングについての知識を磨くために、2年ほど前にいくつかのコンピュータークラスを受講しました。

ある日、私のプログラミング教授が「ハノイの塔」パズルをクラスに持ち込みました。プログラマーとしての成功を常に自慢している学生もいました。私の教授はすべての生徒にパズルを与え、全員に同時にパズルを始めるように頼みました。

すべてのプログラミングの異端者は、彼らがどれほど賢いかを証明するために最善を尽くしていました。最初にパズルを完成させる学生は、プログラミングについてほとんど知らない18歳の中国人学生です。異端者は動揺していた。しかし、30年のプログラミング経験(Lispを含む)を持っている私の賢明な教授は、彼の顔に笑みを浮かべていました。

英語が下手です。母国語は日本語です


+1:プログラミングだけでなく、これを何度も見ました。
ボブマーフィー

ところで、私も中年です(52)。10代から20代の頃、私は多くのことをよく知っていたと確信していました。今、私は何についてもあまり知らないと確信しています。私の18歳のneが自分を確信しているのを見るのはとても面白いです。
ボブマーフィー

@BobMurphy「私が学べば学ぶほど、私がどれだけ少ないかを知っている」
-gbjbaanb

1

私の意見(そしてそれだけ)は、「エゴレスプログラミング」という用語は矛盾表現であるということです。

プログラマーとエンジニアは本質的に利己的な束です(私自身も含まれます)。結局のところ、コードを書くときは何かを作成しています。仕事に誇りを持ち、何を出力しても、、同僚をどれだけ尊敬し、将来あなたの仕事に変更を加える必要があることを理解しても、それが起こるとエゴを傷つけます。私が今まで会ったすべてのエンジニアは、徹底的な議論が行われた後、著者が変更が必要であるという事実を受け入れようとしますが、赤ちゃんを保護するために即座に過保護な父親/母親の膝をつまむ反応を持っています。

言い換えれば、私はそれを持つことが可能であるとは思わない 純粋にエゴのないプログラミングます。

繰り返しますが、私の意見は経験に基づいています。これで私を打ちましょう:)

...そして今、私はこのスレッドがどれくらい古いかを理解しました:P


3
同僚がケツだからといって、あなたもそうである必要はありません!アイデアは、エゴレスコーディングを奨励すれば、次の世代は一群のプリマドムナドウィブではなく、より専門家になるかもしれないということです。
gbjbaanb
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.