

Out of necessity, tech startups are changing the way workers are hired - shalmanese
http://www.slate.com/id/2265202/

======
cageface
Tech startups are at least partly to blame for this as well. I've seen so many
job postings requiring years of experience in _exactly_ the same combination
of technologies the company itself is using. I know it's harder to hire people
for their innate abilities than it is for the number of years they've done
rails or django or rspec but if you're going to be that inflexible you've got
nobody but yourself to blame for the empty desks.

~~~
yxhuvud
I think you are adressing job postings in the wrong way. See it more as a
wishlist and not as something with hard limits.

Sure, you still have to be able to fit the role they want or replace someone
else that can fit the role, but don't overestimate the importance of the
requirements.

There might be a case to take them really serious if the job posting really
differentiate between what the candidate _have_ to know and what they wish
for. Other than that, don't take them too hard.

~~~
Daniel_Newby
> There might be a case to take them really serious if the job posting really
> differentiate between what the candidate have to know and what they wish
> for.

That _is_ the problem. Very many of them say things like "flash in the pan
technology X a must" or "latest silver bullet Y mandatory". They are basically
advertising that their start-up only hire liars and people who actually
believe management consultants. And then they are surprised that all the good
people run away screaming.

RethinkDB says "For that matter, you think SQL is a terribly designed
language." Oh, dear. Refined by the hardest of the hard-core engineers for
half a century, foundation of the world economy, and they only want people who
have an ironclad, dogmatic belief that it is unconditionally terrible. Good
luck recruiting actual information retrieval experts, guys.

------
Aegean
It's exactly the same problem we are facing. When the job requires very high
technical skills its a dead end. I am looking for talented kernel engineers.
If I go for employing someone high caliber, the costs would be in the 100K >=
range. Not a smooth option for a startup. Also it's still hard to attract them
even if you pay well. If I go for contractors, there is the problem of IP
disclosure. Contractors are probably worse; you disclose IP, pay more, and
they disappear after certain level of training investment. You are back to
square one.

If you get someone with lesser talent, (done twice, and parted ways after
several months) it's also terrible. In this case you usually pay for nothing.
E.g. a month of struggle with code, reaching nowhere, dumping their code. This
happened a few times.

The hiring is also key. If you have 8 high-caliber engineers, it means you get
many times more done. What you could do in one year is done in, say 3 months.
A huge difference for a startup.

I have been thinking about hiring talented grad students like they did, maybe
that's the best way to go. So its really a tough problem with no
straightforward solution.

From the article: _We try to ask about the difference between cooperative and
preemptive multitasking._

I ask what is kernel preemption. Silence. A blocking mutex and a spinlock?
Silence. I think a good candidate should know what event-based and threaded
programming means, and even go further to explain the implications and best
scenarios for both. Its not easy to get that far.

~~~
HilbertSpace
"kernel"? For WHAT operating system(s)? Or do you just expect them, naturally,
to be expert in all of them, so little their efforts are worth, so great your
cash is worth?

Then for WHAT work? Writing device drivers? Tweaking the TCP/IP stack? New,
tricky things in video? For WHAT?

Here is the general situation: A successful information technology startup is
a RARE thing, among entrepreneurs, businesses, and even information technology
startups. So, you are trying to do something RARE. So, being rare helps you
attack a part of the market not attacked well now and have a barrier to entry,
etc. But the 'flip' side of this is that getting people to do the work for you
will be difficult.

Or, if very many people knew how to do what your startup is doing, then your
startup would be in serious trouble.

Net, if you have a good startup, then hiring people to do the technical work
will be from difficult to impossible.

To be more clear, your 'idea' where you want all the technical work done by
others doesn't amount to much.

Here's what you are missing: You need to do the hard technical work yourself.

Uh, for the person you want to hire, they didn't just sit around studying for
the past 15 years getting ready for your startup. And if they are deep into
the internals of the kernel of some operating system and not a company
founder, then they about have to be in a big company where they are likely
reasonably well valued and compensated.

A long, very general lesson in computing is, if you want someone expert in
just the topics you have in mind, then basically you have to PAY them to LEARN
those topics. Sorry 'bout that.

Back to Mother Goose, you look like The Little Red Hen who wants to hire the
other chickens to do the clearing, plowing, sowing, cultivating, harvesting,
threshing, brick laying, milling, mixing, rising, and baking while you own the
business. Nonsense. The Little Red Hen did all her own work -- do yours.

For the Slate article, that was written by a 'writer' who writes on law, etc.
So that writer likely doesn't know much of anything about computing. So,
likely all the writer did was find the two startup persons, interview them
about their struggles, and then make a 'story' out of it.

But the 'story' doesn't make much sense; nearly all the comments to the story
make more sense.

For the recruiters, sure, they don't know dip squat or jack sh!t about
computing. That's a special case of the more general situation: If you want to
hire specialists, then you need specialists to evaluate people. Then both the
people you want to hire and the people to do the evaluations are rare. So,
basically the evaluation has to be done by the hiring manager, and that
manager needs to know the technology quite well or make the new person a co-
founder.

