

CTO vs. Lead Dev - MMcCreery
http://www.thedailymuse.com/entrepreneurship/working-with-developers-9-ways-to-make-their-life-easier/

======
almost
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?

~~~
troels
Agreed - That part stood in stark contrast to the rest of the section, which
otherwise is good advice, imho.

~~~
its_so_on
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.

~~~
jackowayed
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".

~~~
its_so_on
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...

~~~
its_so_on
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?)

------
daniel-cussen
"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.

------
Uchikoma
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.

------
bpyne
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.

