Showing posts with label Joel Spolsky. Show all posts
Showing posts with label Joel Spolsky. Show all posts

Saturday, June 30, 2007

Ben There, Done That

I used to read Joel on Software religiously. (I recently saw a film with Ed Norton and Naomi Watts where he plays a doctor who goes out to China where there's an outbreak of cholera. Anyway, Naomi Watts, who plays the wife, was trying to use the phrase "religiously" in the same way I'm trying to, but of course, she's trying to say it to a nun, and wants to use a different phrase instead. But, I digress).

I'm sure reddit had as much to do with my distractions, and that I've started to peruse sports, and even Gabe's Techmeme.

If I were cool, I'd have an RSS feed, but I find it clutters up way too much, and most of the articles I see seem like crap. I just don't bother. Thus, Joel, who these days writes rather infrequently, is someone that's generally fallen off my radar.

Recently, as in today, he reviewed two books on management. It's intriguing that management always has time to read books about management, but the commonfolk developers rarely find time to read about development. You can read into that as much as you want, as there's certainly many ways to read it.

One of the books he's reading is by a fellow named Ben Casnocha, who had a startup by the time he was 19. I've only met a small handful of people that have been that driven, that young, and still, many of them don't try a startup.

You'd think I'd say something intelligent about his book, or what it must be like to be that young and come up with ideas.

No.

I fixated on something far more inconsequential.

And believe me, it is inconsequential.

It's Ben's name.

A little over a year ago, I met with three of the guys working at Fog Creek. One of the three is named Ben. Ben Kamens graduated from Duke, did an internship, and now works full-time. He's also pretty tall. That's incidental. He's now one of two Ben's at the company, the other one apparently writing a Smalltalk book (I had sent an email to Ben K. and he said no, no, it wasn't that Ben, but the other one. And that one's from Duke too).

Now, Joel's company, is what, maybe 15 people? I had thought he ran 30-40 people, but you need a fair bit of cash influx for that kind of business. Instead, Joel is more frugal, thus requires no VC money. He tries to pick his developers carefully. (One consequence tends to be that you have few to no women). Given that Ben is already an uncommon name, and then having two of them, then to say the phrase "Ben, Ben, Ben" as if he were Jan Brady complaining about the adoration of her older sister, makes you think, does Joel utter this phrase often?

I'm sure he can divide his mental faculties between making a comment about the Ben he's talking about, rather than his employees. And c'mon, the venture-some Ben, who he says is good looking and smart (two qualities that tend to work well together, unless they become insufferable in the process), has a webpage that seems like worship to Ben. Really. Check it out. Looks a little like Tom Brady. Great orthodontics, eh? People who smile too much seem a bit weasly to me.

For some reason, I've taken a perfectly legitimate article of a potentially wunderkind entrepreneur, and blogged about the guy's name. And that it coincidentally is the name of two of Joel's employees. Heck, I bet that other Ben is good looking too!

Of course, it gave me a great excuse for the punny title of this blog entry.

And I feel, as this is the end of the month, I want to catch up to the number of blog entries from May. Got one more day to do it too!

Wednesday, November 15, 2006

Is Joel Spolsky Right About Hiring?

Joel Spolsky is opinionated about hiring great programmers. That's fine. He recognizes that great programmers produce at a rate that's gaudy compared to the average programmer. There are certainly people smart enough to be a great programmer, but lack the will to do it. Thus, in principle, a Ph.D. in computer science is bright enough to figure out most of the complexities of programs, but it may frustrate them to no end to actually do it.

But Joel has the luxury to hire as he wants. As I've pointed out numerous times, his blog allows him to get some fame, at least, in enough circles that he can get talented programmers to apply. Needless to say, without his blog, he'd find his talent pool far, far thinner.

There's still an additional issue. Joel is cautious about how much business he takes on, and indeed, the worst thing that could happen to Joel is to have a project that requires two dozen programmers to accomplish. He'd have to reject such projects, because he needs the time to find the programmers he wants.

Indeed, even places as vaunted as Google or Microsoft who try to hire the best, may end up having to "lower" their standards to get enough people to do what needs to be done. Having said that, this lowering of standards often leaves them with people that are still far above their competitors.

Joel does get one thing right, and it's somewhat sad, but true. He assumes that great programmers are, well, born, but not made. More properly, there's some things you can teach to improve the skill of a programmer, but that takes effort most companies are unwilling to take. They'd prefer that programmers have already reached the stage that anything they need to learn, they can learn on their own.

And someone like Joel wants programmers that show good judgment, meaning they don't get distracted on coding or research that doesn't pertain to what needs to be done, and yet be careful enough not to write quick and dirty code that forgets to deal with strange cases.

The point is that, given his company, he has the luxury to refuse people, because he never has the need to have, say, 20 people hired in three months. He simply couldn't find that many good people because as well known as Fog Creek Software is, it's still an elite community that's heard of them. They lack the day-to-day recognition that Microsoft and Google has, and this is even among people who program for a living.

Indeed, Joel could almost say "I wouldn't hire someone who had never read my blog or heard about the company", because it means that person isn't savvy about the technical world around them. These are the same folks that are likely not to have heard about Ajax, Web 2.0, Reddit, Digg, and so forth.

And of course, I haven't even bother to talk about the fact that if you take his philosophy to the extreme, then any talk he presents to colleges (and he has been doing that lately) could start with "Most of you, I would reject in a heartbeat. You're not good enough to work for my company, and frankly, most of you shouldn't even be working at all, because if I would reject you, so should everyone else".

That's, of course, far too mean to say, because it might scare off the good people too, who usually aren't so narcissistic to believe they are the best (a few believe that, but they can be a pain to work with, especially if they are right--which makes it a reason to avoid hiring them as well).

This strategy is basically like professional sports. Most people playing college sports will never make a living as a professional, and frankly, they don't. They have to seek alternatives. To be fair, those that make it to the pros are handsomely compensated. And to be fair, if you're above a certain level in programming competency (which might be a bar set very high), then you can have as many of that skill of programmer as you could want.

What I mean is this. Competitive sports directly pits athlete against athlete, and as athletes get better, what used to be good enough is no longer good enough, because they have to compete against better players.

This is less the case with programmers. If you're smart enough to understand algorithms, graphics, math, etc. and you're able to master new material and software quickly, and you're savvy enough to decide whether you should take path X or Y, then you're probably good enough to be a top-notch programmer. And anyone who can pass this threshold should be good enough. Theoretically, that can be as many people as you'd want.

Practically, it's hard to get programmers to this level, because it takes a certain attitude and intelligence to reach here.

To sum up (which I find I need to do often), hiring as Joel suggests is not often feasible unless you can control how much work you need. This is exactly why Joel refuses to do consultingware. He simply lacks the manpower to do that, and this would force him to hire someone just to get stuff done, and therefore, people he'd ordinarily reject, he'd have to take a second look. And unlike the mostly fuss-free management he does now (or his second-in-commands), he'd really need to have someone to budget, manage, cajole, teach these folks so they could get stuff done.