A rant about job interviews...
-
I "enjoyed" one phone interview with a drone from HR who was working through a series of screening questions. The fun started when the accepted answer they were looking for was wrong. Since it was HR, I couldn't give any argument as to why it was wrong. I was moderately happy I did not progress further within the interview process. But one really "fun" interview with an HR drone dealt with the question of "How many Z-80 programs have you written?" I had been programming in assembler languages for multiple CPUs for several years and had just finished a 9 month project on a monster embedded application written for the Z-80, so the truthful answer was "One." No matter how massive the application, no matter how much experience I had, "One" was not an acceptable answer. As I was leaving, I saw an acquaintance in the waiting room. I knew he also had written in Z-80, but his programs tended to be no more than 50 lines of code, so I knew then he would be hired because he would answer "Hundreds", even though they did very little and were written as hobby on his TRS-80. But the worst interview I had was one I didn't know was going to be the worst at the time. The interviewer was going to be my supervisor and was very attentive and respectful all during the interview. Once I was hired, that all vanished, she was the boss and was not going to let me forget it. She was respectful during the interview because we were basically peers and she had no authority over me at that time.
Psychosis at 10 Film at 11 Those who do not remember the past, are doomed to repeat it. Those who do not remember the past, cannot build upon it.
-
Those who do not remember the past, are doomed to repeat it. Those who do not remember the past, cannot build upon it. For efficiency, should not this read: Those who do not remember the past { are doomed to repeat it. cannot build upon it. } ;)
-
Hmm... I've never had HR ask me any serious questions. That would be very odd. Everything I'm usually asked by HR is stuff thats clearly on my resume or salary requirements. I've had quite a few HR people pressure me into interviewing for a job that I had no business interviewing for or had no interest in. One small company was writing a stock market analysis tool and wanted me to contract for 2 weeks. I basically said "no thanks". The HR guy wouldn't take no for answer. Kept begging with me, pleading with me to come in. Even became a bit beligerent. Finally I just went in. Didn't take the job and wasn't offered on either. Haha.
My encounters with HR appeared to be caused by the HR representatives needing to justify their existence by being gatekeepers wanting only the "best" be passed on to the department with an opening. I had one place that I had talked with the person who would be my supervisor and he was satisfied with my skills, but I had to go through the gauntlet of HR to get a job offer. The HR manager I ended up talking with, was a bit miffed that I had talked to the supervisor first. He declared all my skills "hearsay" and just as I was winding up for the punch, he realized his error and turned suddenly to pick up the phone and confront the supervisor about me. Listening to only his side of the call was amusing because it was obvious the supervisor was giving him an earful and demanding that I be able to put in an application. The HR manager relented by demanding I present an expanded T&E (Training and Experience) document to augment my resume. After doing so and meeting with a different HR drone, I saw they had taken a highlighter to my document and highlighted only the buzzwords. I was assigned a score of 27, meaning that HR had determined there were 26 people more qualified than me for the position. The policy was to take the top three and send them to be interviewed in the departments they had applied for and repeat as necessary. Two months later, I was called back. Seemed that the other 26 were not interested or qualified for the job. I was eventually hired. On the other hand, I've had headhunters try to present me for any and all openings, whether or not I was qualified or interested. After telling a headhunter I had no interest in working with Oracle databases, even though I had experience with them, they sent me to a place where they sacrificed a goat every morning on the altar of Oracle. When I complained about my wasted interview the headhunter said, "They do Unix as well." But the real prize was the interview I had at a company that at best offered a shorter commute. They wouldn't pay me any more than I was making at my current position, my vacation time would be reset to two weeks, down from my current four, but they promised to pay me a massive bonus at the end of the project they wanted me for. I asked for them to put it in writing. They refused and the headhunter couldn't understand why I passed on that excellent opportunity.
Psychosis at 10 Film at 11 Those who do not remember the past, are doomed to repeat it. Those who do not remember the past, cannot build upon it.<
-
My encounters with HR appeared to be caused by the HR representatives needing to justify their existence by being gatekeepers wanting only the "best" be passed on to the department with an opening. I had one place that I had talked with the person who would be my supervisor and he was satisfied with my skills, but I had to go through the gauntlet of HR to get a job offer. The HR manager I ended up talking with, was a bit miffed that I had talked to the supervisor first. He declared all my skills "hearsay" and just as I was winding up for the punch, he realized his error and turned suddenly to pick up the phone and confront the supervisor about me. Listening to only his side of the call was amusing because it was obvious the supervisor was giving him an earful and demanding that I be able to put in an application. The HR manager relented by demanding I present an expanded T&E (Training and Experience) document to augment my resume. After doing so and meeting with a different HR drone, I saw they had taken a highlighter to my document and highlighted only the buzzwords. I was assigned a score of 27, meaning that HR had determined there were 26 people more qualified than me for the position. The policy was to take the top three and send them to be interviewed in the departments they had applied for and repeat as necessary. Two months later, I was called back. Seemed that the other 26 were not interested or qualified for the job. I was eventually hired. On the other hand, I've had headhunters try to present me for any and all openings, whether or not I was qualified or interested. After telling a headhunter I had no interest in working with Oracle databases, even though I had experience with them, they sent me to a place where they sacrificed a goat every morning on the altar of Oracle. When I complained about my wasted interview the headhunter said, "They do Unix as well." But the real prize was the interview I had at a company that at best offered a shorter commute. They wouldn't pay me any more than I was making at my current position, my vacation time would be reset to two weeks, down from my current four, but they promised to pay me a massive bonus at the end of the project they wanted me for. I asked for them to put it in writing. They refused and the headhunter couldn't understand why I passed on that excellent opportunity.
Psychosis at 10 Film at 11 Those who do not remember the past, are doomed to repeat it. Those who do not remember the past, cannot build upon it.<
BrainiacV wrote:
My encounters with HR appeared to be caused by the HR representatives needing to justify their existence by being gatekeepers wanting only the "best" be passed on to the department with an opening. I had one place that I had talked with the person who would be my supervisor and he was satisfied with my skills, but I had to go through the gauntlet of HR to get a job offer.
The whole interview process is pretty broken IMO. To get a programming job, you often need to go through a few email communications back and forth, then a few phone calls back and forth, then at least one in-person (I don't mean speaking to one person, I mean, coming into the company -- sometimes you have to come in several times). There is often days or weeks in between contact, and it ends up taking 2 - 3 months to get through the process. Current company I'm interviewing with, I'm about a month into it and haven't even gotten to the in person yet.
BrainiacV wrote:
Two months later, I was called back. Seemed that the other 26 were not interested or qualified for the job. I was eventually hired.
And you took it? and are still there? I guess if I was out of work for a length of time and needed a job I would have taken it too :), but if I had a job and was trying to jump ship, I certainly would pass I think.
BrainiacV wrote:
On the other hand, I've had headhunters try to present me for any and all openings, whether or not I was qualified or interested.
Yeah, I get called for a lot of positions I'm not qualified for. I'm a Windows guy (C++, MFC, C#, WinForms, WPF, etc) and I get a lot of calls wanting me to do C++ on Linux or embedded and then they wonder why I fail the interview :).
-
BrainiacV wrote:
My encounters with HR appeared to be caused by the HR representatives needing to justify their existence by being gatekeepers wanting only the "best" be passed on to the department with an opening. I had one place that I had talked with the person who would be my supervisor and he was satisfied with my skills, but I had to go through the gauntlet of HR to get a job offer.
The whole interview process is pretty broken IMO. To get a programming job, you often need to go through a few email communications back and forth, then a few phone calls back and forth, then at least one in-person (I don't mean speaking to one person, I mean, coming into the company -- sometimes you have to come in several times). There is often days or weeks in between contact, and it ends up taking 2 - 3 months to get through the process. Current company I'm interviewing with, I'm about a month into it and haven't even gotten to the in person yet.
BrainiacV wrote:
Two months later, I was called back. Seemed that the other 26 were not interested or qualified for the job. I was eventually hired.
And you took it? and are still there? I guess if I was out of work for a length of time and needed a job I would have taken it too :), but if I had a job and was trying to jump ship, I certainly would pass I think.
BrainiacV wrote:
On the other hand, I've had headhunters try to present me for any and all openings, whether or not I was qualified or interested.
Yeah, I get called for a lot of positions I'm not qualified for. I'm a Windows guy (C++, MFC, C#, WinForms, WPF, etc) and I get a lot of calls wanting me to do C++ on Linux or embedded and then they wonder why I fail the interview :).
BrainiacV wrote:
Two months later, I was called back. Seemed that the other 26 were not interested or qualified for the job. I was eventually hired.
SledgeHammer01 wrote::
And you took it? and are still there? I guess if I was out of work for a length of time and needed a job I would have taken it too , but if I had a job and was trying to jump ship, I certainly would pass I think.
This is basically ancient history, I was applying for the job as a computer operator. In the interrum I took a job at another company that advertised the position as "computer operator", a better term would have been "data tech", it was running bursters, card sorters, duplicators and interpreters. They took me to the computer room door and let me peer in the tiny window and said if I was good, in two years they'd let me in. So when the other job finally was offered, I jumped at it. I got to run two computers during third shift (why nobody wanted it) and any time left over after running my assigned jobs, I could use as my own. I used to rewrite the programs to make them run faster and easier. The other operators loved me, the system programmers hated me because I made them look bad. I was trying to go through the backdoor to get a programming job. I learned a lot about usability and observed the effect of hardware on the software. Did a lot of time/motion studies to improve operations.
Psychosis at 10 Film at 11 Those who do not remember the past, are doomed to repeat it. Those who do not remember the past, cannot build upon it.
-
Oh, this is one of my favorite rants. As the software industry has grown from a few thousand practicing developers in 1980 to like 2.5 million today, the average intelligence of developers has declined from something like 130 to (as you'd guess) around 100. That means the chance of interviewing a moron who doesn't know what he is doing is far higher today than it was 25 years ago. Prospective employers must at least attempt to screen out the morons and poseurs to try to find the actual capable developers. In 1980 there were no standard libraries. Everyone knew big-O notation and a long list of algorithms because everyone needed to know. Today we have two tiers of developers; those who just plug standard library code together in long tedious strings of login pages and add/change/delete screens, and a small core who actually do new and different stuff. A prospective employer wants to know which kind of developer you are, so they can set your pay accordingly. So yeah, you don't need to know big-O notation to get a job, only if you want a good job at a top company that won't get outsourced next month. Remember what I said about I.Q.s dropping? Same thing applies to managers (though perhaps from a lower initial level :-)). So you get coding tests, which don't screen very well and which filter out experienced devs who have a few more years between them and their data structures class. It's easy to administer a coding test. It's gratifying to the managers' ego to watch candidates squirm when they know the answer already (sometimes). But you know what? You're selling and they're buying. If that's what they want to buy, that's what you have to sell. Suck it up and deal with it. You get paid rather handsomely to meet their stupid expectations and pass their stupid coding tests.
Member 2941392 wrote:
As the software industry has grown from a few thousand practicing developers in 1980 to like 2.5 million today, the average intelligence of developers has declined from something like 130 to (as you'd guess) around 100.
In the same time frame - Possible library calls have grown from thousands to millions if not tens of millions. - Total supported lines of code for average/large companies have grown from thousands to tens of millions or higher. - Total problem domains where expertise is often needed to solve programming problems has grown from tens to certainly hundreds of thousands if not higher. - Very strict straight line problem solving for small problems with limited rollouts versus wild, wild west every man for him/herself on massive applications (this is a management, not a technological problem.) Given that I seriously doubt that any very course measurement such as IQ has anything at all to with anything. And realistically attempting to blame any supposed failures now versus claimed lack of such in the past on anything except just the vast increase in complexity is probably just missing the impact that complexity has.
Member 2941392 wrote:
In 1980 there were no standard libraries. Everyone knew big-O notation and a long list of algorithms because everyone needed to know.
Your kidding right? I now routinely create applications that have vastly more lines of code than entire operating systems of that time period.
Member 2941392 wrote:
Same thing applies to managers (though perhaps from a lower initial level :) ). So you get coding tests, which don't screen very well and which filter out experienced devs who have a few more years between them and their data structures class. It's easy to administer a coding test. It's gratifying to the managers' ego to watch candidates squirm when they know the answer already (sometimes).
In my experience "managers" don't ask technical questions in interviews. They ask developers to do that. Maybe you are referring to a person who I would more likely refer to as a 'team lead'.
-
I have the unhappy duty of performing many of the phone screenings at my company. I believe in the interview process we have in place, but I don’t relish the prospect of putting a candidate through hell. Whether the process is just or not, there is no joy in seeing a candidate crumble or get upset. After all, the hope is we are going to find a successful candidate and I will be working with this individual possibly for years. I am rooting for the canidate because a hire means less technical screenings I have to give. I would like to run through my screening process to this audience as, like you, I’ve been subjected to horrible interviews. I’d be interested in knowing if the following sounds fair while gathering the necessary information to judge a candidate. Personally, I too feel that I never shine in interviews but typically prove myself to be a MVP in my team or department within 6 months of starting a new job. Nobody likes being asked them, but I believe in the technical questions I ask. I’ve helped shape the technical screening process which is customized for each candidate. It is 30 minute screening which breaks down as follows: • Establish adequate place to talk; put candidate at ease (2 min) • Quick run through CV establishing levels of experience. Ask a few questions about interesting technical accomplishments. Don’t let the candidate talk about a project or company, but press candidate in to divulging details of personal contributions. If candidate persists in talking big picture, skip this step. (6 min) • Ask a half dozen probing questions from a list of 50 which assess the candidate’s soft skills. This set of questions is customized per role and experience. General questions gauge interest in various aspects of technology, pitch general scenario what if’s, and allow candidate to deep-dive on specific technical accomplishments where I encourage details. This is where seniors shine and where juniors don’t but the importance of this section is weighted based on this candidates skills and salary expectations. (12 min) • A series of quick-fire .NET / DB questions ranked by difficulty and sorted by category. Junior candidates do best at these as they sometimes cram them. But this is where they need to shine as they probably won’t have much to offer in the probing questions above. If any particular skills, say threading or Linq, are mentioned above in the CV I make sure to ask questions on that area here. I endeavour to put the candidate at ease by saying no one gets everything righ
newkie wrote:
• A series of quick-fire .NET / DB questions ranked by difficulty and sorted by category.
Presumably those classifications are based on actual testing of the questions to determine success and failure rates along with comprehension of the question itself.
-
newkie wrote:
• A series of quick-fire .NET / DB questions ranked by difficulty and sorted by category.
Presumably those classifications are based on actual testing of the questions to determine success and failure rates along with comprehension of the question itself.
The reason I'm not a big fan of "quick-fire" questions as judging a persons ability is that anybody can come up with an obscure question thinking that it was common knowledge because they just worked on it. Somebody else in this thread posted about a question they got where they were asked to come up with a compact way to store intervals (i.e. 0,5 3,10 1,7) etc. so they could quickly search to see if they could come up with an unused number. So the poster says he said he would use a linked list of interval objects. I googled it because I was sure there must be a standard way of doing that. There is. An interval tree. If I interviewed 100 "C# experts" and asked that question, I bet < 5 would have ever heard of an interval tree. At Google, I was asked about a skip list... while probably a more common structure then an interval tree, I'm betting very few of those 100 could explain either. Asking somebody tricky questions during an interview is a test to see if they are clever, not if they are good software engineers.
-
The reason I'm not a big fan of "quick-fire" questions as judging a persons ability is that anybody can come up with an obscure question thinking that it was common knowledge because they just worked on it. Somebody else in this thread posted about a question they got where they were asked to come up with a compact way to store intervals (i.e. 0,5 3,10 1,7) etc. so they could quickly search to see if they could come up with an unused number. So the poster says he said he would use a linked list of interval objects. I googled it because I was sure there must be a standard way of doing that. There is. An interval tree. If I interviewed 100 "C# experts" and asked that question, I bet < 5 would have ever heard of an interval tree. At Google, I was asked about a skip list... while probably a more common structure then an interval tree, I'm betting very few of those 100 could explain either. Asking somebody tricky questions during an interview is a test to see if they are clever, not if they are good software engineers.
SledgeHammer01 wrote:
The reason I'm not a big fan of "quick-fire" questions as judging a persons ability is that anybody can come up with an obscure question thinking that it was common knowledge because they just worked on it.
Exactly. I was once in an interview where the interviewer asked me a rather obscure C++ question. I answered it. I thought it was an amusing coincidence that I had answered exactly that same question in the past week or so on a forum. And I commented on that to the interviewer. From the embarrassed silence that followed I could only suppose that the interviewer had used that question and my answer for the interview.
SledgeHammer01 wrote:
An interval tree. If I interviewed 100 "C# experts" and asked that question, I bet < 5 would have ever heard of an interval tree. At Google, I was asked about a skip list... while probably a more common structure then an interval tree, I'm betting very few of those 100 could explain either.
Yep. The actual way to use such questions is to create one, then ask the current technical employees of the company to answer it using a written form of the question. Then evaluate the answers and questions about the question itself to create not only a better question but also an understanding of what are reasonable answers to expect.
-
SledgeHammer01 wrote:
The reason I'm not a big fan of "quick-fire" questions as judging a persons ability is that anybody can come up with an obscure question thinking that it was common knowledge because they just worked on it.
Exactly. I was once in an interview where the interviewer asked me a rather obscure C++ question. I answered it. I thought it was an amusing coincidence that I had answered exactly that same question in the past week or so on a forum. And I commented on that to the interviewer. From the embarrassed silence that followed I could only suppose that the interviewer had used that question and my answer for the interview.
SledgeHammer01 wrote:
An interval tree. If I interviewed 100 "C# experts" and asked that question, I bet < 5 would have ever heard of an interval tree. At Google, I was asked about a skip list... while probably a more common structure then an interval tree, I'm betting very few of those 100 could explain either.
Yep. The actual way to use such questions is to create one, then ask the current technical employees of the company to answer it using a written form of the question. Then evaluate the answers and questions about the question itself to create not only a better question but also an understanding of what are reasonable answers to expect.
The problem with places like Google, Microsoft, Amazon, Apple, etc. is that they have no interest in improving the interview process because they are Google, Microsoft, Amazon and Apple! If you or I don't want to work there, there are millions of people that do and will quietly put up with the process. I think "the process" is what some of these companies do to filter out people who are going to be argumentative once they get hired or go against authority. The people that do get hired at places like that have an arrogant attitude because they're working there and you're not.
-
Ryan Speakman wrote:
Not going to play these wasteful little games
Whatever. If you want to work for them, you have to play their games. You can blow off one company for being too funky, but you can't do that at every interview, so eventually you gotta play.
Of course. I agree with that. Fortunately, though, I've had enough options over the years that I haven't needed to brainstorm the process for making melt-in-your-mouth-not-in-your-hands candy pieces in order to remain gainfully employed... In case I do get desperate and have to come up with a clever answer, any suggestions? I've actually Googled this, and, apparently, Mars (the company that makes M&M's) isn't very forthright about their manufacturing procedure... They must have something against programmers...