

The Developer Divide: When Great Companies Can't Hire - tadruj
http://www.nirandfar.com/2012/01/developer-divide-when-great-companies.html

======
sbierwagen
Since Nir didn't bother telling me what Pinterest actually _does_ , I checked
for myself, and it appears to be... a Tumblr clone.

A Tumblr clone with $27 million, and a bunch of users, but so what? What are
they actually doing any different from Tumblr?

~~~
danielharan
Your behaviour is exactly what is described in the article.

There has to be something different, since users are joining Pinterest in
droves. Non-techie women on my FB feed are raving about it.

How about you ask passionate users of Pinterest why they find it so fun?

~~~
Turing_Machine
"Non-techie women on my FB feed are raving about it."

Exactly my experience. The pins I see in my FB feed are almost exclusively
from women, and are almost all non-technical (fashion and home decor seem to
be very popular). I've never seen anything with this level of uptake for that
audience, except maybe Facebook itself.

Pinterest gets non-techie women. It's going to be huge, IMO.

------
tadruj
I think that companies like Pinterest don't need lone wolf type of developers,
but should look to buy whole shops of quality developers who are currently in
the wrong business, but have the brain to architecture and scale.

~~~
nireyal
It's a good idea but the practicalities of finding a recruiting an entire shop
from overseas makes it very difficult. I think hiring local engineers is the
only way. What could Pinterest do to attract more local talent?

~~~
kls
_What could Pinterest do to attract more local talent_

Please note that I am not implying that Pinterest has this problem, but one
thing that cannot be discounted among some start-up technical teams is out and
out arrogance on the part of the team. I cannot count the times that I have
seen a really good developer (top of the 10Xers) not get a position because
the interviewing technical people did not like an aspect of the individual,
specifically the aspect that they wrote code differently than the companies
technical people. Two different skilled technologies can implement the exact
same solution in very different technical implementations. Generally the
hiring technologist will fall back on excuses like well his use of X leads to
an unmaintainable system when in fact X may be very maintainable for that
developer and how he thinks. The point being there is a huge problem in this
industry when in comes to hiring that can be summed up by two observations
which are: different solutions do not equal bad solutions, and lack of
knowledge on the part of the interviewer does not equal a bad solution. Far
too often those are the conclusions that are drawn though out of self
reinforced bias. Again I am not saying that this is the case with Pinterest,
but they should check their process to ensure that they are not doing it to
themselves. I have always contended that in this industry it is more expensive
to have a false negative than a false positive, a false positive will surface
within a week on the job, a false negative is lost forever and possible so is
their social circle.

~~~
coffee
> ...different solutions do not equal bad solutions, and lack of knowledge on
> the part of the interviewer does not equal a bad solution.

You've hit the nail on the head (generally speaking, not directing this
towards any one company).

There are so many scenarios that lead to an interviewer being in the position
they are in, and many times they just don't have a clue (sorry, but it's
true).

What impresses one person, turns another off. One company could be headed by
someone who just learned Python (for example) and only knows one way of doing
things. Any deviation from "their way" and that interviewee sucks. While
another company could be run by someone who has broad multi disciplinary
experience, and loves the fact that this interviewee solves a problem in a way
they currently do not.

It's a crap shoot...

My experience has been that the people starting companies have VC funding
dumped in their laps, are pushed to scale out their engineering team, not a
lot of engineering experience behind them (they've been coding in one language
for a year or two) and just don't know what talent really is. They just miss a
lot of talented people, and then proclaim there are no good engineers
available. It's a tough spot to be in... But a theme I'm starting to see
emerge more and more...

~~~
kls
My personal experience is the good/bad developer ratio is closer to 50/50
(with 10Xers on the top extreme and 10-ers on the bottom) than what is
perceived in the industry. The rest is chalked up to differences of
development practices because development is closer to a craft than a science,
but when it comes to interviewing for many interviewers their brand of craft
is the science and anything that does not, or cannot in the course of an hours
interview conform to it is a bad developer.

It is the reason that I have a long history of railing against the use of
whiteboard tests in the interviewing process. I have seen case after case
where interviewers hold applicants to a standard that they themselves do not
maintain in their code. It is why delivery is the #1 indicator of a good
developer, and in my opinion #2 is respect among peers, if a developer has a
large network of developers that respect them, which can be verified via
references, then they are a strong candidate. I have meet very few developers
that can deliver a product who where not able to adapt to the way a team
builds a product once they are in the door or adapt the team to their process
if it is seen to be superior.

~~~
coffee
> I have meet very few developers that can deliver a product who where not
> able to adapt to the way a team builds a product once they are in the door
> or adapt the team to their process if it is seen to be superior.

Good point, and I totally agree. But how does one figure out the history of a
developer delivering products? Or how does a developer let others know that
they deliver products?

Sure, references are great, but they must be taken with a grain of salt. No
one is going to provide a reference that is negative. And if you sleuth a
reference on your own that comes up negative, you have no context as to why it
was not positive (personal differences, the reference you found is genuinely a
bad egg, that person was intimidated by the skill level of another, etc...).

I see a lot of people try to overcome this limitation with the "provide a link
to your github account" statement. But that shows nothing of a persons ability
to deliver software they have created for various companies who don't expose
their code bases publicly.

To me, this is a very strong, yet unmet need to be filled...

~~~
kls
For me, what I do, and what other in the industry advocate is to look at
something they have built. Have them walk you through the functionality of
using the software while narrating the code. Ask them questions, what part of
the code base are you most proud off, what was the most difficult. How did you
keep from stomping on other team members code. People are very forth coming
when they talk about stuff that they know and passion and mastery show up
pretty quick as in this format. Now I do understand that there are developers
that for whatever reason do not have anything to show. When I run into this
case, I look for nothing more than passion, if they have it I will offer them
a junior role at a junior rate, if they claim to be a senior I tell them that
I will match their rate (with back pay) that they are looking for in 30 days
time, if it is proven to be the case once they are in the door. In 30 days I
have my teams evaluate whether they qualify as a Senior.

For references I look for nothing more than I am a developer at X and I think
s/he is good. To me it is a vote by someone that claims to know software. I
look at the applicants Linked-in profile and see how many developers they are
connected to. If I struggle to find a few technical people, then I get the
feeling that something is wrong. Conversely if they are connected to a good
deal of developers then it is an indicator that they are at lest mildly
respected in development circles. It's not a science, but I bat a pretty good
average when it comes to hiring.

My theory is that passion + above average intelligence + the proper
environment = good developers, my job is to create that good environment,
which I see as circular, an environment filled with passionate, intelligent
people can be the seed of a proper environment.

I think people overcomplicated it because development is complicated, but
hiring developers is not that complicated for a technical person, they just
have to abandon some biased views that the industry reinforces. The first
being never hire for a position, if you are looking for a senior developer but
a passionate junior walks through the door, don't loose the opportunity
(assuming you are not totally boot strapped and can't afford it). Conversely,
if a Senior in your or your teams network becomes available pick them up. If
one of your team members respects them chances are they view their skills as
at a peer level. You should accept your technical talents, technical judgment
if you don't they have no business working on your technical systems at a
senior level.

------
dsolomon
Finding quality people is easy. Finding a quality company is the difficult
part.

~~~
qq66
I think both problems are equally hard.

