成为代码猴子怎么了?(或者,什么是代码猴子?)


35

程序员倾向于以贬义的方式谈论自己是“代码猴子”。“不要在那里工作,您将只是代码猴子!”。

我有两个工作机会,一个在小公司,一个在大公司(薪水相同)。我的朋友刚刚告诉我,我将成为大型公司的代码猴子,并且从亲身经历中知道,与将我沦为“代码猴子”相比,小型公司将更有回报。

我不太了解“代码猴子”和“真实”程序员之间的区别。请详细说明。我喜欢编程,所以对我来说,坐在计算机编程(即代码猴子)上的想法似乎并不坏。如果程序员喜欢编程,那么“代码猴子”是什么意思?


乔纳森·库尔顿(Jonathan Coulton)表演了Code Monkey Unplugged youtube.com/watch?v=7s8S7QxpjeY
亚当



嗯...代码猴子-哦,不,我在想矮矮胖胖的猴子。
Dietbuddha 2011年

猴子除了Babun以外都不是优秀的程序员!
阿伦·桑加尔

Answers:


32

猴子编码意味着编码很简单,猴子可以做到

它通常用于指代最低级别的编程工作,但也可以用于指代只做编码的人。没有UI设计,没有架构输入,没有开发决策等

成为代码猴子没有什么错(有时我称自己为“猴子”),但是很有可能,如果您正在做的只是编码,那么您将永远不会上链,看到那些能够看到并获得更高薪水的人。了解整个软件开发周期。


21

“代码猴子”描述了要求零创造力的编码器。这样的编码器会执行重复,无聊,经常乏味的任务,例如克隆表格和更改一个文件等。

您所谓的“真正的程序员”将是一个人,他实际上参与设计应用程序的逻辑,并实际使用创造力来完成工作。


我不确定这个说法是否正确,但是从事软件开发的业务逻辑是“真正的程序员”工作吗?示例:假设我们有一个Web应用程序,是设计一个小部件(的逻辑)来显示一些统计信息是开发人员的责任,还是应该向开发人员提供所有必需信息的其他人(即我们需要显示的内容)?所有人都可以访问,或者仅授权用户等),然后开发人员将设计数据库架构,代码等?我会说出我想说的话吗?-对不起,我的英语不好
ltdev

15

至少对我而言,区别在于,代码猴子只是在没有真正考虑的情况下生成代码,而作为“适当”的程序员是专业人员。他们使用工程技术来生成更高质量的代码,并对整个系统有所了解,进行更好的规划和更彻底的设计。

例如,“适当的”程序员的某些功能(尽管要了解货物习惯)可能是:

  • 程序员在一定程度上涉及整个软件开发生命周期,而不仅仅是编码。代码猴子可能正在编码设计或满足转储在其上的要求,而不是与他们协商而创建。
  • 程序员在编写任何代码之前都会进行广泛的设计(包括测试)。在开始编写设计之前,他们相当确定设计是好的(快速,高效等)。代码猴子直接跳进去。他们不知道设计好不好,直到运行它们。
  • 程序员负责计划自己的工作。猴子被告知时,代码猴子只是按照经理的指示去做。
  • 程序员因其创造力和技能而被视为个人。代码猴子被视为输出代码的可互换黑匣子。
  • 程序员适应能力强;他们可以将自己的技能应用到许多领域,语言等。编码猴子的专业过多,如果他们必须使用新的框架,就会迷路。
  • 程序员总是希望将自己发展为专业人士。代码猴子在技能和经验方面都停留在原地。

我在频谱的两端使用了两个点-我怀疑大多数工作都将介于两者之间。此外,整个职业生涯不可能停留在同一地方-一家优秀的公司将努力通过培训和专业发展将其员工推向程序员的规模。如果雇主有一个毕业计划或类似的计划,最终会导致“适当的”程序员身份,那么在代码猴子端从事初级程序员工作可能是值得的。


显然有人反对我,因为他们投票否决了-我很想知道那件事。
斯科特

2
我遇到过两种代码猴子。其中之一就是可以编码的可靠“老狗”,并且可以完成工作。但是,以笨拙的设计为代价,并且以充满旧模式的代码和多年的“ cruft”经验为代价,这使他们将一切视为钉子,而将“ cruft”视为锤子。可能是打败您的人之一:)
Zoran Pavlovic

