Over the past few years, as I decided to return to industry, then formed and followed a plan to effect that return, certain questions arose frequently. Addressing those questions here struck me as efficient.
Why leave academe?
I love to code. I’m one of those folks who would happily code 12 to 14 hours per day (or more!) if she didn’t understand, at a visceral level, that creativity and code quality take a major hit if one spends more than 8 or 9 hours per day, on average, coding over the long-term. Creativity and quality are an inextricable part of coding for me; I don’t code simply for my own pleasure but also to facilitate how others live and work.
I came to understand a simple truth; that writing beautiful, useful code is not one of the duties of a member of the computing faculty. If a person loves and excels at a highly valued skill and has a job that does not include that skill in their responsibilities, they may be in the wrong job. I have other skills that won me tenure, but what I love *most* is coding. Continuing as faculty would have eventually extracted a high price on one front, the other, or most likely both.
Why a job rather than consulting?
The answer to this question is much the same as why leave academe. Operating as an independent consultant means spending much of one’s time in arenas I am happy to leave to others. I feel the same way about management positions. I have a lot of ‘soft skills’; they make me a better software architect.
Why are you consulting now?
In late fall 2011, I decided to migrate from perl to Ruby. Having migrated principal language several times in the past, I am well aware what is involved. In addition, this time I would be making that transition largely solo. The coding clan I came up with are scattered all over the globe. We stay in touch, but it isn’t the same as getting together and hacking several times each week. I gave myself a year for the transition. Having consulted in the past, I went back to a light consulting schedule in order to have some income.