From Developer to Consultant
Editorial Note: Next week, I’m going to Panama to explore the canal. I have no idea how much internet access I will see, so next week could potentially be a quiet week for DaedTech posting, if I can’t log in to publish a few cross posts.
If you write software, but not for the company that signs your paychecks, this title may sound strange to you. “What do you mean, ‘from developer to consultant,’ when you can be both?” I have answered that question previously, so I won’t rehash it here. Suffice it to say writing code for someone other than your employer does not a consultant make. (But read that post, seriously, because it becomes even more important later in this one.)
A few readers have submitted variants of the same question, so I’ll capture it simply, and as a composite.
As an independent, how do I go from doing app dev work to consulting?
I added the bit about independent status because it matters. Without that, I could answer trivially by saying, “get hired by a consulting firm that wants you to consult, and let them train you.” But if you go from contract to contract slinging code or if you write code as a W2 employee, you have a less obvious transition.
The Nature of Both Beasts
Before I lay out a tactical set of steps, I need to define the underlying nature of both roles. In the taxonomy post, I approached the matter in terms of definitions, as one might expect from a taxonomy. Here, I want to talk philosophy.
I once gave seeking app dev work a satirical treatment. I asked the reader to imagine a world where, instead of “I’ll fix your garage door” contractors advertised their services with “I have 5 years of hammer, 2 years of table saw, proficiency with 6 kinds of metal, etc.” As an app dev contractor or W2 employee, you offer the world the latter. You say, “here’s a brain dump of stuff I’ve done, so all I need is someone who knows how to make me useful and who also signs checks, and we can get going.” You offer exactly the sum of your experience tuples.
A consultant, on the other hand, offers services akin to general contractors. “Call me if you have a problem with your garage door, and let me worry about finding someone who can do the job and how many ‘years of hammer’ they need.” An app dev free agent solves one problem (writes code for someone who can’t) even as he presents another (figure out what skills are needed and manage that person during execution). A consultant steers clear of execution and offers only guidance.