Consultants like to get paid for what we do. Sometimes it may seem to our clients that we're obsessed with that subject. But, after all, that is how we make our living.
Back when I was fairly new at consulting, a lot of developers in my niche market of Synergy/DE were just beginning to move their applications to the Microsoft Windows platform. It was a difficult migration for many of them, and it wasn't helped by the fact that we were still in the early days of Windows 95. These developers were used to powerful command-line development environments on Unix or OpenVMS, and Windows didn't provide any suitable development tools at that time (we could debate whether it does now). Translating their character-cell-oriented user interfaces into a GUI was an even more involved task. I took a lot of gigs helping developers port their applications and get them ready for prime time.
During this period, I attended a developer conference with the dual objectives of giving a presentation and finding new business. One of the attendees (who wasn't my client yet) approached me about how to do something fairly common in a Windows user interface: present a splash screen to the user while the application starts up. It seems like a trivial task, but at that time, it required a little C code to tie it in. I had solved this problem for several clients already, so I offered to provide the code for a minimal fee. I figured, after he sees how easily this slips in, he'll give me lots more work. Well, he wasn't in a position to approve a purchase at the conference, so he said he'd get back to me.
The next day another developer handed him a solution free of charge. I was bummed. He certainly would have become my client if it hadn't been for this other developer stepping in and underpricing me by 100%. To make matters worse, the developer was a friend of mine. I felt betrayed. What was he trying to do to my business by giving stuff away?
Later I realized that it wasn't his fault. First of all, he didn't know about my proposal. Also, it was my fault for losing the prospect. By putting a price tag on that little piece of code that I could write in my sleep, I erected a barrier to closing an engagement. I couldn't get my foot in the door until the potential client could get approval. I made it too hard for him to say "yes." I should have given him that little widget gratis -- then later when he had the inevitable and innumerable other questions about porting to Windows, he would have called on me again.
I had been trying to sell a product instead of a service. Guess what? Software doesn't sell for much on its own -- often it's free. What clients gladly pay for is not some package you've produced but rather the insight, wisdom, and direction you can provide. As often is the case when a sale falls through, my price was too high. The right price for that software was zero.
The other developer and I are still friends, though it took a lot of beer and billiards to get back to that point. And now, he's working as a consultant.Get weekly consulting tips in your inbox TechRepublic's IT Consultant newsletter, delivered each Monday, offers tips on how to attract customers, build your business, and increase your technical skills in order to get the job done. Automatically sign up today!
Chip Camden has been programming since 1978, and he's still not done. An independent consultant since 1991, Chip specializes in software development tools, languages, and migration to new technology. Besides writing for TechRepublic's IT Consultant blog, he also contributes to [Geeks Are Sexy] Technology News and his two personal blogs, Chip's Quips and Chip's Tips for Developers.