您可能还需要补充一点,程序员还应努力详细了解最终用户希望使用其软件实现的目标,以及这可能如何影响更广阔的世界,并利用这些知识在制定有关软件的组织决策过程中发挥某些作用。他们开发的产品。我建议观看Martin Fowler演讲“比代码猴子更重要”的视频。程序员有时会自己决定做什么工作是好事,要么自主地做,要么试图说服他们的管理层同意。
bdsl

6

“代码猴子” “代码mon.key” (/koʊd/ / ˈmʌŋki /)

“代码猴子”是一个贬义性术语,用于描述以下程序员:

  • 执行被认为极其简单或没有真正挑战的编程任务。
  • 确实不允许解决问题或参与应用程序设计。

现在,“真正的”程序员有时也会不时进行这些类型的编码。

但是主要的区别是“代码猴子”在做其他任何事情时没有选择。

“代码猴子”可以用来暗示程序员的职位能力


4

根据行话文件,代码猴子可以参考:

  1. 一个仅能分解代码但不能执行软件体系结构,分析和设计的高级任务的人员。轻度侮辱。通常适用于编程团队中最初级的人员。

  2. 编写代码为生的任何人;一个程序员。

  3. 一种自嘲的方式,拒绝对管理决策承担责任,或者抱怨必须遵守此类决策。就像“不要问我为什么我们需要用COBOL编写编译器一样,我只是代码猴子”。

根据乔纳森·库尔顿Jonathan Coulton)的代码猴子:

  1. 如果面对对其代码的不公正批评,他们将对批评者产生极大的愤怒,但冒着损害其工作状态的风险将使愤怒被压抑,不愿发表任何言论(他们会声称自己不是疯狂,只是骄傲。)
  2. 喜欢Fritos,Tab和Mountain Dew。
  3. 有他们宁愿不表现出敏感的一面,或者更可能不知道该表现出什么(他们有温暖而模糊的“秘密”内心)。
  4. 他们知道自己正在从事一项艰巨的工作,与其说不去干这份工作,不如说只是醒来,吃咖啡蛋糕,洗个澡和小睡。
  5. 试图说服自己,他们的工作正在“以一种创造性的方式完成”,但是从内心深处,他们知道这是一件令人讨厌的事情。
  6. 在社交场合不太好。
  7. 所考虑的所有事物对它们的未来仍然具有光明的前景。

认真地说,工作不能使您成为代码猴子,只有您的行为和态度才能做到。


3

皮特·古德利夫(Pete Goodliffe)的“代码技巧”(Code Craft)中有一整章关于程序员的类型。其他答案中提到了“代码猴子”含义的所有方面。我要强调的(以及古德利夫的文字所显示的)是,您可以找到各种优点缺点。根据工作和个性,成为团队的代码猴子可能是好/希望/很充实的,他们通过产生“ Beautiful Code”使想法/概念/计划成为现实。


我不知道您使用的是什么定义。但是,代码猴子几乎不会产生任何形式的“美丽代码”,而不是讽刺的。
Zoran Pavlovic 2012年

0

就成为一名优秀的程序员而言,无论您走到哪里,您都将是一名优秀的程序员,我的建议是成为一名开发人员。注意,作为代码猴子,这是您建立自己或公司强迫您建立的关系。成为代码猴子意味着您所做的只是坚持使用简单的工具或技术,并且将自己置于小事情的单一开发模式中,您知道自己的潜力在于做更大的事情,如果这是您的第一份工作,那就去做吧。更大的公司,即使它使您在一段时间内处于猴子的水平,如果公司很大,请相信我,如果您努力工作,我相信您会成为代码哥斯拉的!!如果您的朋友说这家公司很大,而您将以代码金钱的方式被保留,那他是错的。公司之所以成长,是因为它们倾向于解决工业规模的大问题,并且致力于更大的设计和开发问题。小公司很少这样做,但这并不意味着小公司不会成长,或者您将在几个月内成为团队领导,就像我们所有人一样,您将攀登阶梯。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.