Some time ago I had the distinct pleasure of listening to Eric Miraglia talk about the sheer number of knowledge areas (extremely conservative estimate: 672) that a professional Web developer uses to turn out a modern site that's not going to break an A-grade browser. This came hard on the heels of another cycle of are-they-or-aren't-they-really-engineers posts and replies, and my conversations at SXSW, which inevitably swerved to "hey, are you guys hiring?" (The answer seems to be a resounding "yes" ... see careers.yahoo.com, for details.)
All of it made me think about why it's so hard it is to find good, qualified Web developers. Ater participating in almost two years' worth of interviews I've seen some amazingly talented people walked out the door, because they didn't measure up in areas they don't teach in the Computer Science department. If you land a job at Yahoo!, it looks to me like they're convinced of your strength in some or all of the following areas. Important: I don't work in HR, so these are my personal observations, and should definitely not be taken as anything official.
1: You Bring World-Class Talent to the Table
This may or may not be a dealbreaker, depending on the job you're looking at. But for best results, be able to at least fake your way through this list:
You can turn out old-school tables and cutting-edge CSS in your sleep, and have no trouble switching methods, sometimes on the same page.
You know the advantages and disadvantages of separating data from style and style from interaction.
You're clear on the major presentation-layer differences between Web browsers, can identify the hacks most commonly used to get around them, and know how to abstract those hacks into a separate layer, so they can go away when those old browsers go away.
2: You Have a Track Record of Outstanding Achievement
In addition to your resume, which is of course available on your spiffy cutting-edge personal Web site, there's a long trail of evidence that you've been doing what you say you can do for as long as you say you've been doing it:
You've written a popular computer game.
You've patented, copyrighted, or trademarked something.
You founded (or are active in) a thriving online community.
You don't flame about choice of operating system, programming language, or methods of interaction between the two.
You understand that other people's feelings are as important to them as yours are to you.
You have a sense of humor, and you're not afraid to use it.
You don't walk around with a black cloud over your head. You're approachable and likeable. In other words, you give other people the impression that they will have positive emotional experiences if they interact with you.
4: And Finally, You Have a Life
Yahoo! isn't your father's employer, unless of course your father already works here. They're not looking for people who are going to clock in, grind away until they're 65, and retire without ever changing the social landscape.
You're an artist, a musician, an athlete, a poet, a writer, a scientist, a philosopher, or a standup comedian.
You've got family, kids, or other connections to communities outside of work.
You understand that the Internet is a means to an end and not an end in itself.
You're not in it for the money. (Hey, you'd be building another startup if you were, right?)
And finally: you do what you do not out of a sense of obligation or a feeling that it "needs" to be done, but because you simply can't conceive of living a life where you don't. And you're not afraid to look like a fool by saying so.
While much of this list is Yahoo!-centric, you should keep in mind that most other companies don't treat their front-end people like engineers. As far as they're concerned, Web development is not engineering. It's IT, or design, or a bastard mix of the two; most times, the categories don't even overlap in the org chart. So if it looks like you qualify under all four of the areas listed above, you ought to be able to land a good job doing front-end work at any company in the world, not just at Yahoo!