Co jest złego w byciu małpą kodową? (Lub, co to jest małpa kodowa?) [Zamknięte]

35

Programiści mówią w sposób obraźliwy o byciu „małpą kodową”. „Nie pracuj tam , będziesz po prostu małpą kodową!”.

Mam dwie oferty pracy, jedną w małej firmie, jedną w bardzo dużej firmie (ta sama pensja). Mój przyjaciel właśnie powiedział mi, że będę małpą kodową w dużej firmie i z doświadczenia z pierwszej ręki wie, że mała firma będzie bardziej satysfakcjonująca niż redukcja mnie do „małpy kodowej”.

Naprawdę nie rozumiem różnicy między „małpą kodową” a „prawdziwym” programistą. Proszę opracować. Uwielbiam programować, więc dla mnie pomysł siedzenia przy programowaniu komputerowym (tj. Małpce kodowej) nie wydaje się zły. Co programista rozumie przez „kodową małpę”, jeśli lubi programować?

Ben B.
źródło
Jonathan Coulton wykonuje Code Monkey Unplugged youtube.com/watch?v=7s8S7QxpjeY
Adam
Codemonkeys dostać fajniejsze koszulki redbubble.com/people/hayko/t-shirts/1808968-b-code-monkey
yannis
hmmmmm .... Code Monkey - och, czekaj, nie, myślę o Chunky Monkey.
dietbuddha
Małpy nie są dobrymi programistami poza Babunem!
Arun Sangal,

Odpowiedzi:

32

Code Monkey oznacza kodowanie tak proste, że małpa mogłaby to zrobić

Jest często używany w odniesieniu do zadań programistycznych najniższego poziomu, ale może być również stosowany w odniesieniu do kogoś, kto nie robi nic poza kodowaniem. Bez projektowania interfejsu użytkownika, bez wkładu architektonicznego, bez decyzji programistycznych itp

Nie ma nic złego w byciu małpą kodową (czasami nazywam siebie jedną), ale są szanse, że jeśli wszystko, co robisz, to kodowanie, nigdy nie przejdziesz wyżej w łańcuchu i zobaczysz wyższe zarobki, które są w stanie zobaczyć i zrozumieć cały cykl tworzenia oprogramowania.

Rachel
źródło
21

„Małpa kodowa” opisuje kodera, od którego wymagana jest zerowa kreatywność. Taki koder wykonywałby powtarzalne, nudne, często żmudne zadania, takie jak klonowanie formularzy i zmienianie jednego pliku itp.

To, co nazywacie „prawdziwym programistą”, to osoba, która faktycznie bierze udział w projektowaniu logiki aplikacji i faktycznie wykorzystuje kreatywność do wykonania zadania.

vartec
źródło
Nie jestem pewien, czy powiem to poprawnie, ale czy zadaniem „prawdziwego programisty” jest praca nad logiką biznesową tworzenia oprogramowania? Przykład: załóżmy, że mamy aplikację internetową, czy to na deweloperze spoczywałaby odpowiedzialność za zaprojektowanie (logikę) widżetu do wyświetlania niektórych statystyk lub kogoś innego, kto powinien przekazać wszystkie wymagane informacje deweloperowi (tj. To, co musimy wyświetlić, czy byłoby to dostępne dla wszystkich lub tylko autoryzowanych użytkowników itp.), a następnie projektant zaprojektowałby schemat bazy danych, kod itp.? Czy robię to, co próbuję powiedzieć? -serres na mój zły angielski-
ltdev
15

Przynajmniej dla mnie różnica polega na tym, że małpa kodowa po prostu produkuje kod, nie myśląc o nim, podczas gdy „właściwy” programista jest profesjonalistą . Używają technik inżynieryjnych do tworzenia kodu o wyższej jakości i mają świadomość systemu jako całości, wykonują lepsze planowanie i dokładniejszy projekt.

