"I didn't really set out with the goal of being an open-source contractor. It just sort of happened, like sex with a much-older neighbor."
emiller.info/contracting-advice.htmlPosted Sep 30, 2008, 9:23 PM UTC
Posted Sep 30, 2008, 9:23 PM UTC
Well written article. Sadly (or, rather, fortunately) the experience regarding sex with his much-older neighbor was not related in the content. Here's hoping it was just a metaphor or that he has very attractive neighbors.
What if he was 16 and the neighbor was 30?
Great article. This guy can write so well, he should consider doing that full time. I'm serious - it was both informative and very, very funny.
I couldn't tolerate the Johnny Hypothetical garbage ad nauseum.
Seriously, I learnt a couple of new words as well (heh, tookus..)
(heh, tookus..)
Go hang out with folks who speak Yiddish. LOTS of cool words.
The pedant in me feels the need to point out that it's normally spelled "tuches".
I'd like to see the article from the guy that did this for a living and managed to support a family on it, rather than just to buy a laptop.
A friend of mine is doing just that. He doesn't write much (except code) though.
Back in the mid-90s I got quoted in the Wall Street Journal and a few other tech mags. Suddenly everyone wanted me to write articles & such about my expertise and experience. Quickly found I could not both maintain and write about my expertise so I quite writing. Maybe others can and my hat's off to them but I think that "those who can - do" is probably more typical. Blogging may be an exception to that since you don't have to get past an editor.
Hey B,
What did you get quoted on? :)
--vat
For the WSJ is was some database stuff and then a scoop on some big time trouble @ Knowledgeware (who's stock proceeded to seriously tank the next day). They (Knowledgeware's mgmt) invited me to "clarify" my remarks (which were somewhat taken out of context but still true) but I had additional insider info that I did not divulge to WSJ that caused them to reconsider their request. :) Moral - always keep something in your back pocket if you've got to reveal bad news cause they'll look to shoot the messenger.
Awesome article, horrible title with absolutely no relevance. Use one of his aphorisms!
Misleading headlines are one of the arcane arts of reddit. The key is to have an incredible headline to get people to click-through, but not such so misleading that people downvote the article.
The ideal is to get a thread going on how awful the headline is, because that increases the comment count and gets people's attention.
True - but actually it caused me to avoid the article entirely until I happened to be waiting for some things to finish and had read the entire 'programming' first page.
Find one that would have drawn me in as much as this one did.
Sex sells
I was Hernan Cortes, and C was my sword
"It's hard to make money from open-source software. Some companies have tried giving away some software and then selling "support and services," but that business plan has proven as profitable as giving away VCRs and selling the Owner's Manuals. "
and then he goes on to write how he makes money providing a service supporting open source software. way to put a thought together and put it on paper. i hope his code is better.
He's not a company.
He talks about extending open source software not supporting it. If you want to work as a hired gun a great way to get in the door is to ride in on existing large projects. Don't build a huge piece of software and then expect people to pay you to support or extend it - just pick an existing project that is good enough and add your expertise.
Look professional. Give out business cards at conferences. Make an invoice template. State your rates with confidence. Deliver ahead of schedule. Write tests and documentation. Code exactly what your client wants, not what you think the world wants. Spell properly.
Good advice for any professional contractor. It's amazing how often people don't do these things.
Great read!
Great article although I would add that you can do just as well if not better using the same method with proprietary software. I am an expert in a piece of enterprisey software that is way expensive and used by lots of deep-pocketed companies. I'm actually FT for a consulting company (I'm American and need benefits), but I could easily get contract work at a high rate.
Sure, but if the same method lets you earn a living with either proprietary or free software, isn't it preferable to do it with free software? Clearer career path, less vendor risk, being able to sleep at night, etc.
being able to sleep at night
I would argue that my ability to sleep at night has more to do with the client than the software. Also, vendor lock-in is something I count on for staying in demand :p
By "vendor risk" I mean "less risk from the vendor going out of business, terminating the product line, getting bought by Microsoft and killed, getting bought by CA and firing all their programmers, or pissing off all their customers." These things are less of a problem with free software, even when there's a vendor that writes the whole thing.
I suspect that vendor lock-in isn't really what you're counting on; it's people continuing to use the software, because it's the software you know well. Whether they would be more or less likely to switch to different software if the software were free, well, I can't say.
Although I didn't mention it before, vendor lock-in actually hurts you. Right now, there are some services only the vendor can provide, and they get to choose which services those are; if the software were free, you could compete to provide those services as well. A profit-maximizing vendor, in that position, will reserve the most profitable services to themselves and farm out the less profitable services to independent consultancies. You get what's left over, like a vulture after the lions feast.
With regard to sleeping at night, I was talking about people like me, who think that proprietary software is immoral. But I have to admit that I've spent more sleepless nights over more personal aspects of client relationships myself. :)
You need to do something better than most people at the company that's hiring you. Write patches, features, applications, and plugins until you reckon you're as good at it as anybody out there. Then prove it.
man, that's easier said than done.
I read the article yesterday. I can re-read it now only on google cache because his site is down (I hope he doesn't run nginx...).
I find most of his insights spot-on, and his tone unbearably smug and self-righteous. I'm impressed how he found his way in the nginx source and created a successful tutorial, fame and revenue stream out of it. But I can't help but characterize his initial effort:
"But I found it hard to write even rudimentary server programs. They would work, mostly, but have bugs when talking with certain web browsers. So I decided I'd let someone else's program deal with the client bugs."
as FAIL. It's either a writing-FAIL (please decide whether the bug is in your web server or in the client), or a development-FAIL (if the bug is actually in your server). Still I can understand him as HTTP is absolutely fucked up in my view.
I guess from his projects page where he makes available two nginx modules (one for creating on-the-fly zip archives, ordered by Box.net, and one for removing whitespaces from URL's -- if my memory serves), that the gig he describes in his rant was the zipper for Box.net.
I also note (based on his nginx module tutorial) the nginx author(s), like many other authors, don't know (or care) that the Single Unix Specification (since version 1, 1995; and possibly other standards) reserve identifiers with a "_t" suffix for any use by the implementation when including ANY header. (See "Compilation Environment".) This means if you include any standard header, you are simply not allowed to use identifiers ending in _t.
That's what she said!
Funny thing about open source...
...it turns out that my time is worth something.
Well thanks for wasting it here on reddit.
I know what you mean. Inevitable. And filled with hot, wrinkly shame.
Remember me never to move near you when I'm sixty-four.