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".