Last year, I signed 4 contracts for work-for-hire. I estimate that will be average-to-low going forward, but I don’t have enough data points.
Every time I work with a company, I come up with something I want to remember to specify for the next time, or at least attempt to negotiate for.
Work-for-hire does not entitle anyone to my other intellectual property.
Pay me. On time.
Give me the tools to do my job.
Intellectual property grabs
Someone, somewhere, has built a really terrible work-for-hire contract that specifies that anything I create while I’m working for a client is the intellectual property of the client. That’s just laziness. Or at least, I hope it’s laziness, because otherwise it’s greed. If I didn’t watch out for that clause, I would sign away authorship of my tweets, my blog, my fanfiction, my work for other clients. Strictly interpreted, if I signed that contract and wrote the Great American Novel, $large-employer would own the rights to it. To any patents I obtained. To any of the fruits of my mind.
I’m not ok with that.
Almost always, I point out that the clause is over-broad, and what on earth are they thinking, and the hiring manager apologetically crosses it out and we carry on. But it makes me cranky every time.
I’m doing work for hire, which is a really specific category of labor that means I retain zero rights to the things I produce for pay. I can’t even use them as writing samples unless I get written permission. Played out in another industry, it means that the woman who provided all the phonemes for Siri’s voice a dozen years ago does not get paid by Apple. She did work for hire, the company that owned that resource sold it to Apple, she gets nothing. Which is hard luck for her, but is the way work for hire is. Most of the time, the things I write are wrong or obsolete in a handful of years anyway. The company is welcome to keep them.
I pay bill.com $15 a month or so to manage my invoicing for me. I enter in all my hours, they send email to my clients, and my clients click ONE BUTTON to transfer money from their account to the ACH system, which means I get a direct deposit. In the last year, this has worked correctly about half the time.
One employer insisted on cutting paper checks, 30 days after I invoiced them, and mailing the checks, which I then had to deposit. That did NOT make me feel favorably about working with them. Also they fired their accounts payable person and didn’t tell us. Ugh. This whole system made me feel like they were going out of their way to extract maximum interest from money I had earned.
One employer was surprised that I did not like the idea of billing monthly and then getting paid 30 days later. I know I should have a cushion and all, but YOU imagine not getting (probably) paid for two months after you start work. On a three month contract. Also, they were not clear that the ACH system only works on bank days, and does take some time, so if you start the payment on the 15th, I will not get the money until the 21st, and I will be cross.
Two employers were a delight, paid promptly and painlessly, and I have nothing to complain about.
My takeaway is that I am adding a late-fee clause to my next contract. If you don’t get me the money on the day we agreed, much like my car loan people, my rent people, my credit card people, and every other business on earth, I will charge you a late fee. I’m currently considering how much would be enough to motivate good behavior without seeming ridiculous, but late payments have cost me at least $500 in the last year.
Also, I always at least make a bid to get time-and-a-half if I go over 40 hours. I have to do crunch, but it’s worth at least asking if they’re going to pay me for my midnight oil. This rarely works, but perhaps it moves the Overton Window?
Hardware and access
When you’re an employee of the tech people type, you expect to get a computer when you walk in the door. That is your work computer, you use it to do work things, it connects to the corporate email and the Confluence and the VPN, it has an image that is supported by IT (assuming there is an IT). When you leave, you give it back to the employer, slightly deprecated, perhaps covered in stickers, and hopefully without any unfortunately embarrassing files.
When you are a contractor, it’s all a bit muddier. Half the jobs have provided me a computer to do my work with. Half of them want me to bring my own device. The problem with bringing my own device is that I may be far outside of the norm for what they expect. If my employer does not purchase it for me, I do not have a MacBook of any description. They’re fine pieces of machinery, but they do not run most technical authoring programs, and the thousand-dollar markup is a bit steep for me.
This was a real problem when I was contracting with a Mac shop. They would send me instructions on installing the software using homebrew, and I’d have to say, “I can’t test that, I don’t have a machine for it, could you please just set up an AWS instance for testing for me?”. Over and over, they’d forget that I was just not running the same OS as they were.
It’s a problem when the VPN the client is using and that I must access hasn’t been updated since 2012 and doesn’t support Windows 10 (what I’m on), Windows 8.1, 8.0, or 7. NOW how am I supposed to see the product?
Everytime I hit one of these roadblocks, I spend time that I could be spending on writing the documentation wrestling with the toolstack. I guess if you want to pay my consultant rate for me to watch youtube videos about hand-editing my registry, I’ll do it, but I’m pretty sure that it doesn’t take many hours of that to make it cheaper to just send me a computer set to employee specifications, or build me a dedicated hosted test instance. If only we had a globally-accessible cloud of computers which could be securely accessed and used to run software, eh?
When I finished in 3 or 6 months, I could send the computer back. You’d have access to all the source files AND the software that I used to write them, I wouldn’t have mucked up my personal computer with your weirdo firewall hacks, and everyone would be happier.
You know that tweet about how you have to get approval to spend $500, but you can call a two-hour meeting and no one blinks? That is so visible in contracting.
So I’m going to see if I can add a hardware provision into my next contract. I can’t write about your software if I can’t use it, and I can’t use it easily if I don’t have the same toolstack that your developers do. And I’m AWFULLY expensive as a mediocre IT administrator.
What about you? Do you have anything you write into your contracts?
I’m still debating about how I feel about insisting on a site visit. It usually makes my contracts go better, but it’s also awkward to arrange reimbursement if I’m not in the sytem, etc.
O'Reilly Software Architecture/Velocity
The Lead Developer London
Full Stack Conference London
Texas Scalability Summit