See CodeMonkey.
How is this different from people who do CowboyCoding? Much of the description in CodeMonkey seems to overlap?
Both do it bad, but at least cowboys enjoy programming?
{ Yes, probably they both enjoy programming until someone reads or tests their code }
I think of it as a variant of the "PlugCompatibleInterchangeableEngineers" AntiPattern -- different in that the victim of being treated as a GruntProgrammer is only allowed to write code; they're not allowed to think about design or user requirements -- that's someone else's job.
I think the difference between a people who do CowboyCoding and a GruntProgrammer is that cowboys actually do accept responsibility for their work and do write amazing programs: it's just not something you'd like to maintain. A GruntProgrammer does the minimum necessary to keep the job, and wants someone else to do all the thinking and accept all the responsibility. "That's not my job" and "I did exactly what I was told to do" are grunts' typical responses to all questions about their work. --KrisJohnson
I would describe the GruntProgrammer as the programmer constrained to only coding and has no other input into the product. They are often products of the old unimaginative industrial giants. Relegated to their position by over-specialization of tasks. Requirement techs gather and archive requirements. Architects make Power Point slide and Viso diagrams. Team leads do the designing. Coding is done by GruntProgrammer s. It is kind of a ProgrammingChainGang. Do this work like this, use these algorithms, call the classes this, etc. Creating this organizational structure leads to low TruckNumber s. -- DaveHickerson
Think of the grunt as the SoftwareJanitor. A grunt is the one who does the routine, unglamorous work. A good grunt is worth their weight in gold. In war, don't drop a planeload of generals into the fire--drop a planeload of grunts. Good, battle-hardened grunts are the best. Similarly, don't want to send the PrimaDonnaProgrammer? in to do a grunt's job. It can pay well to clean up other programmers' messes.
In my opinion GruntProgrammer?s mess up the code in their own, not understandable way. We have a couple of those at work and they let the others work extra hours by not doing their job in a responsible way
Excessive use of KludgeItTillItWorks
BetweenaRockAndaHardPlace? - a PointyHairedBoss above you and mostly GruntProgrammer s reporting to you (all the company can "afford").
How odd - to me, GruntProgrammer means someone who does the HeavyLifting? of producing code, rather than drawing diagrams. SomeoneHasToDoTheWork?.
Where does the negative meaning for GruntProgrammer come from? In the article "Getting Things Done When You're Only a Grunt" http://www.joelonsoftware.com/articles/fog0000000332.html by JoelOnSoftware it has a positive meaning. In military world too.
See also BadProgrammer VeteranProgrammer GruntWork
Poor management makes a programmer a (derogatory) grunt. A GruntProgrammer is not a BadProgrammer. I am a GruntProgrammer and proud of it. I spend most of my time cleaning up the messes created by those with ideas well above their station.