Was ist falsch daran, ein Code-Affe zu sein? (Oder was ist ein Code-Affe?) [Geschlossen]

35

Programmierer neigen dazu, abfällig davon zu sprechen, ein "Code-Affe" zu sein. „Seien Sie nicht arbeiten dort , werden Sie nur ein Code Affe sein!“.

Ich habe zwei Stellenangebote, eines bei einer kleinen Firma, eines bei einer sehr großen Firma (gleiches Gehalt). Mein Freund hat mir gerade gesagt, dass ich in der großen Firma ein Code-Affe sein werde, und er weiß aus eigener Erfahrung, dass die kleine Firma lohnender sein wird, als mich zu einem "Code-Affen" zu machen.

Ich verstehe den Unterschied zwischen einem "Code-Affen" und einem "echten" Programmierer nicht wirklich. Bitte erläutern Sie. Ich liebe das Programmieren, daher scheint mir die Idee, an einem Computer zu sitzen (zB Code Monkey), nicht schlecht zu sein. Was versteht ein Programmierer unter "Code Monkey", wenn er gerne programmiert?

Ben B.
quelle
Jonathan Coulton führt Code Monkey Unplugged auf youtube.com/watch?v=7s8S7QxpjeY
Adam
Codemonkeys bekommen cooler tshirts redbubble.com/people/hayko/t-shirts/1808968-b-code-monkey
yannis
hmmmmm .... Code Monkey- oh warte, nein, ich denke an Chunky Monkey.
Dietbuddha
Affen sind keine guten Programmierer außer einem Babun!
Arun Sangal

Antworten:

32

Code Monkey bedeutet, so einfach zu codieren, wie es ein Affe tun könnte

Es wird oft verwendet, um sich auf Programmieraufträge der untersten Ebene zu beziehen, kann aber auch verwendet werden, um sich auf jemanden zu beziehen, der nichts anderes als Programmieren tut. Kein UI - Design, keine architektonischen Eingaben, keine Entwicklungsentscheidungen usw

Es ist nichts Falsches daran, ein Code-Affe zu sein (ich bezeichne mich manchmal selbst als einen), aber es besteht die Möglichkeit, dass Sie, wenn Sie nur codieren, niemals in der Kette aufsteigen und die höheren Gehaltszahlen sehen, die mit dem Sehen und Erkennen einhergehen Verstehen Sie den gesamten Software-Entwicklungszyklus.

Rachel
quelle
21

"Code Monkey" beschreibt einen Codierer, bei dem keine Kreativität erforderlich ist. Solch ein Kodierer würde sich wiederholende, langweilige, oft mühsame Aufgaben erledigen, wie das Klonen einer Form und das Ändern einer Ablage usw.

Was Sie als "echten Programmierer" bezeichnen, ist eine Person, die tatsächlich an der Gestaltung der Logik der Anwendung beteiligt ist und tatsächlich Kreativität für die Arbeit einsetzt.

vartec
quelle
Ich bin mir nicht sicher, ob ich das richtig sage, aber ist es die Aufgabe eines "echten Programmierers", an der Geschäftslogik der Softwareentwicklung zu arbeiten? Beispiel: Nehmen wir an, wir haben eine Webanwendung. Wäre es die Verantwortung des Entwicklers, ein Widget für die Anzeige einiger Statistiken zu entwerfen (die Logik), oder eine andere Person, die dem Entwickler alle erforderlichen Informationen geben sollte (dh was wir anzeigen müssen)? zugänglich für jedermann oder nur autorisierte Benutzer etc) und dann würde der Entwickler das Datenbankschema, den Code etc entwerfen? Verstehe ich, was ich zu sagen versuche? -sorry for my bad english-
ltdev
15

Zumindest für mich ist der Unterschied, dass ein Code-Affe nur Code erzeugt, ohne wirklich darüber nachzudenken, wo ein "richtiger" Programmierer ein Fachmann ist . Sie verwenden technische Techniken, um Code mit höherer Qualität zu erstellen, das System als Ganzes zu kennen, besser zu planen und gründlicher zu entwerfen.

