Quel est le problème avec être un singe de code? (Ou, qu'est-ce qu'un singe codé?) [Fermé]

35

Les programmeurs ont tendance à parler de "singe de code" de manière péjorative. "Ne travaillez pas - bas , vous serez juste un singe codé!".

J'ai deux offres d'emploi, l'une dans une petite entreprise, l'autre dans une très grande entreprise (même salaire). Mon ami vient de me dire que je serai un singe de code dans la grande entreprise et sait par expérience que la petite entreprise sera plus enrichissante que de me réduire à un "singe de code".

Je ne comprends pas vraiment la distinction entre un "singe de code" et un "vrai" programmeur. S'il vous plaît élaborer. J'adore programmer, alors l'idée de programmer un ordinateur (code singe) ne me semble pas mauvaise. Qu'est-ce qu'un programmeur entend par "singe de code" s'il aime programmer?

Ben B.
la source
Jonathan Coulton interprète Code Monkey Unplugged youtube.com/watch?v=7s8S7QxpjeY
Adam
Les codemonkeys ont des t-shirts plus frais redbubble.com/people/hayko/t-shirts/1808968-b-code-monkey
yannis
hmmmmm .... Code Monkey - oh, attends, non, je pense à Chunky Monkey.
dietbuddha
Les singes ne sont pas de bons programmeurs, sauf un Babun!
Arun Sangal

Réponses:

32

Code Monkey signifie coder si simplement qu'un singe pourrait le faire

Il est souvent utilisé pour faire référence aux tâches de programmation de niveau le plus bas, mais peut également être utilisé pour désigner une personne qui ne fait que coder. Aucune conception d'interface utilisateur, aucune contribution architecturale, aucune décision de développement, etc.

Il n’ya rien de mal à être un singe codé (je m’appelle parfois un singe), mais il est probable que, si vous ne faites que coder, vous ne ferez jamais un pas dans la chaîne et ne verrez jamais les salaires plus élevés comprendre tout le cycle de développement logiciel.

Rachel
la source
21

"Code singe" décrit un codeur pour lequel aucune créativité n'est requise. Un tel codeur effectuerait des tâches répétitives, ennuyeuses, souvent fastidieuses, telles que la forme de clonage et le changement de fichier, etc.

Ce que vous appelez "vrai programmeur" serait une personne qui participe en fait à la conception de la logique de l'application et qui utilise réellement la créativité pour le travail.

vartec
la source
Je ne suis pas sûr de dire que c'est correct, mais est-ce que le travail du "vrai programmeur" est de travailler sur la logique métier du développement logiciel? Exemple: supposons que nous ayons une application Web, le développeur aurait-il la responsabilité de concevoir (la logique de) un widget permettant d'afficher des statistiques, ou quelqu'un d'autre qui devrait donner toutes les informations requises au développeur (par exemple, ce que nous devons afficher, accessible à tous, ou aux utilisateurs autorisés uniquement, etc.), puis le développeur concevrait le schéma de base de données, le code, etc.? Est-ce que je fais sence ce que j'essaie de dire? - désolé pour mon mauvais
anglais-
15

Pour moi, du moins, la distinction est qu'un singe codé produit simplement du code sans vraiment y penser, alors qu'en tant que "bon" programmeur, il est un professionnel . Ils utilisent des techniques d'ingénierie pour produire un code de meilleure qualité et ont une connaissance du système dans son ensemble, effectuent une meilleure planification et une conception plus approfondie.

Par exemple, certaines fonctionnalités d'un "bon" programmeur (même si vous êtes conscients du sectarisme du fret) pourraient être:

  • Un programmeur est impliqué, dans une certaine mesure, dans l'ensemble du cycle de vie du développement logiciel, pas seulement dans le codage. Les singes à code peuvent coder des conceptions ou répondre à des exigences qui leur ont été renvoyées, plutôt que créés en consultation avec eux.
  • Les programmeurs créent des conceptions détaillées (y compris des tests) avant d'écrire un code. Ils sont assez certains que le design est bon (rapide, efficace, etc.) avant de commencer à l'écrire. Les singes à code sautent droit dessus. Ils ne savent pas si la conception est bonne jusqu'à ce qu'ils l'exécutent.
  • Les programmeurs assument la responsabilité de planifier leur propre travail. Les singes à code font juste ce que leur manager leur dit, quand on leur dit de le faire.
  • Les programmeurs sont appréciés en tant qu'individus pour leur créativité et leurs compétences. Les singes à code sont considérés comme des boîtes noires interchangeables qui génèrent du code.
  • Les programmeurs sont adaptables; ils peuvent appliquer leurs compétences à de nombreux domaines, langues, etc. Les singes à code se spécialisent trop et se perdent s'ils doivent travailler avec un nouveau cadre.
  • Les programmeurs cherchent toujours à se développer en tant que professionnels. Les codes singes restent où ils sont en termes de compétences et d'expérience.

J'ai utilisé deux points aux extrémités opposées du spectre - je suppose que la plupart des emplois se situeront quelque part entre les deux. En outre, il est peu probable qu'une carrière entière reste au même endroit - une bonne entreprise s'efforcera de déplacer ses employés vers le niveau de programmation par le biais de la formation et du développement professionnel. Il peut être intéressant de prendre un poste de programmeur débutant à la fin du code si l’employeur a un programme d’études supérieures ou similaire qui aboutira éventuellement au statut de programmeur "approprié".

