> "So I emailed him one day and said “hey, I want to do this right and I want you to know I appreciate your work. I’m raising the contract to $6,000 [from 4k].” He didn’t ask > for that, I just did it. Now, can I directly measure what impact that’s had? Not really. But personally, I feel better working with him."
For me, that's plain stupidity. As you say, your company is small and $4,000 is a lot of money. You didn't mention if it's for a bigger project so I'll assume it's for fairly similar one.
You show appreciation for someone by coming back to them rather than paying more for same service. It's one of the most important rules of business.
When you'll approach him for twice as big project, he'll expect $12,000 and a little more instead of $8,000 he deserves and with which he thinks he's paid enough. People tend to get comfortable too quick when giving them things they didn't ask for.
I'd advise a slightly different approach. Keep coming back to him and keep an honest relationship. If he isn't happy with something (attitude, finance aspect, terms or anything else), let him know you're open to discuss anything.
But that are just my two cents and if it's working for you, why not? I know it wouldn't work with me and my team.
Given the astounding productivity ratio between a great developer and a mediocre one, a treat like an unexpected bonus is a very good way to ensure loyalty. If he's an unexpectedly good developer who was underpriced due to external market factors, his price will go up anyway once those factors are stabilized. Better to be the customer who recognized and rewarded his value first - that will make him loyal to YOU, and willing to go an extra mile later.
Otherwise, you're just waiting til you need him again, and you can't get him, because he's booked and you're Just Another Customer.
edit: This made me think of a delightful documentary, "Herb and Dorothy", about a couple of ordinary middle class New Yorkers who became major collectors of modern art. They were always bleeding edge and bought from a lot of later-famous artists when those artists were deciding between rent and food some months. So later on, the artists would be rich and famous, but still cut special price deals for Herb and Dorothy, deals ordinary collectors would never get - because they were the first buyers to recognize the artist's worth.
I think the productivity ratio can be overstated often.
Most developers are highly productive at doing the sort of work that is within their comfort zone.
If the work is reasonably well specified and straightforward (i.e producing a bunch of web forms , rather than requiring algorithm research) then the productivity limit is often down to typing speed.
I've had that exact experience. If you want to bump the contract, you can give a "bonus" that's not part of the base services.[1] This keeps your agreement clean and emphasizes that you are rewarding behavior above expectations. I often use early completion bonuses with contractors, especially when they're T&M and I have another project lined up for them.
To be clear, this project is a 100% rewrite of my current app. It has a ton of additional functionality, is built much better, includes a store for IAP's of additional reading content, etc.
It's my bread and butter.
While I could have gone back to him with another project in the future, I wanted to make sure this project went great. It's a "bet the company" project and in the overall scheme of things $2,000 isn't that much.
Can you imagine how great you'd feel to get an email from someone saying they decided to increase your pay by 50%? Wouldn't you do your best work for them?
> Its almost like you rubbed it in my face I could have charged more.
Yeah, I've been on the receiving end of this. It made me feel like a chump (even though I knew I was charging right about market rate for it.)
"Hey man, something has come up and I could actually use this 3 days earlier than we agreed. If you meet the deadline, I'd like to offer a $2K bonus" would neatly sidestep this and should still fulfill the author's desire to get quality work.
I've seen this before as well, where doing someone "a solid" actually results in higher expectations for all future interactions, and a feeling that they were cheated in all past interactions.
Plain stupidity might be an exaggeration but it's kind of like paying $6 for a bag of apples to assure they're good enough for you even though the price is only $4.
Bottom line, it was unnecessary. It eliminated some of the risk but with the 'top notch developer', as you call him, it's unnecessary.
As I said, people tend to get very comfortable and I've seen people put in much less effort when they're paid more.
For me, that's plain stupidity. As you say, your company is small and $4,000 is a lot of money. You didn't mention if it's for a bigger project so I'll assume it's for fairly similar one.
You show appreciation for someone by coming back to them rather than paying more for same service. It's one of the most important rules of business.
When you'll approach him for twice as big project, he'll expect $12,000 and a little more instead of $8,000 he deserves and with which he thinks he's paid enough. People tend to get comfortable too quick when giving them things they didn't ask for.
I'd advise a slightly different approach. Keep coming back to him and keep an honest relationship. If he isn't happy with something (attitude, finance aspect, terms or anything else), let him know you're open to discuss anything.
But that are just my two cents and if it's working for you, why not? I know it wouldn't work with me and my team.