A Code monkey is a computer programmer or other person who writes computer code for a living. This term may be slightly derogatory, meaning that this developer can write some code but is unable to (or not supposed to) perform the more complex tasks of software architecture, analysis, and design.[1] It is usually applied to junior programmers. http://en.wikipedia.org/wiki/Code_monkey

If a code monkey has dedicated his efforts to improve his knowledge and skill, what should we call him after at the next level/rank?


7 Answers 7


IMO, "code monkey" is much more than just "slightly" derogatory.

It's also very difficult to actually have hierarchy of nomenclature, as many really skilled developers call themselves coders or programmers (because they still do write code). But if you'd attempt to create such, I'd say it would be something like:

  1. coder
  2. programmer
  3. software engineer
  4. software analyst
  5. software architect

These might be prefixed with "junior", "senior", "lead" etc. These titles have more to do with pay grade, rather being reflection of skills.

Note, that it only can determine hierarchy within very limited context of one company or maybe even one department. Thus to be "programmer" in company A, might require much more skill, than being "senior software architect" in company B.


Ahem. "Senior code monkey"


In my opinion vartec's answer is good regarding the official classification. I will assume that you ask for informal or funny use.

The code monkey is neologism, from jargon (and probably from tape monkey):

code monkey: n
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.”

Now, jargon does not mention the next step but instead has entries on real programmer, hacker, wizard, guru, superprogrammer.

Only "real programmer" here is still junior in his skills, but the word seem to portray character first, and only then the skills, so it should not be appropriate. However, if you look at tape monkey again, you will see it refer to one-banana problem. So you might employ something similar to

At IBM, folklore divides the world into one-, two-, and three-banana problems. Other cultures have different hierarchies and may divide them more finely; at ICL, for example, five grapes (a bunch) equals a banana. Their upper limit for the in-house sysapes is said to be two bananas and three grapes (another source claims it's three bananas and one grape, but observes “However, this is subject to local variations, cosmic rays and ISO”).

So you might roll your own mix of bananas, grapes or even go wild and throw in a pineapple for measure.


What about 'coder sapiens'? One level up from a Code Monkey. Or maybe Code Neanderthal, haha.


Seriously, the answer is probably something like:

junior programmer.

Here's the run-down...

  1. First, you have things like Java, Flash, etc "scripters" (You're not really programming, it's "just a script language"),

  2. then you have "a code monkey"

  3. then you have maybe "programmers" (basically starts at C/variants)

  4. then you have "game programmers" (the implication being you're doing actual hard stuff - physics, 3D rendering engines, etc) {Of course, you could be working on a game just using perl or java or basic, but you wouldn't really be a "Game Programmer" then which has a different implication.}

  5. then you have perhaps "systems programmers" and/or "low-level programmers", embedded, hardware, machine code, etc programmers.

  6. perhaps finally you have something like "computer scientists", "AI/robotics researchers", "heuristics guys"(/gals), and the like.

There are real distinctions, like in 3. you can actually manage the RAM on a hardware machine, whereas you can't do that in 1. In 2. you are able to fool with a database, not so much in 1. 3. have no clue about the stuff in 5, it's a gulf. "The web" is comic from about 4. onwards but more central as you go down. 4. sneers at 3. because they don't understand quaternions, etc.

Arguably, you angularly have "analysts" and the like (people who Think Great Thoughts but don't actually get in the trenches, hence intelligently make more money for less work) -- they don't fit in the above system since they are disliked by all 'real" programmers.

Pretty offensive field huh?! :) Life is tough...


Code ape.

You might like to be more precise and say code orangutan, code gorilla, code chimp, etc. As long as you don't accuse someone of being a code tarsier, you should be fine.

  • A code slow loris?
    – MT_Head
    Jun 22, 2011 at 0:45
  • Code slow loris loves TCL! Sep 18, 2011 at 19:56

If a code monkey has dedicated his efforts to improve his knowledge and skill, what should we call him after at the next level/rank?

The first title that came to mind ... Network / IT Administrator :D

Not the answer you're looking for? Browse other questions tagged or ask your own question.