A Good Reason to Sign a Contract
I was asked to "convert" (play with it and make a new app that interfaces with the old database and has the same features) an old software app (that was written for the company by an old employee who is nolonger there) to VB.Net and stay on as a freelance programmer to alter it as needed as they resell it. The pay is 100% proportional to what it brings in and how much work I do on it. IE, if only a sales guy and I are involved and it makes 10,000 then Id get $6,000.
Bear in mind, this is my first real work after graduating college.
Stupidly, I did not get a contract.
Im working on it, get about 3/4ths the way done and they start talking about improvements. A few companies are "demoing" the old program and want to pay money for a customized version of it (mine). The guys I work for start to discuss future plans. Fine, I can give input on that.
Then they start telling me to impliment them on what Im working on. Hold on here. Im replicating the origional first. One thing at a time. Now its the Origional w/ a few modifications. This puts me back about 50% done as I had to redo a lot of ADO.Net properties.
I go to a meeting the other day and they look over my 90% done program. "Great. This company we sold it to wants these changes and have been herassing us for them for about 6 months" ***!? Why would you sell something you dont have and promise them something you havnt asked the programmer to do yet!?
So I start talking with the owner who starts asking how long each individual enhancement will take, which I absolutely hate. Sometimes I dont know. If I run into something I dont know how to do, I need to research it (like ADO.Net, I could rewrite this program in like 1/10th the time now that I know it). This is how it goes:
"I want this to do something different, to focus on the middlemen instead of the end customers."
"Well its written for customers, thats what the origional program does"
"How long to change it?"
"About an evenings work" (take into consideration that this isnt my day job and an evening can be anywere from 3-8 hours)
"Ok, Ill consider it done then. Next..."
I think to myself "Whatever, Ill do it". Then Hes totals everything up. I need it done by friday. Of course he tallied my "Evenings" as nothing. Since it was tuesday night that was out. I have Wed night, thursday and friday night to get it done, or the customers are walking.
You think this might have been mentioned a week or two ago? So I could plan my schedule to get it done?
Its like having a crappy old car. Youre screwed. You have to pay 300 to fix it. Youve spent 2,000 on it already, which is all a loss if you dont fix it. So you fix it, but something else comes up. In this case its time. Ive invested A LOT of time on this project. If I just endure a little more Ill hit my payoff.
Of course the one smart thing Ive done is to sidestep any discussion of me giving them the sourcecode. Theres no contract so as far as Im concerned, its mine. Theyre going to be as dependant on me in the future as I am of them at this moment. Theyve invested a lot of money to get a working program they can have altered. No source code = No Altering.
This is my one bargaining chip with them. Some of the guys are Old Skool programmers, back when the black and green screen was new technologies. I dont think they know enough about .net to decompile it. Heck, I might even compile the whole program if it will prevent them from getting at the code. I dont care if it takes a performance hit.
Ive been getting random paychecks at random intervals, which confuses me because Im supposed to be on a % of the profits.
I fear them getting my program and just "reselling" it to multiple people without cutting me in on it... which is another reason why Im very reluctant to give up the source code.
And these are good reasons to NEVER take a job (web design, programming, graphics design, layout, etc) without a contract up front.
Ask yourself "In what possible way can this go bad/sour?" instead of saying "That will never happen", take my advice and believe that it will. It may not, but act as if it will. Look out for yourself or youll end up getting suckered into doing more work just to break even or get what you agreed on for the lesser work.