Cosa c'è di sbagliato nell'essere una scimmia codice? (Oppure, cos'è una scimmia codice?) [Chiuso]


35

I programmatori tendono a parlare di essere una "scimmia di codice" in modo dispregiativo. "Non lavorare , sarai solo una scimmia codice!".

Ho due offerte di lavoro, una in una piccola azienda, una in una società molto grande (stesso stipendio). Il mio amico mi ha appena detto che sarò una scimmia di codice presso la grande azienda e sa per esperienza diretta che la piccola azienda sarà più gratificante che ridurmi a una "scimmia di codice".

Non capisco davvero la distinzione tra una "scimmia di codice" e un programmatore "reale". Per favore, elabora. Adoro programmare, quindi per me l'idea di stare seduto a un computer (ad es. Code monkey) non sembra male. Cosa intende un programmatore per "code monkey" se gli piace programmare?


Jonathan Coulton esegue Code Monkey Unplugged youtube.com/watch?v=7s8S7QxpjeY
Adam,

Codemonkeys ottiene magliette più fresche redbubble.com/people/hayko/t-shirts/1808968-b-code-monkey
yannis


hmmmmm .... Codice Monkey- oh aspetta, no, sto pensando a Chunky Monkey.
dietbuddha,

Le scimmie non sono buoni programmatori tranne un Babun!
Arun Sangal,

Risposte:


32

Code Monkey significa scrivere codice così semplice che una scimmia potrebbe farlo

Viene spesso utilizzato per fare riferimento ai lavori di programmazione di livello più basso, ma può anche essere usato per fare riferimento a qualcuno che non fa altro che codificare. Nessuna progettazione dell'interfaccia utente, nessun input architettonico, nessuna decisione di sviluppo, ecc

Non c'è niente di sbagliato nell'essere una scimmia di codice (mi chiamo uno a volte), ma è probabile che se tutto ciò che stai facendo è codificare non salirai mai nella catena e vedrai quelle cifre di stipendio più alto che vengono con la capacità di vedere e comprendere l'intero ciclo di sviluppo del software.


21

"Codice scimmia" descrive il programmatore dal quale è richiesta la creatività zero. Tale programmatore farebbe compiti ripetitivi, noiosi, spesso noiosi, come clonare la forma e cambiarne una archiviata ecc.

Quello che chiami "vero programmatore", sarebbe una persona, che partecipa effettivamente alla progettazione della logica dell'applicazione e che in realtà usa la creatività per il lavoro.


Non sono sicuro se lo dico correttamente, ma è il lavoro del "vero programmatore" lavorare sulla logica aziendale dello sviluppo del software? Esempio: supponiamo che abbiamo un'applicazione web, sarebbe responsabilità dello sviluppatore progettare (la logica di) un widget per mostrare alcune statistiche, o qualcun altro che dovrebbe fornire tutte le informazioni richieste allo sviluppatore (cioè ciò che dobbiamo visualizzare, sarebbe accessibile a tutti, o solo agli utenti autorizzati ecc.) e quindi il sviluppatore progetterebbe lo schema del database, il codice ecc.? Dico cosa sto cercando di dire? -dispiace per il mio cattivo inglese-
ltdev

15

Per me, almeno, la distinzione è che una scimmia di codice produce semplicemente codice senza pensarci davvero, dove come programmatore "corretto" è un professionista . Usano tecniche di ingegneria per produrre codice di qualità superiore e hanno una consapevolezza del sistema nel suo insieme, fanno una pianificazione migliore e una progettazione più accurata.

Ad esempio, alcune caratteristiche di un programmatore "appropriato" (sebbene sii consapevole del cultismo del carico) potrebbero essere:

  • Un programmatore è coinvolto, in una certa misura, con l'intero ciclo di vita dello sviluppo del software, non solo con la codifica. Le scimmie codice possono codificare disegni o requisiti che sono stati scaricati su di essi, piuttosto che creati in consultazione con loro.
  • I programmatori creano progetti estesi (inclusi i test) prima di scrivere qualsiasi codice. Sono abbastanza certi che il design sia buono (veloce, efficiente, ecc.) Prima di iniziare a scriverlo. Le scimmie codice entrano subito. Non sanno se il design è buono fino a quando non lo eseguono.
  • I programmatori si assumono la responsabilità di pianificare il proprio lavoro. Le scimmie codice fanno solo quello che dice il loro manager, quando gli viene detto.
  • I programmatori sono apprezzati come individui per la loro creatività e abilità. Le scimmie di codice sono viste come scatole nere intercambiabili che generano codice.
  • I programmatori sono adattabili; possono applicare le loro abilità in numerose aree, lingue, ecc. Le scimmie di codice sono troppo specializzate e si perdono se devono lavorare con un nuovo framework.
  • I programmatori cercano sempre di svilupparsi come professionisti. Le scimmie codice rimangono dove sono in termini di abilità ed esperienza.

Ho usato due punti alle estremità opposte di uno spettro qui - sospetto che la maggior parte dei lavori si troverà nel mezzo. Inoltre, è improbabile che un'intera carriera rimanga nello stesso posto: una buona compagnia si impegnerà a spostare i propri dipendenti verso la fine del programmatore attraverso la formazione e lo sviluppo professionale. Potrebbe valere la pena fare un lavoro come programmatore junior alla fine della scimmia del codice se il datore di lavoro ha uno schema di laurea o simile che alla fine si tradurrà in uno stato di "programmatore" adeguato.


Qualcuno ovviamente non è d'accordo con me, dal momento che hanno effettuato il downgrade - mi piacerebbe sapere di cosa.
Scott,

2
Ho incontrato due razze di scimmie codice. Uno di questi è il "vecchio cane" che codifica, è affidabile e fa il suo lavoro. Ma a scapito del design appariscente e con il codice pieno di vecchi paradigmi e anni di esperienza "cruft" che li ha fatti vedere tutto come un chiodo e la loro "cruft" come il martello. Probabilmente uno di quelli che ti hanno declassato :)
Zoran Pavlovic il

