Co to jest „programowanie bez ego”?

12

Po raz pierwszy usłyszałem ten termin około piętnaście lat temu.

Moje rozumowanie jest podobne do tego opisanego w artykule w Wikipedii oraz w artykule TechRepublic : pracujesz ze swoimi kolegami w „przyjazny, kolegialny sposób, aby odłożyć na bok osobiste uczucia”. Obejmuje to takie rzeczy, jak robienie recenzji z obopólnym szacunkiem i chęć uczenia się, a także brak poczucia, że ​​jesteś „własnym” kodem, więc jeśli ktoś ma sugestię lub mówi, że jest błąd lub musi go zmienić, nie będziesz się bronił to.

Pomyślałem również, że w dużej mierze chodziło o nastawienie, które zapewnia dobre relacje z innymi programistami w celu ulepszenia kodu. Dlatego nie uważałem tego za niezgodne z dumą z jakości pracy lub żalem, jeśli coś, co zrobiłeś, spowodowało problem dla klienta.

Jednak odpowiedź na ostatnie pytanie sprawia, że ​​myślę, że niektórzy programiści mają odmienne rozumienie „programowania bez ego”. Więc jaka jest poprawna definicja? Jakie są tego konsekwencje?

Bob Murphy
źródło
7
Programowanie ego-obfitości jest o wiele przyjemniejsze niż programowanie bez ego.
Job
2
@Job: Tak, i jak mówią Pogromcy mitów, wszystko idzie lepiej z C-4.
Bob Murphy,

Odpowiedzi:

17

Wszystkie powyższe.

Programowanie bez ego ma głównie związek z szacunkiem dla programisty, który podąża za tobą, który będzie musiał dowiedzieć się, co zrobiłeś ze swoim kodem, aby mógł go utrzymać, i być może poprawić to, co zrobiłeś ( Wiem, że wydaje się to nie do pomyślenia, ponieważ cały kod, który piszę jest już idealny;).

Uważam również, że programiści pozbawieni ego nie zajmują dogmatycznych stanowisk w sprawie swojej pracy. Dzięki temu są wystarczająco elastyczni, aby pracować w środowiskach, w których ich idealistyczne oczekiwania nie zawsze są tak chętnie przyjmowane lub bezwarunkowo akceptowane.

Robert Harvey
źródło
Zgadzam się, że nie-dogmatyczność jest bardzo ważna dla konstruktywnych relacji - nie tylko w programowaniu - i ciągle z tym walczę.
Bob Murphy,
@ Bobmurphy Znam dwa skuteczne sposoby na uniknięcie dogmatyki. 1) Nie dbanie o ideały. 2) Poświęcenie czasu i energii na zbudowanie zespołu programistów, który podzielał ideały. Wiele osób rezygnuje z 2, pisze dokument normatywny, którego nikt nie czyta i powoli zsuwa się do 1. Jedynym anidotem jest przegląd kodu, który dotyczy tego, jak ludzie się czują. Nie chodzi o przestrzeganie zasad.
candied_orange
8

Wyrażenie nie ma standardowego znaczenia ISO, więc różni ludzie mogą zgodnie z prawem oznaczać różne rzeczy.

Wierzę, że został wymyślony przez Weinburga w Psychologii programowania komputerowego . Miał na myśli programowanie bez wiązania jakiegokolwiek ego z kodem, aby nie był to „twój kod”, tylko kod. Ułatwia to współpracę w celu ulepszenia kodu, możliwość zaakceptowania krytyki tego, co napisałeś (ponieważ nie jest skierowany do ciebie) oraz ogólną pracę zespołową.

David Thornley
źródło
Nie sądziłem, że to standard ISO. :-) Byłem po prostu zaskoczony, że ludzie sugerowali, że programowanie bez ego oznacza, że ​​niewłaściwe jest przepraszanie konsumentów mojego oprogramowania, gdy są niewygodne z powodu błędów, które napisałem. Jeśli to to oznacza, będę egoistyczny i uprzejmy.
Bob Murphy,
@ Bob: Nie rozumiem, jak bezinteresowny a la Weinburg prowadzi do tego, że nie przeprasza za błędy. Brzmi dla mnie dość egoistycznie.
David Thornley,
Tego nie mogłem rozgryźć.
Bob Murphy,
6

