After providing independent consulting services for most of this century, I have found that there are two major aspects of consulting work that can interfere with productivity, and don’t necessarily benefit either the consultant or the client. There are definitely more than just these two, but these are the big ones. And they are the same ones that can bog down every business.

1. Billing

Billing is important, obviously, but sometimes it seems that tracking time, reporting on that time, or resolving questions about rates and hours, or creating invoices, or following up on unpaid invoices, ends up taking more time than the consulting work itself.

2. Marketing

The world is large and wide, full of a relatively small number of people who need software consulting services. The ones that are most visible are inundated by offers and contacts, and the smaller clients can seem invisible. A permission-based marketing approach where the clients themselves can ask for the services they need where they know they can get it could help clear through some of that fog,

I haven’t been a client of a software consultant, but the clients I have worked with have described getting thousands of proposals to work on a single project. That sounds like a productivity problem, and I’m particularly interested to see what happens when the client is relieved of that burden.

UPDATE: For now, I think the client is going to just have to keep shouldering that burden. I interviewed twice with TopTal, and the same thing happened both times. They found something that wasn’t in the spec to use as grounds for refusal. Now, I expect there to be lots of ways to improve my code, I’m not perfect and neither is my code, usually. But their specification was written loosely enough that they could redefine the words in it during the interview, and in the first interview what they wanted wasn’t in the spec at all. In my opinion, they are either looking for developers who can be convinced to do extra work for no money, or they’re compiling a collection of code written by others (n.b. I lost access to the repo that held my code immediately after the interview), or both. The second one does sound far-fetched, but it’s not that big a leap from the idea of a company taking advantage of developers they hired, to a company taking advantage of developers they haven’t hired if they can figure out how. It’s possible that TopTal have figured out how.

So now my advice is, don’t ever code for free, unless you’re specifically donating work to an organization you believe in. And I would not recommend TopTal. Even if the interview was successful, I suspect I would have been treated unfairly and overworked and underpaid for it.