Monday, July 05, 2004

Remote Work



Flawless Consulting : A Guide to Getting Your Expertise UsedFor reasons that will become clear, below, I want to discuss my experiences doing remote consulting work. Most of these occurred before the offshoring trend, so your mileage may vary.

Back in the day, in order to earn extra money, I decided to do a little after hours consulting. Now deciding -- and doing -- are two very different things, a fact to which most who've pursued this type of work can attest. Let's face it, we don't see classified ads like this very often.


WANTED: Experienced software developer willing to work from home for high hourly rate ($60-$100, DOE) on fun, challenging projects. Fixed-fee engagements also possible which can increase your effective hourly rate to $100+/hr. Fixed-fee project payment terms usually 50% up front, 50% upon acceptance test. Email xxx@xxx with CV.


The reason is obvious. Most developers would chop off a pinky to have a sweet gig like that. The competition (ahem, supply) for this type of work is plentiful, thus the demand is very, very low. You can find an off-site developer anywhere due to the nature of the work (i.e., sitting at home in front of your PC, in your undies, chillin' with some tunes)... thus, rates will be very competitive.

Back to the story. Way back when, I used to hang out in several online communities like "C Programming Language Freaks". The whole spectrum of whacked-out developers arguing over struct usage, if there would ever be a valid use for syntax like *****p (and, yes, I think I saw someone's code that actually did this... once).

Some guy from Toronto named Curtis got on the board. He posted a message that said, basically, "Hi, I need a really good C developer for a product I'm working on. It's in Visual Basic, but I need some libraries written in C that will speed the thing up. It's ghastly slow!".

I was probably one of the first to respond and we got a good rapport going via email. I had as much C experience, if not more, than most of the other denizens of the board... and (bonus!) I wasn't a C snob who looked down on "clueless VB'ers".

Curtis was looking for a DLL that would provide a very high speed search capability for text and binary files. In addition, it needed to recognize numbers and dates in every format imaginable. For instance:


Sept. 4, 2004
2004-9-4
4-Sept-2004
9/4/04
4-September-2004
September 4, 2004
...etc...

1024
1,024
One thousand and twenty four
One thousand, twenty-four
One thousand and twenty-four
A thousand twenty four
...etc...


All of this free-form text needed to be searched correctly. And the task even included comparison searches (e.g., "find all documents with dates greater than September 4, 2004").

We agreed on a price for this functionality (I don't think it was very much, probably a few thousand dollars). I think the effective rate was perhaps $50 an hour, but it was quoted as a fixed-fee job (for the stated requirements).

Curtis was pretty happy with the result. As an old assembly hack, I squeezed out every ounce of performance in the library. It was pretty damn quick. In fact, he was so ecstatic, he asked the following in his Canadian accent, "Look, I want to buy you a gift. I would like to get you a very nice hooker and a bottle of champagne. What address should I have her come to?"

It's not every day a client is so delighted with your work that he's willing to spring for a lady and liquor. Actually, it's never happened before or since. Of course I politely declined the offer.

I ended up writing several other libraries for his product (a very popular shareware product that is still sold today). One of the DLL's was very challenging... a complete print and print-preview subsystem for his documents. And let me tell you: that will teach you something about display contexts!

In fact, months after delivery of that module, Curtis discovered some issue with a certain printer. I wrangled with it for a while and finally told him he would have to pay an hourly rate for that type of change. I'd been spending way too much time on hacks for odd-ball printers and displays.

He said, "Douglas, I thought we had a fixed-fee agreement, you should fix these things as part of the original fee."

My response was, "Curtis, if you go to the Dentist and get a cavity filled... and three months later you have another cavity, does the Dentist charge you once or twice?"

He saw my point.

Remote Work, Part Deux



My friend Bored Bystander posted an excellent summary of his experience pursuing some remote consulting work. BB has achieved some notoriety through his well-written missives on the JOS forum. In this case, he happened to smell a scam regarding software consulting. The article documents the leg work he undertook in order to nail down a very bad egg.


Have you ever wondered if those online auction sites like Elance, RentACoder, etc could be a viable way to make a living?
I mentally discounted this avenue years ago. But recently, a friend showed me an online solicitation for remote software work that was tempting.
This is simply a literal account of the communication between me and this person, one "Mike Chen".


Bored Bystander on Remote Work

No comments: