When deciding on a career you have to be sure it's something you'll be happy doing for a very long time. For software development that's especially true because there are so many drastically different areas of the craft. In this article I take a high-level look at some of the most common types of software development and some aspects of the craft that hold true throughout every field of specialization.