In the last few years of my professional career, I have had the opportunity to work in various programming languages, operating system environments and team dynamics. I have also recently been given the task of deciding what type of products I want to be designing and developing. What I’m about to write were thoughts specifically triggered as a result of a conversation I had today with my brother, who is a very intelligent creative design type.
He has been talking up the idea of creating various Wordpress themes and plugins as well as various iPhone applications, mostly as a way to get his (or our) names out there as knowledgeable people in the respective fields of programming. This would ideally lead to a consulting agency for project-based work for larger clients wanting more specialized development tasks performed. It sounds like a very good plan, to be honest, if you’re into that kind of work experience. Sometimes I think I am, but then most times I feel a bit more grounded than that…
It takes a talent for multitasking to be in the consulting agency environment. I’ve tried it out a few times, and I can honestly say that I find the various unrelated projects from differing customers to be distracting to one another, and to the flow of my creativity. Now, this experience has been in the IT consulting field, which may be entirely different from the programming consulting field, but I suspect the effect is simply less intense and that the short term nature of consulting arrangements tends to distract from the longer-term nature of designing robust software applications.
Much more interesting to me, personally, is to take a project from its concept, architect it well, and help it grow into a fully mature and stable product that somebody finds useful. The pressure is a little less intense as you can feel free to make mistakes with design, as you will have (more) ownership, responsibility and the inherent ability to fix those mistakes given the longer timeline of feedback from users.
To all my future readers, regardless of the programming slant to this post, what are your thoughts on consulting versus long-term projects?
