Tuesday, January 02, 2007

Monkey Work

I met a guy at a party who recently graduated in Computer Science, from the University of York. He has a job, starting this month, for one of the big-four accounting firms. I asked what he'd be doing. "IT Audit," was the department. Apparently this is mostly checking up on IT security, running through check-lists and then suggesting or taking corrective action. Trying to be as polite as possible (although I don't think it came out that way) I confessed that I wouldn't find that very interesting. I might even have used the word "boring". He didn't seem too bothered. "At least I'm not programming, that's just monkey work!"
Monkey Work! I went into shock. Was it just a joke? I don't think I'd told him by that point what I do, so little chance of retaliation for the b-word. At the end of the evening, I apologised in case I'd been too rude. He accepted my apology, but specifically said, "I don't take back that thing about programming being monkey work." Ok then, no joke.
What's my problem here? It's not that somebody else likes IT Audit while I like programming; that's fine. My problem is that a fresh graduate in Computer Science, a specifically technical degree, believes (or at least goes around saying) that programming is monkey work. Programming is not for everyone, and it's possible that students discover they don't like it during a Computer Science degree. But how can they graduate without appreciating some of the skill and ingenuity required to program well? If people who have been taught about computers don't understand what we do, who will?

9 Comments:

At 10:40 pm, Blogger Patrick said...

I went out to dinner with a few friends last year and had a similar experience. While talking with a girl I had never before been introduced to it came up that I was a Software Engineer. She responded "Oh, you're just a code monkey" and proceeded to repeat the comment at several points throughout the evening.

Infuriating.

What made it worse was that it turned she had been a CS major at my university before switching out to sociology. As the evening went on I realized that we had shared some of the intro classes and this girl had repeatedly interrupted class with annoying questions because the vagaries of a doubly linked list were too much for her to understand.

As you said, I can understand if programming isn't your thing, but I can't understand the need to demean it. Especially if you have any personal experience with it.

 
At 1:08 am, Blogger Sachin Dharmapurikar said...

I heard similar story from my few friends who even call other people nerd, geeks or code monkey. Fine, but later I investigated their profession and understood why they say so.

Most of them work for technical support being a CS major graduate or do testing and other sort of things which a CS major guy will hate.

This might be jealousy feeling about some other job about which they always fascinated! :)

In your case the "guy" might have got very bad grades in programming hence this monkey words :)

I am happy to be a Code Monkey, if that makes them comfortable :)

 
At 2:50 am, Blogger Kerry Buckley said...

Sadly, this attitude is all too common. Worse, it's common amongst senior managers and strategists.

This is what leads to separation of design and coding, and large waterfall processes. It's a vicious circle as well: if you think coding is monkey work, you'll get your good people producing design documents for least-cost (often offshore) teams to implement. The developers aren't allowed any design input (although in many cases they may just quietly work round unworkable designs), so all that's left is monkey work. Regardless of the truth, any credit for success goes to the people who specified the design.

In the longer term, of course, all these ivory tower designers lose touch with the real world, and carry on specifying solutions based on the state of the art when they were still writing real code. Eventually it gets so bad that they have to become managers ;-)

 
At 8:56 am, Blogger Chris Johnston said...

I graduated with a CS degree last May and can understand why some grads would consider programming "Monkey Work"; in many companies it is. As a new grad you go and get a job as a junior programmer. You have no control over what you are programming and you don't get to do any design either. You are given a series of UML diagrams, data flow diagrams, and state charts and told to program exactly what you see.

Very few companies understand what programmers can do and give them the freedom to do it. By this I mean using test-driven development and giving recent grads the space to design, code, and think.

I have personally not applied at many companies simply because the job is monkey work. There is no thought involved and no space to be creative or to really program.

Personally, I blame this squarely on "architects" and senior management who both think that they are the only ones capable of designing systems. In many companies, allowing anyone else to think is far to dangerous and should avoided at all costs.

 
At 11:20 am, Blogger Alistair Jones said...

Chris, I hadn't considered that he thought badly of programming based on bad graduate jobs, rather than the activity itself. It sounds like you found a non-monkey job. Don't worry, companies as you describe them are well on the way out, mostly because they aren't very effective.

 
At 3:38 am, Blogger Harish Mallipeddi said...

Come to Singapore and the situation is pretty much the same. Almost every CS major from my university dreams about working for an investment bank. And they think "programming" is always a task which can be outsourced to India. And me being an Indian doesn't help either.

 
At 3:09 pm, Blogger Jonathan Parker said...

Hmm, Code Monkey...while the work that i have to do for my company feels "monkeyish" at times, I am not treated that way by people with the exception of a few as previous posters described. However, I would like to experience a company (like thought works...)where the coding is a much more creative process and I dont have to be a monkey for higher ups who seem to think they are the brains of the operation! Sorry, just complaining out loud.

 
At 3:53 pm, Blogger Unknown said...

Any previous programmer who calls programming "monkey work" is revealing how they approached the craft. Those who take the time to think about programming as a craft come to find that it sits in the merger of art, science, and engineering. As such, there is a wealth of complexity to overcome and creativity to explore. Failure to see that often makes failed programmers and non-programmers simplistically cynical.

Each of us has a choice to make in how we do our job, whether it be programming, surgery, accounting, or dishwashing. We can take pride in our work, learn from the best, and strive to be better. We can become frustrated with our ignorance and give up. Or, worst of all in my mind, we can go with the status quo and just keep our asses in the seat every day, doing time, hoping the cheques keep coming. Ask that guy which type of person he is.

 
At 4:01 pm, Blogger Ajith said...

i think its plain jealousy .If programming is monkey work what u call work in a call center or reception or sales ? a donkey work ?

 

Post a Comment

<< Home