Modern computing environments automate support for CloneAndModifyProgramming. You may use your editor's CopyAndPaste mechanism to copy functions and perform small changes to each one. However, if you need even more fluff in your CodeBase, mere automation of CAMP might not be enough. You need the manual skills of a CodeMonkey, to chronically reproduce the same project, over and over again, top-down, with minor variations each time. ---- Characteristics: * Given strict requirements will produce program * Don't expect to think out of the box * Only cares about doing "cool" development * Business need is secondary to the need to experiment and learn * Good Code formatting * Chooses to implement hard to maintain algorithms * Very Poor estimator of time to complete * May or may not have any communication skills * Has very unhealthy eating habits * Knows how to run the ClassWizard, then add the same feature, a little different each time, to each class the wizard creates Draw backs: * Doesn't care that much about the produced functionality * Maintainability of the finished product is difficult * Code is usually not ready for production when output * Knows how to run the ClassWizard, then add the same feature, a little different each time, to each class the wizard creates How to Utilize: * Heads down code factory situations * Must enforce stringent Regression test methodology (Unit and system) See also: GruntProgrammer. Another dev's opinion: the need to experiment and learn, caring about new technologies and choosing to implement algorithms don't seem to me like the characteristics of a code monkey. Most code monkeys I've met only know one language(Java usually) and are opposed to learning more, they say that algorithms and math are useless in the "real world" and they have no idea what the "cool stuff" even is, wishing to use it is unthinkable. ---- I've heard the phrase CodeMonkey (and various derivatives) used with a different meaning. Rather than an insult for a programmer who is sloppy (which the above implies), I hear it used for someone who is doomed to work on "unglamorous" programming tasks, often using older/antiquated/"uncool" technology. Examples of work that a CodeMonkey might do in this definition (I do not intend to denigrate these tasks myself): * Coding/implementing forms, other UI for some enterprise/web app; typically implementing a specification designed by someone else. * Numerous other "job-shop" tasks in the IT department. ("Oh, Joe? The VP wants this particular query automated...") * Anything involving COBOL * UnitTest''''''s. (In places where UnitTest''''''s are the responsibility of a separate QA staff, it's often looked down upon as "grunt work") * In the embedded systems world, diagnostics. * "Minor" features in an integrated product. While the CodeMonkey in this definition is not necessarily ''sloppy'', he is (or is perceived to be) a programmer of junior-skill; and given the above tasks in the theory that they are less important (or less likely to cause major problems if done incorrectly). Elite programmers, OTOH, like to work on such things as architectures, frameworks, kernels, libraries, toolkits--the sort of stuff that the CodeMonkey''''''s depend on. Note that neither definition is a compliment. (+1 to this definition. BorisStitnicky) ---- My understanding of the phrase is as the above...although I now appreciate that the following mention of ''CommodityProgrammers'' is perhaps a slightly less insulting term ;-) I also particularly object to the inclusion of ''hackers'' in the initial definition...to be a hacker (geek also!) is something to be most proud of. Give me a hacker to employ ''any'' day, rather than bland cookie-cutter CS grad MCSE-hopefuls ;-) ''PS. I offer my unreserved apologies to all talented MSCE's out there...I know you exist'' --DanKane ---- I've gained new appreciation for the phrase CodeMonkey, but I must admit, I originally pictured the old philosophical pondering: If an infinite number of monkeys on an infinite number of type-writers randomly tap the keys, would they eventually produce ''Hamlet''? (I'm sure there's a link to this somewhere on Wiki.) Then I pictured an infinite number of CommodityProgrammers tapping randomly at their keyboards. Would they eventually be able to produce ? Well, '''I''' thought it was funny... ---- Hopefully no ProgrammerStereotype ---- http://en.wikipedia.org/wiki/Jonathan_Coulton JonathanCoulton, wrote a humurous CodeMonkey 'anthem' featured in April, 2006 on SlashDot, and available for free on his website: Code Monkey get up get coffee. Code Monkey go to job. Code monkey have boring meeting, boring manager Rob. Rob say Code Monkey very diligent. But his output stink. His code not functional or elegant. What do Code Monkey think? Code Monkey think maybe manager wanna write goddamn login page himself. Code Monkey not say it out loud. Code Monkey not crazy just proud. ''Chorus:'' Code Monkey like Fritos. Code Monkey like Tab and Mountain Dew. Code Monkey very simple man Big warm fuzzy secret heart Code Monkey like you. Code Monkey like you. Code Monkey hang around at front desk Tell you sweater look nice Code Monkey offer buy you soda Bring you cup bring you ice You say no thank you for the soda cause soda make you fat Anyway you busy with the telephone no time for chat. Code Monkey have long walk back to cubicle He sit down pretend to work. Code Monkey not thinking so straight. Code Monkey not feeling so great. ''Chorus'' Code Monkey like you lots. Code Monkey have every reason To get out this place. Code Monkey just keep on working See your soft pretty face Much rather wake up eat a coffee cake Take bath, take nap This job fulfilling in creative way Such a load of crap. Code Monkey think someday he have everything even pretty girl like you. Code Monkey just waiting for now. Code Monkey say someday, somehow. ''Chorus'' ---- CategoryAntiPattern, ProgrammerStereotype