The fun part of being a programmer is creating something new, especially something that saves the end-users a lot of tedious work. I was quite happy, for example, when I managed to find a way to extract data from PDFs and spreadsheets with different layouts. Until I came up with that one, people at our office processed the data by looking at the PDF or spreadsheet and keying the information into a database screen. Very, very time-consuming. I received a lot of kudos (and some free drinks) when my solution worked.
The not-so-fun part of being a programmer is when I have to take over maintaining a big-ass system I didn’t create in the first place. Then I have to read through reams of code and try to figure out what the @#$% the original programmer was thinking … or more likely, what the previous three or four programmers were thinking. I always leave copious comments in my code explaining what I’m doing and why. Some of my predecessors weren’t so kind.
A system was dumped in my lap recently, and the programmer who designed much of it is long gone. So of course, that system decided to misbehave this week, probably because the Super Bowl is coming up in a few days. During Super Bowl week a few years ago, I had to fix a different misbehaving system on a tight deadline. I ended up coding right up until kickoff, watching the game, then jumping back into the coding.
I’d like to avoid a repeat of that weekend, so I’ll be working late instead of writing a post … again.