December 29, 2017
Programming is programming
Programming is not consulting, it’s programming. Consulting is consulting.
There’s a reason that these two different words exist. And the reason is that they express two different meanings.
Consulting—engaged in the business of giving expert advice to people working in a professional or technical field.
The most obvious synonym for “consult” is “ask” e.g., “You should ask an expert.” When people say consult, they mean ask.
If your primary business activity is answering questions for clients, then it’s probably safe to call yourself a consultant.
Let’s compare this to programming.
Programming—the action or process of writing computer programs.
If your primary business activity is typing code for clients, you’re not a consultant. You’re a programmer.
And that’s fine! But you can’t just call yourself a consultant and magically become one.
The Gray Area
There is a gray area between being a consultant and being a programmer.
Programmers posses an arcane (yet critical) skill that normos don’t grok - namely, they know how to program.
What ends up happening in lots of cases is that programmers are almost forced into consulting with their clients about how or why (or why not) to program something.
It’s like de facto consulting. But it’s not real consulting.
Why isn’t it real consulting?
It’s an identity problem. The programmer identifies as a programmer, not as a consultant.
This leads the programmer to sell the programming and give away the consulting for free (or worse, sell it by the hour).
Someone who sees themselves as a consultant is going to charge clients for advice. A consultant recognizes that good advice is incredibly valuable to the right client. Giving it away for free or charging for it by the hour would be absurd.
If you’re an experienced programmer who operates in the gray area between programming and consulting, shifting your identity toward the consulting end of the spectrum - in both word and deed - is a tried and true path to increasing profitability.