"자아없는 프로그래밍"이란 무엇입니까?


12

나는 약 15 년 전에이 용어를 처음 들었다.

저의 이해는 Wikipedia 기사TechRepublic 기사 에서 설명한 것과 비슷합니다 . "개인적인 감정을 버리는 친근하고 협력적인 방식으로"동료들과 협력합니다. 여기에는 상호 존중과 배우고 자하는 욕구와 같은 코드가 포함되어 있으며, "자신의"코드처럼 느끼지 않기 때문에 누군가 제안이 있거나 버그가 있거나 코드를 변경해야한다고해도 방어 적이 지 않습니다. 그것.

또한 코드를 개선하려는 목표로 다른 프로그래머와 좋은 관계를 유지하는 태도를 갖는 것이 중요하다고 생각했습니다. 따라서 나는 업무의 질에 자부심을 느끼거나 고객이 문제를 일으킨 것에 대해 후회감을 느끼지 않는 것으로 보지 못했습니다.

그러나 최근의 질문에 대한 대답은 다른 프로그래머들이 "자아없는 프로그래밍"에 대해 다른 이해를 가지고 있다고 생각합니다. 그렇다면 올바른 정의는 무엇입니까? 그리고 그 의미는 무엇입니까?


7
자아 프로그래밍은 자아없는 프로그래밍보다 훨씬 재미있다.
Job

2
@Job : 그렇습니다. Mythbusters가 말했듯이 모든 것이 C-4와 함께 더 좋습니다.
Bob Murphy

답변:


17

무엇보다도.

Egoless 프로그래밍은 주로 당신을 따르는 프로그래머, 당신이 코드로 수행 한 작업을 파악하여 코드를 유지할 수 있도록하고, 아마도 당신이 한 일을 개선해야 할 프로그래머에 대한 존경심과 관련이 있습니다. 내가 작성한 모든 코드가 이미 완벽하기 때문에 상상할 수없는 것처럼 보입니다.).

또한 자아없는 프로그래머는 자신의 작업에 대해 독단적 인 입장을 취하지 않는다고 생각합니다. 따라서 이상적인 기대치가 항상 열렬히 수용되거나 무조건 수용 될 수없는 환경에서 작업 할 수있을 정도로 유연합니다.


저는 독단적이지 않은 것이 프로그래밍뿐만 아니라 건설적인 관계에도 매우 중요하다는 데 동의합니다.
밥 머피

@bobmurphy 나는 독단적 인 것을 피하는 두 가지 효과적인 방법을 알고 있습니다. 1) 이상에 대해 헛소리를 내지 않는다. 2) 시간과 에너지를 투입하여 이상을 공유하는 개발 팀을 구성합니다. 많은 사람들이 2를 포기하고 아무도 읽지 않고 천천히 1로 들어가는 표준 문서를 작성합니다. 유일한 anidote는 사람들이 느끼는 방식에 대한 코드 검토입니다. 규칙을 따르는 것이 아닙니다.
candied_orange

8

이 문구에는 ISO 표준 의미가 없으므로 다른 사람들이 합법적으로 다른 것을 의미 할 수 있습니다.

나는 그것이 컴퓨터 프로그래밍의 심리학 에서 Weinburg에 의해 만들어 졌다고 믿는다 . 그는 코드에 자아를 묶지 않고 프로그래밍을 의미했기 때문에 "귀하의 코드"가 아니라 코드 일뿐입니다. 이를 통해 코드를 개선하기위한 협력, 작성한 내용에 대한 비판 수용 능력 (일반적으로 지시되지 않기 때문에) 및 일반적인 팀워크가 촉진됩니다.


나는 그것이 ISO 표준이라고 생각하지 않았습니다. :-) 사람들이 자아없는 프로그래밍을 암시한다는 사실에 놀랐습니다. 제가 작성한 버그로 인해 불편을 겪을 때 소프트웨어 소비자에게 사과하는 것이 부적절하다는 것을 의미합니다. 그것이 그것이 의미하는 바라면, 나는이기적이고 정중 할 것입니다.
밥 머피

@ 밥 : 나는 La Weinburg가 자존심이 없어서 버그에 대해 사과하지 않는 것을 보지 못했습니다. 나에게는 꽤 이기적으로 들린다.
David Thornley

내가 알아낼 수 없었습니다.
Bob Murphy

6

"자아"의 개념이 큰 해석의 대상이되므로 올바른 정의는 없습니다. 심리적, 영적 신념에 따라 인생에서 자아를 제거하는 방법에 대한 답변은 몇 가지가 있습니다.

이 용어를 이해함에 따라 함축 된 소유권 이 존재 하므로 팀의 각 사람이 자신이 아닌 모든 사람의 이익을 위해 노력하고 있습니다. " 종족 리더십에 관한 데이비드 로건 (David Logan) "은 TED 강연으로 레벨 4 부족이 무자비한 사람이 될 수 있습니다.


1

나는 중년의 사람입니다. 나는 많은 다른 나라에 갔으며 천문학 자나 선불 승려와 같은 훌륭한 사람들을 만날만큼 운이 좋았습니다.

약 2 년 전에 저는 프로그래밍에 대한 지식을 쌓기 위해 몇 가지 컴퓨터 수업을 들었습니다.

어느 날 내 프로그래밍 교수가 "Tower of Hanoi"퍼즐을 수업에 가져 왔습니다. 프로그래머로서의 성공적인 삶에 대해 항상 자랑하는 일부 학생들이있었습니다. 교수님은 모든 학생들에게 퍼즐을 주었고 동시에 퍼즐을 시작하도록 모든 사람에게 요청했습니다.

모든 프로그래밍 매버릭스는 자신이 얼마나 똑똑한 지 증명하기 위해 최선을 다하고있었습니다. 퍼즐을 먼저 끝내는 학생은 프로그래밍에 대해 거의 아는 18 세 중국 학생입니다. 매버릭스는 화가났다. 그러나 30 년의 프로그래밍 경험 (Lisp 포함)을 가진 저의 현명한 교수는 미소를지었습니다.

실례지만 영어 실례합니다 내 모국어는 일본어


+1 : 프로그래밍뿐만 아니라 여러 번 보았습니다.
밥 머피

BTW, 나도 중년입니다 (52). 10 대와 20 대에있을 때 많은 것들에 대해 많이 알고있었습니다. 지금, 나는 아무것도 모른다고 확신합니다. 나의 18 살짜리 조카가 자신을 확신하는 것을 보는 것은 매우 재미있다.
밥 머피

@BobMurphy "내가 더 많이 배울수록 내가 아는 것이 얼마나 작은 지"
gbjbaanb

1

저의 의견은 "자아없는 프로그래밍"이라는 용어가 옥시 모론이라는 것입니다.

프로그래머와 엔지니어는 본질적으로 이기적인 무리입니다 (자체 포함). 하루가 끝나면 코드를 작성할 때 무언가를 만들고 있습니다. 당신의 일과 결과물에 자부심을 가질 때, 동료를 얼마나 존중하고 미래에 당신의 일에 변화가 필요하다는 것을 이해하더라도, 자아는 여전히 일어날 때 자아를 아프게합니다. 내가 만난 모든 엔지니어는 철저한 논의가 이루어 지더라도 아기를 보호하기 위해 즉각적인 과잉 보호 아버지 / 어머니 무릎 반응을 가지고 있습니다.

다시 말해, 순수한 자아없는 프로그래밍 이 가능하지 않다고 생각합니다 .

다시 한 번, 내 의견은 경험에 근거합니다. 이것에 저를 강타하게 자유롭게 느끼십시오 :)

... 그리고 지금 내가 실현이 스레드는 얼마나 오래된 : P


3
당신의 동료가 엉덩이 모자라고해서도 당신이 그렇게되어야한다는 것을 의미하지는 않습니다! 우리가 자아없는 코딩을 장려한다면, 차세대는 많은 프리 마돈나 족집게와 더 많은 전문가가 아닐 수 있습니다.
gbjbaanb
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.