This whole subject just reeks of a nasty attitude: For any project, there are
rivers of highly qualified people, with whatever specialities we need, who
spent the last 15 years becoming expert in what we decided last week we need,
and they will be grateful to move half way across the country for our semi-,
pseudo-, quasi-promising job.

The really rich one was when Java first came out and the recruiters were
looking for people with five years of Java experience! Gee, just call up
Gosling, although then he may not have had such experience!

Nonsense. Special case of, mostly there is nonsense. Necessarily high success
is rare.

For my startup, I am doing ALL the significant technical work myself, with my
own ten fingers. I am making sure that any people I will have to hire will
need only very routine qualifications. The good news is that I know in fine
detail, documented in fine detail, ALL the significant technical work. Some
bad news is that doing all the work myself takes longer. But, nearly all the
work is just learning the tools: So, read for a week and write code for half a
day, and document for a half a week. Sorry 'bout that.

Just do it yourself.

Finally, you are writing about essentially the subject of 'concurrency' in
operating systems. I've never written an operating system, but I have done
some significant work on concurrency, enough to understand monotone locking
protocols, deadlock detection and resolution, and 'fairness'.

For your "cooperative and preemptive multitasking" it seems to me your
terminology is not both well defined and common. So, it looks like you are
deliberately asking tricky questions. I could guess at what you mean and
answer that, but still your question is vague.

Also, any significant chunk of software that wants to do much with concurrency
needs something of a well designed 'architecture' for concurrency. So, just
what such architecture a particular operating system has is open to question;
can't expect one person to know them all.

Similarly for your "kernel preemption. A blocking mutex and a spinlock". Again
I can guess, but I doubt that your terminology is both well defined and
common. I remember what a spinlock was in MVS, but that was a long time ago,
and I have no idea if any other operating system ever did any such things.

Gee, you omitted Dijkstra semaphores!

If you want people who understand some things about operating system software
development and concurrency, for specific parts of a specific operating
system, then focus on those topics.

Are you looking to build a business or to pump up your own ego by claiming
that no one else is qualified to do your work?

~~~
Aegean
For your "cooperative and preemptive multitasking" - it's not my question -
see the link on the article: [http://www.rethinkdb.com/blog/2010/06/will-the-
real-programm...](http://www.rethinkdb.com/blog/2010/06/will-the-real-
programmers-please-stand-up/)

They asked this on RethinkDB interview. I found a similarity and just
mentioned it. FYI its a pretty common terminology.

I also don't care what you think about my ego. I made a candid post for a
problem I am facing. If you criticize that's very welcome but try to make it a
bit constructive.

~~~
HilbertSpace
On your ego, I;m just guessing. It's a common failing.

Broadly you seem to be recruiting a bit too close to the ground, to be
straining over gnats and forgetting elephants. E.g., my best work in
concurrency was at the Watson lab in Yorktown Heights. We had NO trouble
hiring people with lots of smarts, knowledge, talents, and determination. When
I interviewed people, I asked more general questions. So for concurrency, ask
about some really solid topics in the field.

You gave a URL on your terminology: I still don't think that the terminology
is both solid and common enough to use in an interview. Indeed, I would guess
that a real expert in concurrency, e.g., a recent CS Ph.D. who did their
research in the field, would not use such terminology. What a Dijkstra
semaphore is is solid. So, might ask about that. I don't think your
terminology is good for recruiting real expertise.

------
maukdaddy
A big part of the problem is startups that want world-class talent but are
only willing to pay 50k. The economics simply don't work.

------
symkat
Resume: "C/C++, PERL, Python, LISP, Scheme"

Interviewer: "So, we'll start with some really simple questions on the stuff
on your resume. How do you concatenate two strings in C?"

Interviewee: "With a dot?"

~~~
tszming
You can outsource the programing tests to codility.com, it is a great
timesaver.

------
zwetan
here an idea, hire a very very very good programmer or world-class talent,
however you want to name them, and yeah pay them the dough that they deserve.

And have them train/teach those rookies.

that is called: "building a team"

it always amuse me to see some people thinking they can get away having the
cream and the butter for a cheap price.

------
tomh-
I think the other way around is also hard, many startups require such diverse
combination of skillsets that its hard to know what you should learn in order
to be hirable. As college grad student I have no clue what to learn to get
hired by an "exciting" company. The only way seems to learn either the .net or
the java platform as "safe" path, which in turn these exciting companies are
not looking for.

------
dean
This article is a bit of a contradiction. On the one hand, it says:
"Unemployment is chronic in much of the country, but in Silicon Valley,
employees have their pick of jobs."

Then on the other hand it says: "And in four months, the hundreds of resumes,
dozens of phone screens, and numerous four-hour meetings with viable
candidates yielded no one who fit their criteria."

This tells me that the easy job market is there if you are a star. No so much
if you're just 'competent'. But the 'stars' have an easy job market in any
industry.

This company has the same problem as the New York Yankees. The Yankees have an
opening for .350 hitter and it's very difficult for them to find qualified
talent.

Similar problem, but it's worse in Silicon Valley. At least the Yankees will
pay what you're worth if you 'fit their criteria'.

------
techiferous
By the way, this is not just happening in Silicon Valley. It's been very hard
for people to find good Ruby on Rails developers over here in Boston.