Na przykład niektóre cechy „właściwego” programisty (choć należy pamiętać o kultywacji ładunków) mogą być:

  • Programista jest w pewnym stopniu zaangażowany w cały cykl rozwoju oprogramowania, a nie tylko w kodowanie. Kodowe małpy mogą kodować projekty lub wymagania, które zostały na nich zrzucone, a nie tworzone w porozumieniu z nimi.
  • Programiści tworzą obszerne projekty (w tym testy) przed napisaniem jakiegokolwiek kodu. Są pewni, że projekt jest dobry (szybki, wydajny itp.), Zanim zaczną go pisać. Kodowe małpy wskakują prosto. Nie wiedzą, czy projekt jest dobry, dopóki go nie uruchomią.
  • Programiści biorą odpowiedzialność za planowanie własnej pracy. Kodowe małpy robią tylko to, co im zarządza, kiedy im to nakazuje.
  • Programiści są cenieni jako osoba indywidualna za ich kreatywność i umiejętności. Kod małpy są postrzegane jako wymienne czarne skrzynki, które generują kod.
  • Programatory są przystosowalne; mogą zastosować swoje umiejętności w wielu obszarach, językach itp. Małpy kodowe nadmiernie się specjalizują i gubią się, jeśli będą musiały pracować z nowym środowiskiem.
  • Programiści zawsze starają się rozwijać jako profesjonaliści. Małpy kodowe pozostają tam, gdzie są, pod względem umiejętności i doświadczenia.

Użyłem tutaj dwóch punktów na przeciwległych końcach spektrum - podejrzewam, że większość miejsc pracy znajdzie się gdzieś pośrodku. Ponadto jest mało prawdopodobne, aby cała kariera pozostała w tym samym miejscu - dobra firma będzie dążyć do przeniesienia swoich pracowników w kierunku końca programisty poprzez szkolenie i rozwój zawodowy. Warto pracować na stanowisku młodszego programisty na końcu małpki kodowej, jeśli pracodawca ma program dla absolwentów lub podobny, który ostatecznie zapewni „właściwy” status programisty.

Scott
źródło
Ktoś oczywiście się ze mną nie zgadza, ponieważ przegłosowali - chciałbym wiedzieć o czym.
Scott
2
Spotkałem dwie rasy małp kodowych. Jednym z nich jest „stary pies”, który tylko koduje, jest niezawodny i wykonuje zadanie. Ale kosztem gęstego projektowania i kodu wypełnionego starymi paradygmatami i latami „cruft” doświadczenia, które sprawiły, że postrzegają wszystko jako gwóźdź, a „cruft” jako młot. Prawdopodobnie jeden z tych, którzy cię ocenili :)
Zoran Pavlovic
Można dodać, że programiści starają się również dowiedzieć się szczegółowo o tym, co użytkownicy końcowi chcą osiągnąć dzięki ich oprogramowaniu, i potencjalnie, jak to wpływa na cały świat, i wykorzystać tę wiedzę, aby wziąć udział w procesie podejmowania decyzji organizacyjnych dotyczących produkt, który opracowują. Polecam obejrzeć wideo z rozmowy Martina Fowlera „Więcej niż małpy kodowe”. Programista czasem sam decyduje, jaką pracę warto wykonać, albo robi to samodzielnie, albo próbuje przekonać kierownictwo do zgody.
bdsl
6

„Code Monkey” „code mon.key” (/ koʊd / / ˈmʌŋki /)

„Code Monkey” to obraźliwe określenie używane do opisania programisty, który:

  • Wykonuje zadania programowania, które są uważane za wyjątkowo proste lub nie stanowią prawdziwego wyzwania.
  • Naprawdę nie wolno rozwiązywać problemów ani brać udziału w projektowaniu aplikacji.

Teraz „prawdziwi” programiści czasami również wykonują tego rodzaju kodowanie od czasu do czasu.

Jednak główna różnica polega na tym, że „małpa kodowa” nie ma innego wyboru.

„Małpa kodowa” może być użyta do sugerowania pozycji LUB zdolności programisty

Ciemna noc
źródło
4

