Working Among Programmers: A Field Guide to the Software World