I'm not technically a software developer, but I sometimes work with code that will eventually be used by other people.  This sorta makes me a software developer, in some small way. 

One of the rules of thumb to keep in mind when programming is this:  "It's a good idea to keep the user in mind when developing software".  That sounds dumb, but it's surprising how often it isn't followed.  I'm working with a guy who's been doing minor programming work for 15 years.  Nothing major, just a bunch of in-house simulation codes and things like that.  But the code he's written has been distributed to other people.  In fact, the project he and I are currently working on is meant to be shared with several other groups of people, none of which even work in our office.  So I was at least slightly shocked/disgusted by a little "feature" he added right at the beginning of the project.  When the user opens the main window of the program, he/she can input data, run the simulation, and plot stuff.  When the user wants to exit, he/she simply clicks on the "Exit" button at the bottom.  And that's where my coworker decided to make a pop-up say "Are you sure?  Yes/No".  I questioned his logic on it and he said, "Eh, it's what I've seen other programs do."  Wow.  That hurts.  You include a useless feature simply because you saw it in some other piece of software?  I'm no expert, but that sounds pretty stupid. #technology