As a programmer/designer there are three types of imagery you will likely be producing.
Technical Specification Images
These are simple crude drawings showing artists/LDs how to place information nodes in the world, how sections of geometry need to be cut up for streaming, how models need to be split for customization and so on.
Pen and Paper are fine for low tech, Photoshop + Wacom is the nicer but expensive solution. You just need to communicate enough information that the artist knows what they are supposed to do. If this is some requirement multiple artists need to deal with, have one of them redraw the image after you explain it to them. Helps them commit the concept to memory and you end up with a nice drawing.
System Visualization/Flowcharts
This is less for artists and more to visually look at gameflow, state machines, or a UI design and make sure you aren't missing anything. Visio is a good tool here which you may already have depending on your version of Office, although GraphViz & Dia are freeware alternatives.
Reference Art
For designers providing reference art if you can't draw well then don't waste the time. Google Image Search is your friend. Just grab images that match the components of what you need. It's helpful to draw over these images with any painting program to make sure it's clear what part of the image is important. If you just like the fabric of a couch and not the shape write that on the image so that three weeks later when the artist is looking at it for reference there isn't any confusion.
Photoshop obviously works here, but Paint.Net is a nice freeware alternative.