Zgodnie z plikiem żargonu małpa kodu może odnosić się do:

  1. Osoba zdolna tylko do rozdrabniania kodu, ale niezdolna do wykonywania bardziej naczelnych zadań związanych z architekturą, analizą i projektowaniem oprogramowania. Lekko obraźliwe. Często aplikowany do większości młodszych osób w zespole programistycznym.

  2. Każdy, kto pisze kod do życia; programista.

  3. Samo deprecjonujący sposób odmawiania odpowiedzialności za decyzję kierownictwa lub narzekania na konieczność życia z takimi decyzjami. Jak w „Nie pytaj mnie, dlaczego musimy pisać kompilator w języku COBOL, jestem tylko małpą kodową”.

Według Jonathana Coultona małpa kodowa:

  1. Jeśli spotka się z nieuczciwą krytyką ich kodu, wzbudzą wściekłość przeciwko krytykowi, ale ryzykują pogorszeniem swojej pozycji zawodowej utrzymają furię i nic nie powiedzą (twierdzą, że nie są szalony, po prostu dumny.)
  2. Lubi Fritos, Tab i Mountain Dew.
  3. Mają wrażliwą stronę, której woleliby nie pokazać lub raczej nie wiedzą, jak to pokazać (mają duże ciepłe, rozmyte „tajne” serca).
  4. Wiedzą, że pracują w ślepym zaułku i zamiast przyjść do tej pracy wolą się po prostu obudzić, zjeść ciasto kawowe, wziąć kąpiel i zdrzemnąć się.
  5. Próbuje przekonać samych siebie, że ich praca „spełnia się w sposób kreatywny”, ale w głębi duszy wiedzą, że to takie bzdury.
  6. Nie tak dobrze w sytuacjach społecznych.
  7. Wszystkie rzeczy, które są brane pod uwagę, wciąż mają dobre spojrzenie na ich przyszłość.

Z całą powagą, praca nie może sprawić, że będziesz małpą kodową, tylko twoje zachowanie i postawa mogą to zrobić.

Robert
źródło
3

W „Code Craft” Pete Goodliffe znajduje się cały rozdział o typach programistów . Wszystkie aspekty tego, co oznacza „Code Monkey” są wymienione w innych odpowiedziach. Chciałbym podkreślić (i co pokazuje tekst Goodliffe'a), że można znaleźć zalety i wady dla wszystkich rodzajów. W zależności od stanowiska i osobowości może być dobrym / pożądanym / spełniającym się być małpą kodową zespołu, który realizuje pomysły / koncepcje / plany, tworząc „Piękny kod”.

Ekkehard.Horner
źródło
Nie wiem, jakiej używasz definicji. Ale małpa kodowa prawie NIGDY nie wytworzy „Pięknego kodu” w jakimkolwiek sensie innym niż sarkastyczny.
Zoran Pavlovic
0

Jeśli chodzi o bycie dobrym programistą, będziesz bardzo dobrym programistą bez względu na to, dokąd się wybierasz, moja propozycja byłaby przy okazji programistą. Jeśli chodzi o bycie małpą kodową, to jest to związek, który budujesz sam lub firma zmusza do tego. Bycie małpą kodową oznacza, że ​​wszystko, co robisz, to trzymanie się prostego narzędzia lub technologii i jesteś utrzymywany w jednym trybie rozwoju drobnych rzeczy, wiesz, że twój potencjał tkwi w robieniu znacznie większych rzeczy, jeśli to twoja pierwsza praca, idź do większa firma, nawet jeśli utrzyma cię przez jakiś czas na poziomie małpy i zaufaj mi, jeśli firma jest duża i jestem pewien, że jeśli ciężko pracujesz, otrzymasz kod Godzilla !!! Jeśli twój przyjaciel mówi, że firma jest duża i będziesz trzymany na zasadach kodowych, to się myli. Firmy rosną, ponieważ mają tendencję do rozwiązywania dużych problemów na skalę przemysłową i pracują nad większymi problemami związanymi z projektowaniem i rozwojem. Małe firmy rzadko to robią, ale to nie znaczy, że małe firmy nie będą się rozwijać lub za kilka miesięcy staniesz się liderem zespołu, podobnie jak my wszyscy, wejdziesz na drabinę.

Wajih
źródło