14 comments

[ 2.6 ms ] story [ 44.2 ms ] thread
Seems like good advice! Thanks for the article!

The one bit I don't think is a good idea is: "An alternative is to negotiate a rate for a trial period for a small feature, and tell her you’ll pay the full rate if the project goes well"

Just pay the full rate! Sure, hire for a trial run but don't insult your developer with old "just do this one thing cheap and there will be properly paid work later" line. For a good developer there is properly paid work available NOW, why should she work for you cheap?

Agreed - That part stood in stark contrast to the rest of the section, which otherwise is good advice, imho.
I don't know. Take contractors. For many types of heavy lifting, a good contractor who is also a lead dev etc may be justified in asking for 100 dollars an hour or more, simply due to the complexity, their accumulated experience, and just how good and fast and right they are in a tech that's in demand. However, for every person like that, there are n who do not justify a hundred dollars an hour. So, isn't an OK compromise to start at 40 dollars an hour and see if they can do the work of 3 days (or a week or three weeks, or 'unusable') of one of the 'other' devs, more quickly or just better and more reliably, and if so, bump their rate to 100 dollars an hour as they're asking for? Think like Oracle/SAP specialists etc who would do something like build a complete database and web shop, front-end, back-end, everything from scratch for a traditional brick-and-morter store.

To take an opposite example, consider a designer and logo creator. Short of a portfolio, which many designers are not able to provide except to say, look at this, this, and this web site, which they did not work on alone, it is simply hard to know how much they contributed and how much was the art director, other designers, etc. Some designers are independent and bring customers who pay well and basically justify any rate for themselves. (e.g. fifty thousand dollars for a new worldwide corporate logo for a fortune 500 company). Others are worth fifteen dollars an hour. Don't you think a good compromise might be a decent rate (25-40 dollars) for something small, then bump to awesome rate if, well, they're awesome?

Naturally this only works if there is actual trust from both sides. But you would never pay fifty thousand dollars for a logo by someone who only knows microsoft paint and sucks using it -- or even ten thousand or even five thousand -- nor would you pay 100 dollars an hour to a "hadoop engineer" (your requirement) who turns out to not be a hadoop engineer, barely know some html and php, and even with php can't do anything that you want or need. Nor would you pay 80 dollars nor 60 dollars an hour to that person.

So if there is trust that you're really looking for top talent -- and the dev's bullshit detector doesn't go off -- why not do this: "Rather than you doing 10 hours of unpaid phone calls, resumes, interviews to get to 100 dollars an hour -- your next gig -- why don't you do 8 hours of work for me and get to the same place. This applies only if you're worth 100 dollars an hour"

Then if the person is not lying (they're worth 100 an hour, they're an actual hadoop contributor and ju one of the best in the world), and you're not lying (you really want to pay that, for really such a person), it all works out.

No.

You have an adverse selection problem. If you're looking to hire really great contractors, then you're mostly looking to hire people who have continuing work with their extremely happy customers, leads that their extremely happy customers referred to them, etc. They don't need you that badly.

So, you ask them to work for $40 an hour for, say, a week. They could make at least 4x that if they worked for other clients. Why should they, the super awesome coder, take you on as a customer? You're asking them to pay a big opportunity cost for business they don't need that badly, and you're showing that you're price-sensitive, and are likely to try to get a discount off their full rate after the trial too. The people this will most scare away are the very best, the ones who don't need you, the ones you really want to keep.

So yes, do a trial if you're not comfortable committing to a big contract with them. But treat the difference between the rate you want to pay for the trial and their rate as part of the cost of finding great talent. Don't squabble over what's going to end up being a very small percentage of what you pay the person over their whole time with you at the risk of sending the best talent straight out the door. It's too great a cost.

Also, if you want great talent, double your expectation of what contract rates should be. $40 an hour as a contract rate in a 1st world country is not a "decent rate".

I guess I didn't make what I had in mind more clear, as I didn't finish "if they can do the work of 3 days (or a week or three weeks, or 'unusable') of one of the 'other' devs" correctly." I meant, "in a day".

What I really had in mind is about a day's work, like an extended interview, but paid. Basically, someone saying, "Look, I don't know how to tell a hadoop expert from someone who can only code bad html and bad php", so instead of three unpaid interviews before you land your next job, how about one 8-hour paid interview (320 dollars). If you're what I'm looking for I'll hire you on the spot, but if you're just full of BS like the last three guys I couldn't tell were BS artists, when I'll just have to make do with a tiny bit of progress.

My point was, interviews are also an opportunity cost, and that not being able to tell apart bad php coders from awesome database engineers is also an opportunity cost. Also I don't know what market you have in mind, but 40 dollars an hour is more than what someone who just does some html and php badly (i.e. couldn't complete fizzbuzz) is worth in almost every city. That would be 80k per year salary.