Zum Beispiel könnten einige Merkmale eines "richtigen" Programmierers (obwohl er sich des Frachtkultes bewusst ist) sein:

  • Ein Programmierer ist bis zu einem gewissen Grad am gesamten Lebenszyklus der Softwareentwicklung beteiligt, nicht nur am Programmieren. Code-Affen können Entwürfe oder Anforderungen codieren, die auf ihnen abgeladen wurden, anstatt in Absprache mit ihnen erstellt zu werden.
  • Programmierer erstellen umfangreiche Entwürfe (einschließlich Tests), bevor sie Code schreiben. Sie sind sich ziemlich sicher, dass das Design gut ist (schnell, effizient usw.), bevor sie damit beginnen, es zu schreiben. Code-Affen springen direkt ein. Sie wissen nicht, ob das Design gut ist, bis sie es ausführen.
  • Programmierer übernehmen die Verantwortung für die Planung ihrer eigenen Arbeit. Code-Affen tun einfach, was ihr Manager ihnen sagt, wenn sie dazu aufgefordert werden.
  • Programmierer werden als Individuum für ihre Kreativität und Fähigkeiten geschätzt. Code-Affen werden als austauschbare schwarze Kästchen angesehen, die Code ausgeben.
  • Programmierer sind anpassungsfähig; Sie können ihre Fähigkeiten auf zahlreiche Bereiche, Sprachen usw. anwenden. Code-Affen sind zu spezialisiert und gehen verloren, wenn sie mit einem neuen Framework arbeiten müssen.
  • Programmierer versuchen immer, sich als Profi zu entwickeln. Code-Affen bleiben dort, wo sie in Bezug auf Fähigkeiten und Erfahrung sind.

Ich habe hier zwei Punkte an entgegengesetzten Enden eines Spektrums verwendet - ich vermute, dass die meisten Jobs irgendwo dazwischen liegen werden. Darüber hinaus ist es unwahrscheinlich, dass eine ganze Karriere am selben Ort bleibt - ein gutes Unternehmen wird sich bemühen, seine Mitarbeiter durch Schulung und berufliche Weiterentwicklung an den Programmierer heranzuführen. Es kann sich lohnen, einen Junior-Programmierer-Job am Code-Monkey-Ende anzunehmen, wenn der Arbeitgeber über ein Abschlussprogramm oder ähnliches verfügt, das letztendlich zum "richtigen" Programmierer-Status führt.

Scott
quelle
Jemand ist offensichtlich anderer Meinung als ich, da er abgelehnt hat - ich würde gerne wissen, worüber.
Scott
2
Ich bin auf zwei Arten von Code-Affen gestoßen. Einer von ihnen ist der "alte Hund", der nur codiert, zuverlässig ist und die Arbeit erledigt. Aber auf Kosten des klobigen Designs und mit Code voller alter Paradigmen und jahrelanger "Cruft" -Erfahrung haben sie alles als Nagel und ihre "Cruft" als Hammer gesehen. Wahrscheinlich einer von denen, die dich abgewertet haben :)
Zoran Pavlovic
Sie könnten hinzufügen, dass Programmierer auch bestrebt sind, detailliert zu erfahren, was die Endbenutzer mit ihrer Software erreichen möchten und wie sich dies möglicherweise auf die gesamte Welt auswirkt, und dieses Wissen zu nutzen, um eine Rolle bei den organisatorischen Entscheidungen über die Software zu spielen Produkt, das sie entwickeln. Ich empfehle ein Video des Martin Fowler-Vortrags 'More Than Code Monkeys' anzusehen. Ein Programmierer entscheidet manchmal selbst, welche Arbeit gut ist, und tut dies entweder autonom oder versucht, sein Management zu einer Einigung zu bewegen.
BDSL
6

"Code Monkey" 'Code Monkey' (/ koʊd / / ˈmˈki /)

Ein "Code Monkey" ist ein abfälliger Begriff, der verwendet wird, um einen Programmierer zu beschreiben, der:

  • Preforms Programmieraufgaben, die als extrem einfach oder ohne echte Herausforderung angesehen werden.
  • Darf nicht wirklich Probleme lösen oder am Design der Anwendung teilnehmen.

Jetzt haben "echte" Programmierer manchmal auch diese Art der Codierung von Zeit zu Zeit vorgeformt.

Der Hauptunterschied ist jedoch, dass ein "Code-Affe" keine andere Wahl hat, als etwas anderes zu tun.

Ein „Code Monkey“ könnte entweder ein Programmierer bedeutet verwendet wird Position ODER Fähigkeit

Dunkle Nacht
quelle
4

