“I don’t want to be a code monkey.” I’ve heard a few friends say this who are involved in programming. I don’t get it.
Wikipedia says that a code monkey is someone “who writes computer code for a living.” That’s pretty broad. I assume a code monkey refers to someone who mindlessly takes orders. In that case, a code monkey must be someone who stands behind a counter, smiles and says “Would you like to supersize that IF statement? You can get an extra variable for just 50 cents more!”
Perhaps it is more than that though. Perhaps these people just don’t want to take orders and want to have creative control over their work. Fools! If you are not fulfilling orders, you are not providing value and you are not getting paid. No matter what you do, you will always have to take orders and serve. Even a founder of a company needs to fulfill the orders of his customers.
I always feel I have creative control over my work. I have worked with both technical and non-technical clients, on large systems and small and all situations call for creative input. Without creativity, programming would be boring. Top programmers can command 6 figure salaries. Surely, monkeys do not get paid that well.
What if you work for a non-technical manager who just says what he wants done?
What’s wrong with that I say. If the person you’re working for isn’t technically minded then you have complete freedom to do the work in whatever way you choose. You can try out new frameworks or programming languages. You can use different development methodologies. It doesn’t matter as long as it gets the job done. There are differences between working for a technical and non-technical manager and they generally balance out. With a non-technical manager, however, you are the expert. They hired you because they don’t know what you know.
Just because you program doesn’t mean you are a code monkey. You have a choice. You will end up being a code monkey if you stop learning after college.