1] Scratch my creative urge in public<p>2] Give substance to thought<p>3] Codify and automate processes liberating myself and others from drudgery<p>4] Build something that expands my luck surface<p>5] Communicate my ideas<p>6] Establish a brand presence<p>7] Participate as a creator and builder in the most revolutionary technical/organizational advance of my lifetime<p>8] Create value for people<p>9] Multiplier impact on my other skills<p>10] Potential business upside<p>Some of these are certainly true for programming more generally as well - some are specific to web development