Why You Didn't Get the Job
jobtipsforgeeks.com
jobtipsforgeeks.com
The one that can really swing my vote one way or another is the lack of passion. To be clear you are probably passionate about something, and I don't mean "getting paid to work here." For example when I was with Google (and even earlier at Sun) I interviewed candidates who were passionate about wanting to work at the company but were not passionate about any thing in particular the company was doing. Their passion was 'to be employed by <company X>' and I would ask them "Ok, so lets say we hire you and you've achieved your goal, now what are you hoping to achieve?" only to get crickets. That is always hard to get past.
Unfortunately, some segments of the recruiting industry do encourage this behavior. Once a programming language or framework is established, it can be difficult to get a job without direct experience. There's a short, narrow window of opportunity when a technology first appears where nobody has much experience and people can learn on the job, and that's the magic moment to gain experience. Queue the stampede. For instance, when EJB hit, a lot of Java devs thought that if they didn't gain experience with this new technology quickly, they'd be shut out. And I did start to see job postings that specifically required EJB experience, not just general java experience.
I get the feeling that the industry has moved away somewhat from this type of skills matching, but hacker news can give you a distorted view on how things work. Lack of experience with a specific technology is less likely to hurt you here than with a consulting/body shop attempting to put square pegs in square holes. But even this article recommends that you gain deep experience in a technology and avoid becoming a "jack of all trades" (while at the same time advising against being a fanboy for a specific technology). This isn't necessarily inconsistent - there is a meaningful difference between being a fanboy to the exclusion of all else and being an expert with depth in a particular technology, but it can be a tight line to walk.
I think the fanboy comment would be attributed to someone today walking into an interview and saying they 'only want to work in (specific language)', which would be a turnoff to most companies. Having passion for a technology is good and engineers will always have preferences, but being willing to help out where you can will have greater value.
I'm completely passionate about development. I do freelance work, I build stuff outside of my 9-5 job, I go to conferences and meet-ups locally. But I know developers who are much better JavaScript and Ruby guys than me. They have more experience, but don't do nearly the same amount of stuff outside of work that I do. Does that "lack of passion" about the industry and their profession make them a less worthy candidate than myself?
But, in general if you're hiring for long term, the passionate, growing candidate will surpass the superior but stagnant candidate.
1) Can the candidate do the job?
2) Can I work 8-10 hours a day, 5 days a week, under stressful situations with this person?
I've had candidates just rip apart their past co-workers and previous companies. Sure you might have some gripes with how things were done at your previous company, but make sure you don't end up portraying yourself as someone that is difficult to get along with.
Sure - people have families and not everyone is geared up for 18-hour work days - but sometimes the sky is falling and companies need an employee that isn't going to disappear out the door at 5:01 PM when the place is burning with a "well that's me for today! good luck guys!"
I haven't really ever been required to work overtime but I've always emailed my boss before I left for the day to ask if there was anything else he needed before I took off for the day. I don't want to work overtime, or like it, but will if something needs to be done. I don't like the culture where everyone sits at there desk for an extra 15 minutes because they are afraid to be the first one to leave.
Overtime should be reserved for emergencies, not for demonstrating passion or commitment.
What an asshole.
P.S Why is the Wordpress stament at the top in Ruby?
Candidate has wide technical breadth but little depth and related: not uncommon, particularly for folks that have perhaps bounced from job to job a little too much
I think this describes me, though I'm not sure how to define technical depth here. The only benefits I can see (technically) from staying at a company for more than a year or so would be greater domain knowledge and perhaps a greater understanding of the long-term implications of architectural decisions.
As for technical depth in terms of skill, IME I've found that job-hopping has dramatically increased the speed at which I've been able to gain expertise. For example, I've worked at some places where, for cultural reasons, there's no call to do fat-client javascript applications, with more of a focus on server-side technologies like stored procedures. Conversely, where the front-end stuff was more important, I got much better at organizing large javascript codebases and creating web services to interact with them. Had I worked at only one or the other, I would have lacked technical depth in the area I was missing out on.
Candidate displayed a superiority complex or sense of entitlement -
Guilty as charged! Unless I'm being hired as a consultant, I generally tend to wrap-up interviews when I realize the technical staff I'd be reporting to don't have as much technical ability as I do (for my own, entirely subjective measure of technical ability). Also, I don't work with PHP, Java or anything related to Microsoft.
I'll also disqualify companies where I feel like they have bad process, or if there's any social weirdness in the interview (I've experienced everything from off-the-cuff anti-Semitism to the interviewers shouting at each other). I don't mind a flexible work schedule, i.e. I work late on a Tuesday and then I go home early on a Wednesday, but overtime without pay is not an option.
Candidate talked more about the accomplishments of co-workers -
Programming of any significance is a team sport. Sometimes a potential hirer will ask "Do you have any experience with problem X?" and my answer is often "Yes, alongside other developers" or "Not directly, but I was involved in discussions about X when we were dealing with it at #{company_name}" or even "No, but I was talking about X with #{someone} at #{some_tech_meetup} and he said they were trying #{some_solution} which sounded like a sensible strategy. I think it's probably better than #{other_solution} because it means that #{benefit_of_first_solution}".
As long as I discussed some of the tradeoffs of various options and managed to adequately demonstrate my understanding of the technology, I think the interviewers were happy. I feel somewhat uncomfortable taking full responsibility for achievements at any company I work at, because in practice it involves mulling over ideas, discussing pros and cons and coming to a solution together.
RE: entitlement - I don't think what you are describing is a superiority complex as much as coming to a realization that you are more senior than the person - no complex, just a fact I'd say. Companies that have bad process should be off limits for you as well, I don't think that is entitlement but rather some basic expectations. Not being willing to work at all with PHP, Java or MS could be perceived as entitled if everyone else has to dive in on those from time to time.
Agreed with your ideas re: co-workers. The key being that you demonstrate the understanding. It's not so much about claiming responsibility as it is about being curious about your surroundings and interested in things beyond your individual contribution to the project.
My experience bears this out. In one of the best interviews I had the interviewer essentially picked items off my CV and asked me more and more about them until I was forced to say "I don't know". This was supposedly deliberate (i.e. they wanted to see a) how much knowledge I actually had and b) what I would do at the limits of it). I came away from that interview with no idea of how well I did, but I got the job!
> Not being willing to work at all with PHP, Java or MS could be perceived as entitled if everyone else has to dive in on those from time to time.
In a tougher market I might be singing a different tune, but at the moment there's just so much work out there that I think the average developer can afford to be a little picky, or entitled as it were. Not saying it's right, it's just what it is.
[Also, there can't be that high of a demand for engineers, because I've been denied jobs for the most trivial of reasons. I was denied a job once for not being able to answer a Python trivia question about something that took me 5 minutes to learn from the Python documentation.]
There is also the question of where you work, saying that anyone can get hired is fine, but if you're only offer is working in the local office of an offshore company with dictatorial management from abroad, that's not necessarily a fun choice.
I read this as a nice treatise on things that you may not realize are pretty influential in the hiring decision but aren't related to your technical skills per se.
Today is over tomorrow.
And if that's too subtle for you. The short-sided find themselves quickly unemployed.