Hacker News new | ask | show | jobs
by SomeCallMeTim 5064 days ago
Are they really talking about Ninja-Rockstar engineers, or "only" developers at the 10x end of the Mythical Man Month spectrum?

Because you can hire a junior engineer close to that end of the spectrum. It's just harder to know whether they are really that good without seeing a track record.

From the article:

>The rationale you'll typically hear is along the lines of "a great developer is 10x as productive as a mediocre one." That might be true, but it is an impractical startup hiring strategy.

So...they grant that "it might be true," but recommend that, instead of hiring someone on the 10x end of the productivity spectrum, you should instead hire ten "cheaper" developers? At the bargain of $70k/year each instead of an expensive $107k per year for one of them?

Oh, and don't forget to throw in the cost of a more experienced lead to manage those 10 junior programmers, because they won't manage themselves.

Someone isn't really thinking about the math here. Or they like to spend their Series-A funding like it's going out of style.

Don't get me wrong; there's a place for junior programmers in a start-up, after you've gotten enough 10x programmers. There are lots of programming tasks that don't need the 10x programmer and frankly are a waste of his or her time.

But there are also a lot of tasks (depending on the start-up) that require a 10x programmer (or better). Past a certain level of complexity, 1x programmers will never be able to solve a problem well. Even if you had ten of them. [1]

What people don't realize is that the 10x programmer isn't a rock star/ninja -- as Joel said a while agao, you're not actually hiring the top 1%. [2] The best developers all just have jobs and aren't looking most of the time.

[1] http://www.joelonsoftware.com/articles/HighNotes.html

[2] http://www.joelonsoftware.com/items/2005/01/27.html

2 comments

The best developers all just have jobs and aren't looking most of the time.

Sounds like another good reason to focus on hiring recent grads, career changers, etc., to me. You just have to figure out a way to predict - better than chance - which ones will become great developers. Whether or not that's doable is, I suppose, an open question.

I guess the question is whether startups, who are usually in intense competition and working against the clock, have the time and energy spare to lead people through that process. I wouldn't have thought so.

A good place for juniors to start would be in normal web shops, not high-pressure startups.

Do you think Tesla Motors grabbed a few engineering grads and shop floor assistants, chucked them in a room and hoped they'd "grow into" knowing how to make an electric car? Of course not - for a startup like that, timely and accurate execution is absolutely critical and they would have hired the best, most experienced people they could get. I don't see why software startups are any different.

>"I don't see why software startups are any different."

You don't see how a photo-sharing app is different than starting an electric car company?

That's a problem. I also think that's the point of the article: 99% of startups don't need rockstar developers. They aren't doing earth shattering engineering. Most startups need competence and nothing more. If they actually hired on that basis, it would help the eco-system.

We're talking about software. If what you're doing is easy, you're doing it wrong; automate it and shatter the earth under the competition that's still doing it by hand. There are always opportunities for earth-shattering engineering in software.
Do you think Tesla Motors grabbed a few engineering grads and shop floor assistants, chucked them in a room and hoped they'd "grow into" knowing how to make an electric car?

No, but that's a bit of a red-herring, as A. none of us (presumably) know anything about the actual composition of the team at Tesla in the early days, and B. nobody is suggesting to take a handful of grads, chuck them into a room, and let them sink or swim. What I'm suggesting is to utilize a mix of experienced people and fresh grad / inexperienced types, and do what most companies fail to do these days... actually provide the training, education, mentorship and support that help inexperienced people become top-flight people.

Well, if you're talking about employee #1, then yeah, I think you need experience. But my point is to get into the mold of hiring people that can grow into roles, as early in the process as you can. I also tend to think that a good team should have a mix of people with different levels of skill and experience.
Well, I agree, but the article doesn't even have the word "mix" in it, it's "juniors good, seniors bad or at least probably unnecessary".
I took it as implicit that they were advocating having at least some senior level people, as one of their bullet points was to "provide mentoring." If there aren't at least some senior people, who would be doing the mentoring?

It's a fair point, though, that TFA doesn't really go into detail about the exact composition of a team that they are suggesting.

I agree -- as I said above, you can get close to the 10x end of the spectrum from a recent grad.

In fact, I don't know that productivity goes up a lot after that point. Experience does, which certainly improves your OVERALL productivity, but I know that I was much faster at cranking out code as a new college graduate than I am now, so it might balance out.

Or maybe I'm just too old to be in the trenches, but too stubborn to leave them. ;)

You don't actually know that the developers you want are all people employed somewhere else, that is just a heuristic you use to make recruitment easier.