My job interview process has been rather interesting. Unlike most people in my field, I am not willing to work anywhere other than my hometown of New Orleans, because I care much more about my family and my girlfriend than getting a job at a place like Google or Facebook. However, I was contacted by Google, Microsoft, and General Electric about positions in California. I decided go as far as I could in my interview process, just to experience it. I managed to get onsite interviews with GE and Google, but did not receive offers from them. When I went to California, I had some of the most stressful days of my life. I was frightened by how many factors influence the results that would not affect a real life working position. For example, by my fourth interview of the day with Google, I could barely think straight. I had a relatively simple problem in front of me, but for some reason thoughts were not connecting at all in my head. I don’t think the work environment in Google is that stressful, and if it is, then I wouldn’t want to work there. Also, one of my interview questions involved a problem that I learned in class literally two weeks later. If I did decide to accept a job at Google, I would know the relevant algorithms by the time I started working. I think the one thing that would most improve the interview process would be detailed descriptions of why a company chooses not to hire a person. This seems like the best way for a person to understand what would make them a better employee, and maybe they could take the time to gain the missing skills before applying again later. Wouldn’t Google want more candidates who gained the skills that Google has said they wanted? How can people interested in working at Google do this if Google doesn’t tell them what they need to learn?
I think the general interview process is decent, but has a lot of room for improvement. Since computer science is a relatively new discipline, it will take time for companies to learn best how to find the best employees for them. As Jeff Atwood writes, the whiteboard interviewing style is not the best solution. “Whiteboard interviewing is a discrete skill, much like being able to remember Pi to a thousand decimal places. And students of programming are spending a disproportionate amount of their time mastering this skill instead of practicing real software development by building projects, maintaining legacy code, or contributing to open source.” From an ethics perspective, companies do not seem to be doing anything unethical. They can still be ethical if they are not getting the best employees for themselves. However, if companies are discriminating in any way, they are definitely acting unethical. Dan Luu writes that “We like to think that we’re different from all those industries that judge people based on appearance, but we do the same thing, only instead of saying that people are a bad fit because they don’t wear ties, we say they’re a bad fit because they do, and instead of saying people aren’t smart enough because they don’t have the right pedigree… wait, that’s exactly the same.” There is a difference between primarily accepting employees who don’t fit as well in other work cultures and accepting employees regardless of whether they fit a certain work culture.