Hugh Buchanan My Ramblings

6Mar/090

Contract Programming… Fun?

I recently came across a blog post (http://www.antipode.ca/2009/the-california-guys/) that was unfortunately not news to me.  In summary, the author, one Allen Pike (who I don't know) writes about some bad experiences doing contract programming.

When the Internet first got going, I was more than intrigued.  I remember getting a magazine in 1994 or so that stated that Gopher was dead and this thing called HTML was the wave of the future.  It was cool cuz it blinked a lot.

So I got involved, and quickly found a circle of people that was involved in some of the lower level Internet services (DNS for one) and by 1996 I was doing contract CGI programming.  While in middle school and high school, being taken advantage of wasn't a problem (though should be really).  I bought in though and offered my services as a devloper (self taught and young).  During those times, the money earned could be very lucritive and no one knew what was possible yet.

By the time I graduated high school several years later, things had changed.  It was much more commercial, and Yahoo was no longer updated by humans.  The search engine vultures appeared before I realised that real money was available on the World Wide Web, and I sort of got in before the bubble burst.  My custom programming services expanded to a level that included a large number of outsourced developers around the world.

Anyway, enough back story.

When folks see dollar signs, they stop thinking.  They demand a lot and don't expect to pay for it.  The hours spent go easily for a developer enjoying the project.  It's all so wrong.

A doctor will attend many years of schooling for a mature science that no longer is changing rapidly.  They will generate huge incomes because they have learned this large scope of knowlege and can put it to practice, despite the fact that most must specialize because general medicine is too broad to maintain anymore.

Software is not yet mature and requires a lot of energy to be spent on learning.  Software doesn't build itself, and you end up burning the midnight oil.  Yet at the end, you walk away with very little money or respect.

Some might say to hang in there.  The value of the programmer will be seen down the road.  I personally don't think so, but that's another conversation.

The bottom line is a simple suggestion that's hard to follow through on:  Write up a contract and include requirements.

That's it.

A doctor can go into an operating theatre to "look around", and you'll wind up in the hospital missing an organ or worse.  A $10k procedure will turn into $100k.

Developers screw themselves by agreeing to do a lot more work than initially agreed upon.  This is pretty much 100% of the time too as pretty much 100% of clients don't know what they want.

Perhaps developers should get more psych training.  Classes in mind reading would help.

My advice, just know that the majority (upwards of 80% sometimes) of what a client demands is not going to meet their mental requirements.

Passion helps.... a client that can make you believe in the product is both awesome and dangerous.  Getting caught up in that passion, and still failing ultimately because the idea was flawed can be a great experience... no better way to learn than from mistakes, right?

The bitter cynic does not help.... that's why I stopped taking a lot of contract work.  The pool of outsourced developers I had became sour and lazy.

My final thought:  There aren't many great projects out there.  I hope you get a great one, but if you don't be level headed about your approach and the expectations you set.  Passing on jobs can work out well... the most lucritive jobs I had were fixing the messes created by other developers.

Comments (0) Trackbacks (0)

No comments yet.


Leave a comment

You must be logged in to post a comment.

No trackbacks yet.