Nie ma jednej poprawnej definicji, ponieważ pojęcie „Ego” podlega wielkiej interpretacji. W zależności od twoich przekonań psychicznych i duchowych istnieje więcej niż kilka różnych odpowiedzi na temat tego, jak można spróbować usunąć ego z ich życia.

Implikacja, jaką rozumiem, polega na tym, że istnieje zbiorowa własność , dzięki czemu każda osoba w zespole pracuje na korzyść wszystkich, a nie tylko siebie. „ David Logan o przywództwie plemiennym ” to rozmowa TED, w której plemię 4 poziomu byłoby w pewnym sensie jednym z pozbawionych ego ludzi.

JB King
źródło
1

Jestem osobą w średnim wieku. Byłem w wielu różnych krajach i miałem szczęście spotkać genialnych ludzi, takich jak astronomowie i mnisi buddyjscy zen.

Około dwa lata temu odbyłem kilka zajęć komputerowych, aby pogłębić swoją wiedzę na temat programowania.

Pewnego dnia mój profesor programowy przyniósł klasie puzzle „Wieża Hanoi”. Byli studenci, którzy zawsze chwalą się swoim udanym życiem jako programiści. Mój profesor podarował wszystkim uczniom układankę i poprosił wszystkich o rozpoczęcie układanki w tym samym czasie.

Wszyscy indywidualiści zajmujący się programowaniem starali się jak najlepiej udowodnić swoją inteligencję. Student, który jako pierwszy ukończy układankę, to osiemnastoletni chiński student, który niewiele wie o programowaniu. Indianie byli zdenerwowani. Ale mój mądry profesor, który ma trzydzieści lat doświadczenia w programowaniu (w tym Lisp), uśmiechnął się na jego twarzy.

Przepraszam za mój zły angielski. Mój język ojczysty to japoński

Wujek Joe
źródło
+1: Widziałem to wiele razy, i to nie tylko z programowaniem.
Bob Murphy
BTW, ja też jestem w średnim wieku (52). Kiedy byłem nastolatkiem i dwudziestką, byłem pewien, że wiele wiem. Teraz jestem pewien, że niewiele o niczym wiem. Zabawnie jest patrzeć, jak mój 18-letni siostrzeniec jest bardzo pewny siebie.
Bob Murphy
@BobMurphy „Im więcej się uczę, tym bardziej wiem, jak mało wiem”
gbjbaanb
1

Moim zdaniem (i tylko tym) jest to, że termin „programowanie bez ego” jest oksymoronem.

Programiści i inżynierowie są z natury grupą egoistyczną (w tym mną). Na koniec dnia, kiedy piszesz kod, tworzysz coś. Kiedy jesteś dumny ze swojej pracy i tego, co produkujesz, bez względu na to, jak bardzo szanujesz swoich rówieśników i rozumiesz, że w przyszłości należy wprowadzić zmiany w pracy, nadal boli to twoje ego, kiedy to nastąpi. Każdy inżynier, którego spotkałem, ma natychmiastową nadopiekuńczą reakcję ojca / matki na kolana w celu ochrony swoich dzieci, nawet jeśli po dokładnej dyskusji autor jest bardziej skłonny zaakceptować fakt, że zmiany należy dokonać.

Innymi słowy, nie sądzę, że to możliwe, aby mieć czysto ego mniej programowania.

Ponownie, tylko moja opinia oparta na doświadczeniu. Zapraszam do bicia mnie na to :)

... A teraz zdałem sobie sprawę, ile lat ma ten wątek: P.

Demian Brecht
źródło
3
To, że twoi koledzy są dupami, nie oznacza, że ​​musisz być taki! Chodzi o to, że jeśli będziemy zachęcać do kodowania bez ego, to następne pokolenie może być mniejszą grupą szczypiec prima-domnna i więcej profesjonalistów.
gbjbaanb