Potresti aggiungere che i programmatori si sforzano anche di apprendere in dettaglio ciò che gli utenti finali vogliono ottenere con il loro software e potenzialmente come ciò influisce sul resto del mondo, e usare quella conoscenza per assumere un ruolo nel processo di prendere le decisioni organizzative sul prodotto che sviluppano. Consiglio di guardare un video del discorso di Martin Fowler "More Than Code Monkeys". Un programmatore a volte decide da solo quale lavoro è buono da fare, e lo fa in modo autonomo, o tenta di convincere il proprio management ad accordarsi.
bdsl,

6

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

Un "Code Monkey" è un termine dispregiativo utilizzato per descrivere un programmatore che:

  • Preforma le attività di programmazione che sono considerate estremamente semplici o che non rappresentano una vera sfida.
  • Non è davvero permesso risolvere problemi o prendere parte alla progettazione dell'applicazione.

Ora i programmatori "reali" a volte hanno anche preformati questi tipi di codifica di volta in volta.

Tuttavia la differenza principale è che una "scimmia di codice" non ha altra scelta nel fare altro.

Una "Scimmia di codice" può essere usata per implicare la posizione di un programmatore O l' abilità


4

Secondo il file gergale una scimmia di codice può riferirsi a:

  1. Una persona in grado di smascherare il codice, ma incapace di eseguire le attività primarie di architettura, analisi e progettazione del software. Leggermente offensivo. Spesso applicato alle persone più giovani in un team di programmazione.

  2. Chiunque scriva codice per vivere; un programmatore.

  3. Un modo autoironico di negare la responsabilità di una decisione di gestione o di lamentarsi di dover convivere con tali decisioni. Come in "Non chiedermi perché dobbiamo scrivere un compilatore in COBOL, sono solo una scimmia di codice".

Secondo Jonathan Coulton una scimmia di codice:

  1. Se confrontati con critiche ingiuste nei confronti del loro codice, susciteranno una grande rabbia contro il critico, ma a rischio di ferire il loro status lavorativo manterrà la rabbia repressa e non diranno nulla (sostengono che non lo sono pazzo, solo orgoglioso.)
  2. Mi piace Fritos, Tab e Mountain Dew.
  3. Hanno un lato sensibile che preferiscono non mostrare, o più probabilmente non sanno come mostrare (hanno grandi cuori "segreti" sfocati e caldi).
  4. Sanno che stanno lavorando a un vicolo cieco e invece di entrare in un posto di lavoro preferirebbero piuttosto svegliarsi, mangiare una torta al caffè, fare un bagno e fare un pisolino.
  5. Cerca di convincersi che il loro lavoro è "soddisfacente in modo creativo", ma in fondo sanno che è un tale carico di merda.
  6. Non così buono in situazioni sociali.
  7. Tutte le cose considerate hanno ancora una visione chiara del loro futuro.

In tutta serietà, un lavoro non può renderti una scimmia codice solo il tuo comportamento e il tuo atteggiamento possono farlo.


3

C'è un intero capitolo sui tipi di programmatori nel "Code Craft" di Pete Goodliffe . Tutti gli aspetti del significato di "Code Monkey" sono menzionati nelle altre risposte. Quello che vorrei sottolineare (e che cosa mostra il testo di Goodliffe), è che puoi trovare pro e contro per tutti i tipi. A seconda del lavoro e della personalità, può essere buono / desiderabile / soddisfacente essere la scimmia del codice del team, che rende le idee / i concetti / i piani una realtà producendo "Beautiful Code".


Non so quale definizione stai usando. Ma una scimmia-codice non produrrà quasi MAI "Splendido Codice", in alcun modo diverso da quello sarcastico.
Zoran Pavlovic,

0

Per quanto riguarda essere un buon programmatore, sarai un ottimo programmatore, non importa dove tu vada, il mio suggerimento sarebbe di essere uno sviluppatore a proposito. Sulla nota di essere una scimmia di codice, beh, è ​​una relazione che ti costruisci o che la società ti costringe a fare. Essere una scimmia di codice significa che tutto ciò che fai è limitarti a un semplice strumento o tecnologia e sei tenuto in una singola modalità di sviluppo di cose minori, sai che il tuo potenziale risiede nel fare cose molto più grandi, se è il tuo primo lavoro, vai per la compagnia più grande, anche se ti tiene al livello delle scimmie per un po 'di tempo e fidati di me se la compagnia è grande e sono sicuro che se lavori duro, verrai un codice Godzilla !!! Se il tuo amico dice che la compagnia è grande e tu verrai tenuto in codice, allora si sbaglia. Le aziende crescono perché tendono ad affrontare grandi problemi su scala industriale e lavorano su problemi di progettazione e sviluppo più ampi. Le piccole aziende lo fanno raramente, ma ciò non significa che le piccole aziende non cresceranno o sarai un leader del team in un paio di mesi, come tutti noi, salirai la scala.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.