Что плохого в том, чтобы быть обезьяной кода? (Или, что такое код обезьяны?) [Закрыто]

35

Программисты склонны говорить о том, чтобы быть «обезьяной кода» уничижительным образом. «Не работайте там , вы будете просто обезьяной кода!».

У меня есть два предложения о работе: одно в небольшой компании, другое в очень крупной компании (такая же зарплата). Мой друг только что сказал мне, что я буду обезьяной кода в большой компании, и из собственного опыта знаю, что небольшая компания будет более прибыльной, чем превращение меня в «обезьяну кода».

Я не очень понимаю различие между «обезьяной кода» и «настоящим» программистом. Пожалуйста, дополните. Я люблю программирование, поэтому мне не кажется плохой идея сидеть за компьютерным программированием (то есть, обезьяной в коде). Что программист подразумевает под «обезьяной кода», если он / она увлекается программированием?

Бен Б.
источник
Джонатан Коултон исполняет «Code Monkey Unplugged» на youtube.com/watch?v=7s8S7QxpjeY
Адам
Codemonkeys получают прохладные футболки redbubble.com/people/hayko/t-shirts/1808968-b-code-monkey
Яннис
хммммм ... Код Обезьяна - о, нет, я думаю о Коренастой Обезьяне.
dietbuddha
Обезьяны не хорошие программисты, кроме Бабуна!
Арун Сангал

Ответы:

32

Code Monkey означает делать кодирование настолько простым, что обезьяна может сделать это

Он часто используется для обозначения низкоуровневых заданий программирования, но также может использоваться для обозначения того, кто ничего не делает, кроме программирования. Нет проектирования пользовательского интерфейса, никакого архитектурного вклада, никаких решений по разработке и т. Д.

Нет ничего плохого в том, чтобы быть обезьяной в коде (иногда я называю себя таковой), но есть вероятность, что если все, что вы делаете, - это кодирование, то вы никогда не будете двигаться вверх по цепочке и будете видеть эти цифры с более высокой зарплатой, которые появляются благодаря возможности видеть и понять весь цикл разработки программного обеспечения.

Рейчел
источник
21

«Обезьяна кода» описывает кодера, от которого требуется нулевая креативность. Такой кодер будет выполнять повторяющиеся, скучные, часто утомительные задачи, такие как клонирование, изменение одного поля и т. Д.

То, что вы называете «настоящим программистом», будет человеком, который на самом деле участвует в разработке логики приложения и фактически использует творческий подход к работе.

Vartec
источник
Я не уверен, правильно ли я скажу, но разве это работа «настоящего программиста» работать над бизнес-логикой разработки программного обеспечения? Пример: предположим, что у нас есть веб-приложение, будет ли разработчик отвечать за разработку (логику) виджета для отображения некоторой статистики или кого-то еще, кто должен предоставить всю необходимую информацию разработчику (то есть то, что нам нужно отобразить, было бы это доступным для всех или только авторизованным пользователям и т. д.) и тогда разработчик разработает схему базы данных, код и т. д.? Я чувствую, что я пытаюсь сказать? -Извини за мой плохой английский-
итд
15

Для меня, по крайней мере, различие в том, что обезьяна кода просто создает код, не задумываясь об этом, тогда как «настоящий» программист - профессионал . Они используют технические приемы для создания более качественного кода и осведомлены о системе в целом, лучше планируют и более тщательно проектируют.

Например, некоторые особенности «правильного» программиста (хотя имейте в виду и культ груза):

  • Программист в определенной степени вовлечен во весь жизненный цикл разработки программного обеспечения, а не только в кодирование. Обезьяны кода могут кодировать проекты или требования, которые были добавлены в них, а не созданы по согласованию с ними.
  • Программисты создают обширные проекты (включая тесты) перед написанием любого кода. Они достаточно уверены, что дизайн хорош (быстрый, эффективный и т. Д.), Прежде чем они начнут его писать. Кодовые обезьяны прыгают прямо внутрь. Они не знают, хорош ли дизайн, пока не запустят его.
  • Программисты берут на себя ответственность за планирование собственной работы. Обезьяны кода просто делают то, что им говорит их менеджер, когда им говорят.
  • Программисты ценятся как личности за их творчество и навыки. Обезьяны кода видны как сменные черные ящики, которые выводят код.
  • Программисты адаптируются; они могут применять свои навыки во многих областях, языках и т. д. Обезьяны кода чрезмерно специализируются и теряются, если им приходится работать с новой структурой.
  • Программисты всегда стремятся развиваться как профессионалы. Кодовые обезьяны остаются там, где они находятся с точки зрения навыков и опыта.

Я использовал две точки на противоположных концах спектра здесь - я подозреваю, что большинство рабочих мест будет где-то посередине. Кроме того, маловероятно, что вся карьера останется на том же месте - хорошая компания будет стремиться к тому, чтобы продвигать своих сотрудников к программисту до конца масштабов путем обучения и профессионального развития. Может быть, стоит устроиться на работу младшего программиста в конце «Обезьяны кода», если у работодателя есть дипломная схема или что-то подобное, что в итоге приведет к «правильному» статусу программиста.

