Adding features for customers

February 22nd, 2006

I started writing a personal information manager written in Java back in 1999.  Over the years, I’ve gotten lots of suggestions about cool features to add in; features that one person thought would be the cat’s pajamas.  For instance, my best man thought it would be really hot to add the ability to pop off an email to anyone in the list.  So, I added a wizard to send email to any group within the contacts using any field in the contact list.  Then a customer told me that it would be a state of the art personal database if you could change the field names dynamically.  He wanted to use it for his business and had some special fields that identified clients.  Then another customer groused that “not everyone lives in the states” meaning that the address fields weren’t right for his international contact list.  So, I added the ability to change the field names, which also makes it easy to turn the PIM into another language, well except that the help page is still in English.

What I found interesting is that after finishing these new features, some of which are pretty time-consuming, the customers are not always so enthusiastic.  Sure, they use the new features but then they come up with other new features right away or imply that the feature isn’t exactly the same as they envisioned.  So you bust your ass and get a mediocre thanks in return if you’re lucky.  Excellent!

Providing healthcare insurance

February 20th, 2006

Most people that I talk to are really concerned about providing their own health care.  All right, healthcare is expensive, but if you have your own corporation healthcare is a tax deduction. If you are a sole proprietor or LLC, then you can deduct some, and if you can’t charge enough to pay for you healthcare, then get a job for god’s sake, don’t be a contract programmer.  From looking at the labor situation over at Catepiller, it looks like a companies are starting to really gripe about paying for employee healthcare and employees are opting for steep pay cuts to keep it. I don’t get it.  I have lots of friends that go to the doctor once a year and to the dentist twice a year and maybe need a couple of pills or some antibiotics once in a while.  As far as I can tell, most of them could just pay cash for that and move on.  I mean if they are really worried about being wiped out with a major bill, then I’d suggested catastrophic healthcare coverage.  

It’s a living

February 10th, 2006

I write code for a living, but it’s not the first thing that I did to earn money.  So I have a life.   A couple of years ago I joined the ranks of the contract programmer generation. Right now I work for a big Japanese consumer goods company that sells electronics. A little after I started here another contract programmer started.  He reminds me of Dilbert, so I instantly liked him.  I mean who can resist someone that is the personification of a great cartoon? He is very jovial on the surface but doesn’t take any crap either.  I leared 2 incredibly powerful things from him:

  1. A contract programmer should never have more stuff at work than could fit into one regular-sized moving box and a contract programmer should always have their FU funds in order.
  2. Programming might be a new profession but contract programming shares more than a few similarities to the world’s oldest profession.  According to him, contract programmers are the hos, the pimp is the intermediary company that takes care of our billing and the client is the john.

A contract programmer gets paid by the hour.  Each hour that I work needs to have some sort of accountability attached to it; something like a lawyer.  I submit timesheets twice a month and get paid a couple of weeks later.  I like my work too. But sometimes I really have to take it pretty good and I keep smiling because a contract programmer is easy to get rid of. No messy human resources to deal with.  Just pack the bags and move along. 

If you are thinking of being a contract programmer, then my advice is to go ahead and do it.  It’s a fine way to earn a living, you know what the client wants (work) and the client knows what you want (money). No bullshit about climbing the company ladder.  No false pretenses about what might happen later (bonus) if you do a good job, and no big deal about working on weekends.  If the client wants you on the weekend, then they pay you for each and every hour.  You want to go away for 4 weeks and hike the Appalachian trail, go ahead, the client isn’t paying you.