I'm upvoting this as I specialize in a portion of IT, and therefore I'm not "The IT Guy" that's usually stereotypical of people to coin me as.
I haven't worked on generalized computer hardware or software in a troubleshooting role in a long time. My specialty involves healthcare information technology, though in every company I've worked for I've been clumped into generalized IT.
Far too often to I find myself being confronted with employees asking me to re-image their computer, run virus scans, fix their email accounts, etc. Not only do I not have the ability(security-wise) to do this, but I haven't worked in this arena in so long that I wouldn't know what's going on if I tried.
Much like patients going to a hospital and not expecting the medical records personnel, nurses, janitors, etc to be employees holding MD's, or vice-versa for the credentialing. Employees shouldn't expect every person in "IT" to know everything about computers. It's too broad of a generalization. It's why the field has specialties - and it is a personal pet-peeve of mine, as about 90% of my job is specialty related and 10% of it is computer related.
In closing, you shouldn't be changing out toner cartridges as a programmer. From a personal perspective I'd consider this as a slap in the face as far as knowledge goes. From a business perspective you don't need a programmer on payroll wasting their time doing mundane IT tasks that an intern could do - or better yet, with proper employee training that anyone could do.