Question: I'm wondering what you do as a programmer that's not programming but necessary for your task (eg: local setup, server setup, deployment, etc). I'm curious to know how many non-programming related tasks people are performing. 

For example, when on web development projects I often:

* Install servers
* Manage user right/access to servers
* Perform backups
* Configure IIS/Apache
* Setup FTP sites

On non-web projects I often:

* Write build scripts
* Setup source code management tools/procedures
* Probably more stuff I'm not thinking of

Some tasks are more related to programming than others (such as writing build scripts) but others fall outside of my area of expertise (domain setup comes to mind). Just interested to know how many people perform tasks in their jobs that are not programming related.

Answer: 
I realized I'm never hired for the actual job, but as a problem solver. Whether I figure out what's going on, and fix it through code, or software, or something on the network, this seems to be the main perception of what clients want.
It depends a lot on the type of software you're currently developing

For example, when I was working on software for a local government, I had to learn things like

* What are the rules for registering animals (pets). What are the types of registrations, what discounts apply, what are penalties for not registering on time
* How are council rates calculated. How are rates raised yearly (actually, the algorithm for raising yearly rates and its implementation was the most complex task I met so far).
* How are building permits issued. What types of inspections can be performed. Who is involved in the process of issuing a building permit (owner, builder, architect, officers etc.)
* How often are water meters read. How are water meters assigned to properties, how many dials are on a water meter, how to detach a water meter from one property and to attach to a different one
* What are different pension types. What are different discounts that are granted depending on a pension type.
* What are different types of receipts. What different types of terminal printers (those that are used to print small receipts) exist and how to print to them.
* What are properties, strata children, what are rules for dividing properties into 'parcels' ...

Well, that's just part of non-programming stuff that I learned during the 2 years on the project. The most unfortunate thing here is that now that I moved to a different company, there is very little chance that any of this knowledge I will ever use.