O que há de errado em ser um macaco de código? (Ou, o que é um macaco de código?) [Fechado]

35

Programadores tendem a falar sobre ser um "macaco-código" de maneira depreciativa. "Não trabalhe , você será apenas um macaco do código!".

Eu tenho duas ofertas de emprego, uma em uma pequena empresa, uma em uma empresa muito grande (o mesmo salário). Meu amigo acabou de me dizer que eu serei um macaco de códigos na grande empresa e sabe, por experiência de primeira mão, que a pequena empresa será mais recompensadora do que me reduzir a um "macaco do código".

Eu realmente não entendo a distinção entre um "macaco do código" e um programador "real". Por favor elabore. Eu adoro programar, então para mim a idéia de sentar em uma programação de computador (isto é, code monkey) não parece ruim. O que um programador entende por "código macaco" se ele gosta de programação?

    
por Ben B. 28.05.2011 / 19:35
fonte

7 respostas

32

Code Monkey significa fazer codificação tão simples que um macaco poderia fazer isso

É frequentemente usado para se referir aos trabalhos de programação de nível mais baixo, mas também pode ser usado para se referir a alguém que não faz nada além de codificação. Nenhum design de interface do usuário, nenhuma entrada de arquitetura, nenhuma decisão de desenvolvimento, etc.

Não há nada de errado em ser um code monkey (às vezes eu me chamo de um), mas as chances são de que se tudo o que você está fazendo é codificar, você nunca vai subir na cadeia e ver aqueles salários mais altos que vêm com poder para ver e entender todo o ciclo de desenvolvimento de software.

    
por 28.05.2011 / 20:02
fonte
21

"Code monkey" descreve codificador de quem a criatividade zero é necessária. Esse codificador faria tarefas repetitivas, entediantes, muitas vezes tediosas, como a forma de um clone, e mudaria uma delas, etc.

O que você chama de "programador real", seria uma pessoa que, na verdade, participa do design da lógica do aplicativo e realmente usa a criatividade para o trabalho.

    
por 28.05.2011 / 20:05
fonte
15

Para mim, pelo menos, a distinção é que um código macaco simplesmente produz código sem realmente pensar sobre isso, onde um programador "adequado" é um profissional profissional . Eles usam técnicas de engenharia para produzir código de maior qualidade e têm consciência do sistema como um todo, fazem um planejamento melhor e um projeto mais completo.

Por exemplo, algumas características de um programador "adequado" (embora esteja atento ao cultismo de carga) podem ser:

  • Um programador está envolvido, até certo ponto, com todo o ciclo de vida do desenvolvimento de software, não apenas com a codificação. Macacos de código podem estar codificando designs ou requisitos que foram despejados neles, em vez de serem criados em consulta com eles.
  • Os programadores criam designs extensivos (incluindo testes) antes de escrever qualquer código. Eles estão bastante certos de que o design é bom (rápido, eficiente etc.) antes de começar a escrevê-lo. Os macacos de código entram em linha reta. Eles não sabem se o design é bom até que eles o executem.
  • Os programadores assumem a responsabilidade de planejar seu próprio trabalho. Os macacos do código apenas fazem o que o gerente lhes diz, quando lhes é dito.
  • Os programadores são valorizados como indivíduos por sua criatividade e habilidades. Os macacos de código são vistos como caixas pretas intercambiáveis que emitem código.
  • Os programadores são adaptáveis; eles podem aplicar suas habilidades em várias áreas, idiomas, etc. Os macacos de código se especializam demais e se perdem se tiverem que trabalhar com uma nova estrutura.
  • Os programadores sempre buscam se desenvolver como profissionais. Os macacos de código permanecem onde estão em termos de habilidades e experiência.

Eu usei dois pontos em extremidades opostas de um espectro aqui - eu suspeito que a maioria dos trabalhos vai estar em algum lugar no meio. Além disso, é improvável que uma carreira inteira permaneça no mesmo lugar - uma boa companhia se esforçará para levar seus funcionários para o fim da escala do programador por meio de treinamento e desenvolvimento profissional. Pode valer a pena fazer um trabalho de programador júnior no final do código-macaco se o empregador tiver um programa de pós-graduação ou similar que resultará em status de programador "adequado" eventualmente.

    
por 28.05.2011 / 20:12
fonte
6

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

Um "Code Monkey" é um termo pejorativo usado para descrever um programador que:

  • Executa tarefas de programação que são consideradas extremamente simples ou sem desafios reais.
  • Não é realmente permitido resolver problemas ou participar do design do aplicativo.

Agora, programadores "reais" às vezes também têm pré-forma esses tipos de codificação de tempos em tempos.

No entanto, a principal diferença é que um "code monkey" não tem escolha em fazer qualquer outra coisa.

Um "Code Monkey" pode ser usado para sugerir uma posição do programador ou capacidade

    
por 28.05.2011 / 20:41
fonte
4

De acordo com o arquivo jargão , um código macaco pode se referir 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.”

De acordo com Jonathan Coulton um código macaco:

  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.

Com toda a seriedade, um trabalho não pode fazer de você um macaco do código apenas seu comportamento e atitude podem fazer isso.

    
por 29.05.2011 / 05:24
fonte
3

Existe um capítulo inteiro sobre os tipos de programadores em "Code Craft" de Pete Goodliffe . Todos os aspectos do que "Code Monkey" significa são mencionados nas outras respostas. O que eu gostaria de enfatizar (e o que o texto de Goodliffe mostra) é que você pode encontrar os profissionais e para todos os tipos. Dependendo do trabalho e da personalidade, pode ser bom / desejável / completo ser o código macaco da equipe, que torna as idéias / conceitos / planos uma realidade produzindo o "Código Belo".

    
por 28.05.2011 / 20:39
fonte
0

No que diz respeito a ser um bom programador, você será um programador muito bom, não importa aonde você vá, minha sugestão seria, a propósito, um desenvolvedor. Na nota de ser um macaco de código, bem, é um relacionamento que você constrói sozinho ou a empresa força você a fazer. Ser um macaco do código significa que tudo que você faz é ficar em torno de uma ferramenta simples ou tecnologia e você é mantido em um único modo de desenvolvimento de pequenas coisas, você sabe que seu potencial reside em fazer coisas muito maiores, se for seu primeiro trabalho, vá para a empresa maior, mesmo que ela mantenha você no nível do macaco por algum tempo e confie em mim se a empresa é grande e tenho certeza que se você trabalhar duro, você será um código Godzilla !!! Se o seu amigo disser que a empresa é grande e você será mantido em forma de código-dinheiro, ele está errado. As empresas crescem porque tendem a enfrentar grandes problemas de escala industrial e trabalham em questões maiores de projeto e desenvolvimento. Pequenas empresas raramente fazem isso, mas isso não significa que as pequenas empresas não vão crescer ou você será um líder de equipe em alguns meses, como todos nós, você vai subir na hierarquia.

    
por 28.05.2011 / 19:45
fonte