I think the point is to bridge the gap between "completely unpaid interview" and "I have to pay you 100 dollars an hour for a week". How about an 8-hour or 4-hour "free trial" before I take you on full-time at 200k per year? Only instead of actually free, I'll actually pay you 320 dollars for your audition. Seems like this beats the hell out of doing two or three unpaid interviews...

I guess you just don't like this idea. But samples are typical in loads of professions, you can get sample tiles, and so on. Not for free. Why shouldn't you pay for a sample at a rate that is not the rate you will be buying the full product.

Maybe my specific examples are for a different market (always hard to say where people are writing from: is it the bay area, or a smaller city) but depending on what the developer and company are looking for and their stage of financing, etc, this can enable fits that otherwise just can't happen. Both of them take a risk (the shop that is non-technical and can't tell who is the right one, the developer who doesn't really want to work for 4 or 8 hours for 160 or 320 dollars) but if they do, it can pay off. When there is trust I just don't see why this is so bad. Loads of long relationships form this way (paid at normal market rates or higher - higher, explicitly due to the fact that the client is not in a position to shop around, can't do technical interviews, etc. Wouldn't you want a client like this? Where if you prove your ability above their other candidates, they can't find a replacement for you and are going to pay you approaching the "monopoly price" - what the business case makes your services worth to them?)

Dev: "thanks for your time."
Be honest. We're talking about a place that can't judge you in an interview. If you had the chance to work for 20% more being someone who mattered (since they can't shop around), but they had no way to differentiate you from people worth less than 15 dollars an hour (non-coders pretending to be coders), you wouldn't accept an 8-hour "interview" doing something small but useful for them for 300 dollars? The up-shot is you would start working the next day at your 'monopoly rate', versus going through rounds and rounds of interviews at all sorts of other companies. Those other companies have tech ways of giving you interesting problems and being competitive. These guys just have money to throw at you. (But no way to differentiate you from non-coders).

I guess I'm not thinking about an all-tech shop (like a web startup) so much as a business that needs a specialized dev and has no one technical enough to judge them on board.

> Be honest. We're talking about a place that can't judge you in an interview.

Be real. That place is competing for employees with folks who aren't playing games.

"Come work for us, we're clueless" isn't a selling point.

> The up-shot is you would start working the next day at your 'monopoly rate', versus going through rounds and rounds of interviews at all sorts of other companies.

Why do you think that those are the only alternatives?

Big generalization here, but if you only need one specialized dev and have nobody on board who can judge them, then you probably don't need the best dev possible anyway. I'm imagining a non-tech company that just wants a functional website. If you're not looking for the best possible person, and just want to make sure you're not wasting money on some schmo, then this approach is probably fine.

The responses you're getting are from the point of view of a tech-based company. Because your approach has no advantage for the top-notch dev, who at the moment is in a white-hot market and able to write their own ticket at a company that IS able to judge their ability and isn't going to try to get some cheap work out of them.

Points to consider:

★ The "work for less" argument sounds like a weasel game. If you're playing weasel games before I've even started working for you, what are the odds that you'll continue playing games? Pretty high, I'd say.

★ $100/hour for an SAP consultant or a Hadoop expert? Give me a break - that's the rate for a reasonable dev who can build a system themselves.

★ There's usually not a lot of opportunity cost for decent developers when interviewing, since they'll already be employed or doing lots of contract work (and turning more away). A couple of phone calls or emails, or an application or two is usually all it takes.

So... remind me why I should come work for your hypothetical company again?

Shameless self promotion:

After many years of being a CTO/Head of Dev I started to write down (Toc exists ;-) the stuff I know. This is based on the CTO School workshops I did.

https://github.com/StephanSchmidt/CTO-Manual (will be CC)

You can leave comments and later pull reqs there. Every input much appreciated.

The author provides excellent advice in this article. I'd like to add one point. Developers, who work close to a UI, should really start learning more about design. You increase your own value by having a good eye for UX and how a UI embodies it.
"You can negotiate with a developer on her rate, but if it sounds reasonable, it probably is. Keep in mind that there are plenty of other people out there willing and able to hire her for what she quoted. And, if she feels like she’s been out-negotiated and she’s not being compensated what she’s worth, chances are she won’t prioritize your work over other work (or over other, more fun things). Or, she’ll find someone else who will pay her rate, then leave you hanging. I’ve seen it over and over again."

So true. The lowest price is only the best price if you're never going to deal with the person again, but in general you want people who do business with you to make money too so that they keep doing business with you. The price you pay for something, and the degree to which you negotiate, sends a strong signal. You don't want that signal to be adversarial in situations like these, for the reasons described.

Finally, a lot of people see margins from negotiations as easy money, or say things like "I'm a good negotiator." The first is only somewhat the case, saying the latter is not only bad manners but reveals what a person thinks of the role of others is in their success. A negotiation sets the terms for the relationship, and if your terms are bad, people will get out of that relationship or set you at a low priority, at best.