Though programming is my profession, I also like to write programs in my spare time. It's not that I enjoy the coding, as such, but programming is a very inexpensive way to make interesting and complex tools. One of my favorite subjects is data management — how to store data and how to deal with it effectively.
It's also very natural to me that when I have problems to solve, I think about how to solve them with programs. For example, when designing knitting patterns, the standard technique of pencil and graph paper is very clumsy and tedious. So I wrote a program to allow me to create the patterns that takes advantage of computers — cheap, easy, savable, etc. Also it allows me to have a preview window to see what the patterns look like when repeated horizontally and vertically.