Скотт
источник
Кто-то явно не согласен со мной, так как они проголосовали - я хотел бы знать, что.
Скотт
2
Я столкнулся с двумя породами кодовых обезьян. Одним из них является «старая собака», которая просто кодирует, надежна и выполняет свою работу. Но за счет хитроумного дизайна и кода, наполненного старыми парадигмами и многолетним «бесполезным» опытом, который заставил их воспринимать все как гвоздь, а свою «крошку» как молоток. Вероятно, один из тех, кто проголосовал против вас :)
Зоран Павлович
Можно добавить, что программисты также стремятся подробно узнать о том, чего конечные пользователи хотят достичь с помощью своего программного обеспечения, и, возможно, как это влияет на более широкий мир, и использовать эти знания, чтобы играть определенную роль в процессе принятия организационных решений относительно продукт, который они разрабатывают. Я рекомендую посмотреть видео выступления Мартина Фаулера «Больше, чем код обезьян». Программист иногда решает для себя, какую работу лучше выполнять, и либо выполняет ее самостоятельно, либо пытается убедить свое руководство согласиться.
17
6

«Code Monkey» «код mon.key» (/ koʊd / / ˈmʌŋki /)

«Обезьяна кода» - уничижительный термин, используемый для описания программиста, который:

  • Задачи программирования преформ, которые считаются чрезвычайно простыми или не представляют реальной проблемы.
  • На самом деле не разрешается решать проблемы или принимать участие в разработке приложения.

Теперь «настоящие» программисты иногда также время от времени используют эти типы кодирования.

Однако главное отличие состоит в том, что у «обезьяны кода» нет другого выбора.

А «Code Monkey» могут быть использованы либо подразумевает программист позицию ИЛИ способность

Темная ночь
источник
4

Согласно файлу жаргона код обезьяны может относиться к:

  1. Человек, способный только обрабатывать код, но не способный выполнять задачи высшего уровня в области архитектуры, анализа и проектирования программного обеспечения. Мягко оскорбительно. Часто применяется для самых младших людей в команде программистов.

  2. Тот, кто пишет код для жизни; программист

  3. Самоуничижительный способ отрицать ответственность за управленческое решение или жаловаться на необходимость жить с такими решениями. Как в «Не спрашивайте меня, зачем нам писать компилятор на языке COBOL, я просто обезьяна кода».

По словам Джонатана Култона, кодовая обезьяна:

  1. Если они столкнутся с несправедливой критикой в ​​отношении своего кода, они вызовут гнев против критика, но рискуя нанести ущерб их статусу работы, будет сдерживать ярость и ничего не говорить (они будут утверждать, что они не сумасшедший, просто гордый.)
  2. Любит Fritos, Tab и Mountain Dew.
  3. Имейте чувствительную сторону, которую они предпочли бы не показывать или, скорее, не умеют показывать (у них большие теплые нечеткие «секретные» сердца)
  4. Они знают, что работают на тупиковой работе, и вместо того, чтобы приходить на эту работу, лучше всего проснуться, съесть кофейный пирог, принять ванну и вздремнуть.
  5. Пытается убедить себя в том, что их работа «выполняется творчески», но в глубине души они знают, что это такая хрень.
  6. Не очень хорошо в социальных ситуациях.
  7. Все рассматриваемые вещи по-прежнему имеют яркий взгляд на свое будущее.

На самом деле, работа не может сделать вас обезьяной кода, только ваше поведение и отношение могут сделать это.

Роберт
источник
3

В «Code Craft» Пита Гудлиффа есть целая глава о типах программистов . Все аспекты того, что означает «Code Monkey», упоминаются в других ответах. Что я хотел бы подчеркнуть (и что показывает текст Гудлиффа), так это то, что вы можете найти плюсы и минусы для всех видов. В зависимости от работы и личности, может быть хорошо / желательно / полно быть обезьяной кода команды, которая воплощает идеи / концепции / планы в жизнь, создавая «Красивый код».

Ekkehard.Horner
источник
Я не знаю, какое определение вы используете. Но обезьяна кода почти НИКОГДА не создаст «Красивый код», в каком-либо смысле, кроме саркастического.
Зоран Павлович
0

Что касается хорошего программиста, то вы будете очень хорошим программистом, где бы вы ни находились, я, кстати, советую стать разработчиком. Что касается того, чтобы быть обезьяной кода, то это отношения, которые вы строите сами или компания заставляет вас это делать. Быть обезьяной кода означает, что все, что вы делаете, это держитесь за простой инструмент или технологию, и вы находитесь в единственном способе разработки второстепенных вещей, вы знаете, что ваш потенциал заключается в том, чтобы делать гораздо большие вещи, если это ваша первая работа, стремитесь к большая компания, даже если она будет держать вас на уровне обезьян какое-то время и доверять мне, если компания большая, и я уверен, что если вы будете усердно работать, вам придет код Godzilla !!! Если ваш друг говорит, что компания большая, а вас будут держать в кодовых деньгах, он ошибается. Компании растут большими, потому что они имеют тенденцию решать большие проблемы промышленного масштаба, и они работают над большими проектами и проблемами развития. Маленькие компании редко делают это, но это не означает, что маленькие компании не будут расти, или через пару месяцев вы станете руководителем команды, как и все мы, вы поднимитесь по лестнице.

Wajih
источник