Scott blogged about the Rockstar programmer. Maybe a coincidence, but yesterday I read this other article in the same topic. Then I found this from Joel. They all accept the existence of Rockstars. However while Scott and Shanley emphasize the importance of "Rockstar Team" over "Rockstar Programmer", Joel says that you have to build a Team of Rockstars. The context is the difference here and Joel is the only one aware of that. As he rightly pointed out, a successful software company has no choice but to build a team of Rockstars, while in-house development rarely requires or can afford that. I would go further. Because mediorce/average programmers would struggle to work with rockstar's code, it is in the best interest of the in-house development to avoid rockstars. They won't enjoy the environment and they will leave. Their replaceability (however inappropriate this word sounds here) is limited and very expensive.
Pairing "step back and think" devs with "crank a lot of pretty good code out" devs is a recipe for a good team. - Scott
"Crank a lot of pretty good code out" doesn't make a Rockstar in my dictionary. Rockstars don't need somebody else to "step back and think" because they do that when necessary.
Calling out rockstars demotivates the team. - Scott
If you call yourself a Rockstar, you are not one. - Anon (I can't find where I read this.)
Besides, if your team is like Joel's then this would only motivate the others to become even better.
And a funny side-note: Scott works for Microsoft. Microsoft is a software company. Joel uses Microsoft in his examples. And earlier he also justifies the success of Wal*Mart. Is Microsoft the Wal*Mart of software companies according to Joel?