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

35

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

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

Non capisco davvero la distinzione tra una "scimmia del codice" e un programmatore "reale". Si prega di elaborare. Amo la programmazione, quindi per me l'idea di sedermi a una programmazione di computer (ad esempio, code monkey) non mi sembra male. Cosa significa un programmatore per "codice scimmia" se si diverte a programmare?

    
posta Ben B. 28.05.2011 - 19:35
fonte

7 risposte

32

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

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

Non c'è niente di sbagliato nell'essere una scimmia del codice (a volte mi chiamo a volte), ma è probabile che se tutto ciò che stai facendo sia la codifica, non sarai mai in movimento nella catena e vedrai le figure salariali più elevate che vengono fornite per vedere e comprendere l'intero ciclo di sviluppo del software.

    
risposta data 28.05.2011 - 20:02
fonte
21

"Code monkey" descrive il coder da cui è richiesta creatività zero. Tale coder farebbe compiti ripetitivi, noiosi, spesso noiosi, come la forma di clonazione e la modifica di uno schedato ecc.

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

    
risposta data 28.05.2011 - 20:05
fonte
15

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

Ad esempio, alcune funzionalità di un programmatore "appropriato" (benché siate a conoscenza del culto delle merci) potrebbero essere:

  • Un programmatore è coinvolto, in una certa misura, con l'intero ciclo di vita dello sviluppo del software, non solo la codifica. Le scimmie di codice possono codificare progetti o requisiti che sono stati scaricati su di essi, piuttosto che creati in consultazione con loro.
  • I programmatori creano progetti estesi (compresi i test) prima di scrivere qualsiasi codice. Sono abbastanza certi che il design è buono (veloce, efficiente, ecc.) Prima di iniziare a scriverlo. Le scimmie di codice saltano direttamente. 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 di codice fanno semplicemente ciò che il loro manager gli dice, quando gli viene detto.
  • I programmatori sono valutati individualmente per la loro creatività e abilità. Le scimmie di codice sono viste come scatole nere intercambiabili che emettono codice.
  • I programmatori sono adattabili; possono applicare le proprie competenze a numerose aree, lingue, ecc. Le scimmie di codice si specializzano eccessivamente e si perdono se devono lavorare con un nuovo framework.
  • I programmatori cercano sempre di svilupparsi come professionisti. Le scimmie di codice restano dove sono in termini di capacità ed esperienza.

Ho usato due punti agli estremi opposti di uno spettro qui - ho il sospetto che la maggior parte dei lavori si troveranno da qualche parte nel mezzo. Inoltre, è improbabile che un'intera carriera rimarrà nello stesso posto - una buona compagnia si sforzerà di spostare i suoi dipendenti verso il programmatore alla fine della scala attraverso la formazione e lo sviluppo professionale. Può valere la pena di prendere un lavoro da programmatore junior alla fine del codice scimmia se il datore di lavoro ha uno schema laureato o simile che alla fine si tradurrà in uno status di programmatore "corretto".

    
risposta data 28.05.2011 - 20:12
fonte
6

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

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

  • Le attività di programmazione delle preforme sono considerate estremamente semplici o non rappresentano una vera sfida.
  • Non è realmente consentito risolvere problemi o prendere parte al design dell'applicazione.

Ora i "veri" programmatori a volte hanno anche preformato questi tipi di codifica di volta in volta.

Tuttavia la differenza principale è che una "scimmia del codice" non ha scelta per fare altro.

Un "Code Monkey" può essere usato per implicare la posizione di un programmatore OPPURE abilità

    
risposta data 28.05.2011 - 20:41
fonte
4

Secondo il file jargon un codice scimmia può riferirsi a:

  1. A person only capable of grinding out code, but unable to perform the higher-primate tasks of software architecture, analysis, and design. Mildly insulting. Often applied to the most junior people on a programming team.

  2. Anyone who writes code for a living; a programmer.

  3. A self-deprecating way of denying responsibility for a management decision, or of complaining about having to live with such decisions. As in “Don't ask me why we need to write a compiler in COBOL, I'm just a code monkey.”

Secondo Jonathan Coulton un codice scimmia:

  1. If confronted with unfair criticism about their code, they'll build up quite a rage against the critic, but at risk of hurting their job status will keep the rage pent-up and not say anything (They'll claim that they're not crazy, just proud.)
  2. Likes Fritos, Tab and Mountain Dew.
  3. Have a sensitive side they'd rather not, or more likely don't know how to, show (they have big warm fuzzy "secret" hearts).
  4. They know they're working a dead-end job and instead of coming in to said job would much rather just wake up, eat a coffee cake, take a bath and nap.
  5. Tries to convince themselves that their job is "fulfilling in a creative way," but deep down they know that's such a load of crap.
  6. Not so good in social situations.
  7. All things considered still have a bright outlook on their future.

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

    
risposta data 29.05.2011 - 05:24
fonte
3

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

    
risposta data 28.05.2011 - 20:39
fonte
0

Per quanto riguarda il 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 del codice, beh, è una relazione che costruisci da solo o che la compagnia ti costringe a fare. Essere una scimmia del codice significa che tutto ciò che fai è aggrapparsi 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 della scimmia per un po 'di tempo e fidati di me se la compagnia è grande e sono sicuro che se lavori duro, sarai un codice Godzilla !!! Se il tuo amico dice che la compagnia è grande e tu rimarrai nel modo in cui paghi il codice, ha torto. Le aziende crescono grandi perché tendono ad affrontare grandi problemi di scala industriale e lavorano su problemi di progettazione e sviluppo più ampi. Le piccole aziende raramente lo fanno, ma questo non significa che le piccole aziende non cresceranno o che diventerai un team leader in un paio di mesi, come tutti noi, scalerai la scala.

    
risposta data 28.05.2011 - 19:45
fonte

Leggi altre domande sui tag