Scott
la source
Il est évident que quelqu'un n'est pas d'accord avec moi, car ils ont voté à la baisse - j'aimerais bien savoir quoi.
Scott
2
J'ai rencontré deux races de codes-singes. L'un d'eux est le "vieux chien" qui code, est fiable et fait le travail. Mais aux dépens d’une conception confuse et d’un code rempli de vieux paradigmes et d’années d’expérience "cruelle", ils ont tout vu comme un clou et leur "cratère" le marteau. Probablement l'un de ceux qui vous ont voté contre :)
Zoran Pavlovic
Vous pouvez également ajouter que les programmeurs s'efforcent également d'apprendre en détail ce que les utilisateurs finaux souhaitent réaliser avec leurs logiciels et, éventuellement, comment cela affecte le monde au sens large, et d'utiliser ces connaissances pour jouer un rôle dans le processus de prise de décisions organisationnelles concernant la produit qu'ils développent. Je recommande de regarder une vidéo de la conférence de Martin Fowler intitulée «Plus que des singes codés». Parfois, un programmeur décide lui-même quel travail il est bon de faire, et le fait de manière autonome ou tente de persuader son équipe de s’entendre.
bdsl
6

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

Un "Code Monkey" est un terme péjoratif utilisé pour décrire un programmeur qui:

  • Préformez les tâches de programmation considérées comme extrêmement simples ou sans réel défi.
  • Pas vraiment permis de résoudre des problèmes, ou de prendre part à la conception de l'application.

Maintenant, les "vrais" programmeurs ont parfois également préformé ces types de codage de temps en temps.

Cependant, la principale différence est qu'un "singe code" n'a pas le choix de faire autre chose.

Pourrait être utilisé un « code de singe » pour impliquer soit un programmeur position OU capacité

Nuit noire
la source
4

Selon le fichier de jargon, un singe de code peut faire référence à:

  1. Personne seulement capable de broyer le code, mais incapable d'accomplir les tâches primitives de l'architecture logicielle, de l'analyse et de la conception. Légèrement insultant. Souvent appliqué aux personnes les plus juniors d'une équipe de programmation.

  2. Toute personne qui écrit du code pour gagner sa vie; un programmeur.

  3. Un moyen auto-dénigrement de nier la responsabilité d'une décision de gestion ou de se plaindre de devoir vivre avec de telles décisions. Comme dans «Ne me demandez pas pourquoi nous devons écrire un compilateur en COBOL, je ne suis qu'un singe de code».

Selon Jonathan Coulton, un singe codé:

  1. S'ils sont confrontés à des critiques injustes au sujet de leur code, ils créeront toute une rage contre le critique, mais risquent de nuire à leur statut professionnel. fou, juste fier.)
  2. Aime Fritos, Tab et Mountain Dew.
  3. Ayez un côté sensible qu'ils préfèrent ne pas ou, plus probablement, ne savent pas comment montrer (ils ont de grands cœurs "secrets" chauds et flous).
  4. Ils savent qu'ils travaillent dans un cul-de-sac et qu'au lieu d'entrer dans ce métier, ils préfèrent se lever, manger un gâteau au café, prendre un bain et faire une sieste.
  5. Essaie de se convaincre que son travail est "épanouissant de manière créative", mais au fond de lui, ils savent que c'est une telle charge de merde.
  6. Pas si bon dans les situations sociales.
  7. Toutes les choses considérées ont encore de belles perspectives d'avenir.

Sérieusement, un travail ne peut pas faire de vous un singe codé, mais votre comportement et votre attitude peuvent le faire.

Robert
la source
3

Il existe un chapitre entier sur les types de programmeurs dans "Code Craft" de Pete Goodliffe . Tous les aspects de ce que signifie "Code Monkey" sont mentionnés dans les autres réponses. Ce que je voudrais souligner (et ce que le texte de Goodliffe montre), c'est que vous pouvez trouver des avantages et des inconvénients pour tous les types. Selon le poste et la personnalité, il peut être bon / souhaitable / épanouissant d'être le singe de l'équipe, qui concrétise les idées / concepts / plans en produisant "Beautiful Code".

Ekkehard.Horner
la source
Je ne sais pas quelle définition vous utilisez. Mais un code-singe ne produira presque JAMAIS de "Code magnifique", dans un sens autre que sarcastique.
Zoran Pavlovic
0

En tant que bon programmeur, vous serez un très bon programmeur, peu importe où vous allez, ma suggestion serait d'être un développeur en passant. En tant que singe de code, c’est une relation que vous construisez vous-même ou que la société vous oblige à établir. Être un singe code signifie que tout ce que vous faites est de vous en tenir à un simple outil ou une technologie et que vous êtes maintenu dans un seul mode de développement de choses mineures, vous savez que votre potentiel réside dans le fait de faire des choses beaucoup plus grandes, si c'est votre premier emploi, allez-y la plus grande entreprise, même si elle vous maintient au niveau des singes pendant un certain temps et croyez-moi si l'entreprise est grande et je suis sûr que si vous travaillez dur, vous serez un code Godzilla !!! Si votre ami dit que la société est grande et que vous serez maintenu en code-argent, il a tort. Les entreprises grandissent parce qu'elles ont tendance à s'attaquer à des problèmes d'envergure industrielle et qu'elles travaillent sur des problèmes de conception et de développement plus vastes. Les petites entreprises font rarement cela, mais cela ne signifie pas pour autant que les petites entreprises ne vont pas se développer ou si vous dirigez une équipe dans quelques mois, vous allez tous gravir les échelons.

Wajih
la source