Gemäß der Jargon-Datei kann sich ein Code-Affe auf Folgendes beziehen:

  1. Eine Person, die nur Code ausschleifen kann, aber nicht die übergeordneten Aufgaben der Software-Architektur, -Analyse und -Design ausführen kann. Leicht beleidigend. Wird oft für die jüngsten Mitarbeiter eines Programmierteams angewendet.

  2. Jeder, der Code schreibt, um seinen Lebensunterhalt zu verdienen; ein Programmierer.

  3. Eine selbstironische Art, die Verantwortung für eine Managemententscheidung abzulehnen oder sich darüber zu beschweren, mit solchen Entscheidungen leben zu müssen. Wie in "Frag mich nicht, warum wir einen Compiler in COBOL schreiben müssen, ich bin nur ein Code-Affe."

Jonathan Coulton zufolge ein Code-Affe:

  1. Wenn sie mit unfairer Kritik an ihrem Code konfrontiert werden, werden sie ziemlich wütend auf den Kritiker sein, aber wenn die Gefahr besteht, ihren Jobstatus zu verletzen, wird die Wut aufgestaut und nichts gesagt (sie werden behaupten, dass sie es nicht sind) verrückt, nur stolz.)
  2. Mag Fritos, Tab und Mountain Dew.
  3. Sie haben eine sensible Seite, die sie lieber nicht zeigen möchten oder eher nicht wissen, wie sie es tun sollen (sie haben große, warme, verschwommene "geheime" Herzen).
  4. Sie wissen, dass sie in einer Sackgasse arbeiten, und anstatt in eine Sackgasse zu kommen, möchten sie lieber aufwachen, einen Kaffeekuchen essen, ein Bad nehmen und ein Nickerchen machen.
  5. Versucht sich selbst davon zu überzeugen, dass ihr Job "auf kreative Art und Weise erfüllt", aber tief im Inneren wissen sie, dass das eine solche Menge Mist ist.
  6. Nicht so gut in sozialen Situationen.
  7. Alle Überlegungen haben noch einen guten Ausblick auf ihre Zukunft.

Im Ernst, ein Job kann dich nicht zum Code-Affen machen, nur dein Verhalten und deine Einstellung können das.

Robert
quelle
3

In Pete Goodliffes "Code Craft" gibt es ein ganzes Kapitel über Arten von Programmierern . Alle Aspekte dessen, was "Code Monkey" bedeutet, werden in den anderen Antworten erwähnt. Ich möchte betonen (und was Goodliffes Text zeigt), dass es Vor- und Nachteile für alle Arten gibt. Je nach Beruf und Persönlichkeit kann es gut / wünschenswert / erfüllend sein, der Code-Affe des Teams zu sein, der die Ideen / Konzepte / Pläne durch die Produktion von "Beautiful Code" verwirklicht.

Ekkehard.Horner
quelle
Ich weiß nicht, welche Definition Sie verwenden. Aber ein Code-Affe wird NIEMALS einen "schönen Code" produzieren, in irgendeinem anderen Sinne als dem sarkastischen.
Zoran Pavlovic
0

Wenn es darum geht, ein guter Programmierer zu sein, werden Sie ein sehr guter Programmierer sein, egal wo Sie hingehen. Mein Vorschlag wäre übrigens, ein Entwickler zu sein. Mit dem Hinweis, ein Code-Affe zu sein, ist es eine Beziehung, zu der Sie sich selbst oder das Unternehmen zwingen. Ein Code-Affe zu sein bedeutet, dass Sie sich nur an ein einfaches Werkzeug oder eine Technologie halten und sich in einem einzigen Entwicklungsmodus für kleinere Dinge befinden. Sie wissen, dass Ihr Potenzial darin besteht, viel größere Dinge zu tun, wenn es Ihre erste Aufgabe ist die größere Firma, auch wenn es Sie für einige Zeit auf dem Affenlevel hält und mir vertraut, wenn die Firma groß ist und ich bin sicher, wenn Sie hart arbeiten, werden Sie ein Code Godzilla kommen !!! Wenn Ihr Freund sagt, dass die Firma groß ist und Sie in Code-Money-Manier gehalten werden, liegt er falsch. Unternehmen werden groß, weil sie dazu neigen, große Probleme im industriellen Maßstab anzugehen, und sie arbeiten an größeren Design- und Entwicklungsproblemen. Kleine Unternehmen tun dies selten, aber dies bedeutet nicht, dass kleine Unternehmen nicht wachsen werden oder dass Sie in ein paar Monaten ein Teamleiter sein werden. Wie wir alle werden Sie die Leiter hinaufsteigen.

Wajih
quelle