The other aspect I enjoy is problem solving. Every piece of software comes about to solve a problem. Sometimes its a very uninteresting problem like how to get data from one source to another. Other times it can be exquisitely intriguing such as advanced automation or complex graphics and physics engines. Either way its rarely boring to me, in fact I even enjoy the creation of small data shuffling applications.
They say it takes 10 years to master any craft. I don't know if I've reached master status, but I know my way around a compiler and during my 10 years as a software developer I have learned a thing or two that's worth sharing. Check out the articles below to see what they are.