The work history serves as a nice interview warmup and is a good gauge of a candidate's ability to communicate. A bad answer is to mumble out what's on paper in front of you. A good answer will reframe the question in terms of what the job ad described.
The weakness question tells me how introspective you are. Someone aiming at self mastery that has a big picture view is going to give a vastly different answer than someone fresh out of school that's read an advice column and thinks they're a rock star.
"What's your greatest weakness" is an awful question. As a candidate, you never really know what the interviewer's angle with that question is. Almost no candidate will answer it with complete honesty, just like a wife asking her husband "does this make me look fat?", and for the same reason--any answer you'll give will be used against you, with only a vague, remote chance that it'll help you at all. It's also lazy and arrogant on the part of the interviewer, since it implies that instead of actually probing the candidate's expertise and skill and history for weaknesses, they're going to sit back and let you volunteer something and save them the effort. There are less adversarial ways to probe for a candidate's point of view on their own development.
There are exceptions for these rules. For instance, if you're hiring salesmen or spin doctors, you can ask just about any question and see if they try and turn it into a sales pitch for themselves. Likewise, if you're hiring someone into a position that involves negotiation, watching how they game their way through the "what's your greatest weakness" question could be instructive. For my part, I'm glad my field has actual technical substance that I can be interviewed about.
Finally, there are a lot of unspoken cultural assumptions with these kinds of questions as well, especially with regards to selling yourself. Americans sell themselves--other cultures don't necessarily. This might be another difference between engineers and the rest of the workforce. Engineers are far more scarce, and you're forced to pull from a global candidate pool, or at least from a local candidate pool that's already pulled in lots of immigrants. In other fields, it doesn't actually hurt you to have more implicit biases in favor of American candidates because there are plenty of American candidates.
Around here, we hire technical people based on substance, not salesmanship. What the fuck do you do?
It's part of an interview process that includes an in depth review of your projects and roles, a technical screen, some design questions, et al.
"Wtf do I do"? I don't hire people that become belligerent over or flustered over simple meta level questions.
You might reconsider your negative bias towards "spin", btw... http://www.codinghorror.com/blog/2008/10/the-one-thing-every...
> It's part of an interview process that includes an in depth review of your projects and roles, a technical screen, some design questions, et al.
It sounds like we agree there. The background question is essential. Behavioral questions are essential.
My problem is with the idea of agonizing over how you're going to spin your answers to these questions. It should just be a pretty straightforward conversation, and a fair share of the onus is on the interviewer for turning it into a conversation. If you're not willing to do that, that tells me that you, as a potential coworker or manager, are lazy and arrogant when dealing with colleagues or subordinates. Did you forget that the candidate is interviewing the company as well?
"What's your greatest weakness" is a lazy and arrogant question. It's also adversarial and belligerent. To the interviewer, the question is a zero at best because you'll never get a brutally honest answer to it. To the candidate, the question is a red flag. Asking the question is never a win, and neither is answering it.
Finally, while I've mostly accepted in my own life that a little bit of salesmanship and negotiation is needed to get by in the world, I simply don't think it's a good hiring criteria for engineers. Ten times out of ten, I want a colleague who is brilliant technically and a little naive rather than a colleague who is merely competent but a great bullshitter. I think it's much more important to select for "not an asshole" and "enough of a grownup to behave professionally" than salesmanship. Crucially, this is something I try to evaluate on both sides of the interviewing table, and I will think you're a bit of an asshole if you ask what my greatest weakness is.
I much prefer to ask what they have done in the last year to improve as a developer, and what they feel they need to do in the next year.
But as an interviewer, you always have to be wondering how honest a person is being. That's why you also do an in-depth examination of their past projects, and ask them to design something.
Of course, but you don't want to exacerbate the problem by making it socially difficult for them to think honestly and clearly.
After an initial screening (minimal technical competence, etc.), and a review of work samples already prepared, I think a walkthrough of "what have you done, and why", starting as early as possible, makes sense. It's not just passive "I worked at X, Y, Z", but trying to actually understand the candidate and his motivations. It's interesting to explore what someone didn't do as much as what they did do. The point of being comprehensive is that it's much more difficult to come up with a bonus story with that level of detail while keeping it consistent, and the most interesting stuff is not the overt things ("I worked on guidance systems") but all the details and motivations.
This could easily take 2-3h even for a 30 year old. Doing it without 1) being a dick 2) psychologically taxing 3) being confrontational is the hard part. I'd personally rather have a 2-3h interview/talk with a manager or founder, and a half-day of technical stuff, than sit through 8 interviews with people I won't be working with doing a combination of technical and non-technical.
Then, work-product sample, as close to the actual work as possible.
This is like the ancient Chinese exams which assessed applicants' suitability by their knowledge of classical poetry. Of course people who are very well prepared or smart will do better in aggregate and with certain biases, but this doesn't mean you are measuring what you claim to measure.
I've never not been offered a job after an interview with that line in it, though I think it's only come up twice.
But this answer is unlikely to be the worst thing about you. You probably do have character flaws which affect your work. It's just that digging into them won't do anything except give the advantage to someone else who kept his mouth shut.
I submit that what this question really does is test fit to a certain corporate culture. There's a tacit understanding that you are supposed to come up with some token flaw to use. People oblivious of this will either overshare or obviously deflect the question, and people who are stubbornly honest will also not give the expected answer.
This kind of obliviousness or stubborn honesty can be a political liability. E.g.: if you are asked about your boss's or team's or company's worst weakness, you should also offer some bullshit token flaw which isn't really meaningful, because this determines their futures too.
If a culture isn't specifically built to put honesty ahead of politics, politics will quickly take the lead and honesty will be a casualty.