

Ask HN: Consultants, do you have an experimental “labs” effort in your budgets? - cpher

Obviously, in consulting, the billable hour&#x2F;day&#x2F;etc is the almighty metric. Have any of you implemented a &quot;labs&quot; concept to allow employees to experiment with new ideas&#x2F;tech? If so, how have you managed it? (e.g. % time ala Google, etc.)
======
MichaelCrawford
I have worked for two consulting firms. Neither of them had any budget for
work that wasn't billable directly to a client.

At the first, Medior Inc. of San Mateo (later acquired by AOL), I invented a
novel, lossless bitmap compressor as a result of our running out of space for
the "assets" on a multimedia CD-ROM.

However my invention was purely conceptual. I needed time to actually
implement it, as well as to design the file format.

I had quite a hard time convincing the management to let me do that.
Eventually they came around because they realized the expense of my time could
qualify for the US IRS Research Tax Credit (not a deduction, credits are
better).

However, they gave me precisely three weeks. While I did get my code to work
really well, I could have gotten it to work a lot better, had I been given
more than three weeks. For example I only supported 8-bit images. It would
have been straightforward to handle 24-bit, but Medior didn't give me time to
look into that.

I myself am a one-man consulting firm. I spend a lot of my own time on "lab"
work, that's not billable to a client. I regard that as a good use of my time.

Working for a larger consulting firm has its merits, but I'm not so sure I'd
ever want to work for another one, for the specific reason that my value to my
employer, is regarded as whatever hours they can bill to our clients.

~~~
cpher
Thanks for your insights. We're considering this in my current company and I
assumed it would be tricky.

~~~
MichaelCrawford
I can see the point of not wanting your coders to totally bail out of a
customer job when your firm needs to make a milestone, or when your client
needs a deliverable so _they_ can pay their bills.

There should be some way to structure and budget at least _some_ employee time
that does not go directly towards client deliverables. Consider that my
compressor was used in many subsequent projects for clients; we were also able
to bid on jobs that would otherwise have required too many assets.

So in reality, my three weeks of work ultimately resulted in billable hours to
clients, but not at the time I performed the work.

One more thing - these days it is quite rare to perform on the job training.
That's a huge mistake.

At the very least, purchase a corporate technical library, like the O'Reilly
and Addison-Wesley books for each of the technologies you use. Also encourage
the employees to actually read them.

Consider that I once worked for a hedge fund that had at least one hundred
man-years of C++ source code. However their real-time online trading system
was always falling on the floor, thereby costing them tens of millions of
dollars per year. When I hired on, they emphasized the importance of
reliability.

But when I visited to integrate my code - I worked remotely - their head coder
pointed at something in my source then asked "What's that?"

"It's a C++ initialization list."

This led to me spending a couple hours teaching the guy who ran their entire
development shop, some of the very most-basic concepts in C++. For him not to
know what a C++ initialization list was, was like it would be for a Perl coder
not to know what a regular expression is.

Lots of coders are able to get jobs, and even produce acceptable code without
knowing a whole lot about their craft. That is to be expected, I wasn't born
with my degree in Physics. Encourage your people to learn. They will be
happier, and your firm will prosper.

------
cpher
I'll clarify that my question is more related to a team of consultants, not
necessarily a microISV. Also, what benefits have you seen from this effort?
Could be direct financial gains, employee morale boost, anything!

