I had the opportunity to interview with Garmin in Olathe, KS a couple of weeks ago. The first interview was with HR and the interviewer asked basic personality questions such as describe 3 major lifetime achievements, describe your ideal workplace, etc. It was a little more in depth than the 30 minute phone screen. I was told I would have 4 technical interviews with different managers throughout the day, lunch, and a tour.
It started out pretty well I thought. During the first 2 interviews, I was asked intermediate questions about C++ and Java, my work experience and asked to solve some problems. One question was to describe the difference in an STL string and a Java String. I didn’t do very well on the problem solving. My nerves got the better of me and I just couldn’t think clearly in that high pressure situation. I do better taking a problem to my desk and working through it in silence. Something I need to work on for future interviews… but anyway…
There wasn’t a single question on design patterns, which every good programmer should be familiar with. And nobody asked to see my code which they told me to bring.
The 3rd interview is what got me. The interviewer was a low level programmer, ( OS, device driver level ) guy, and he began asking me bit twiddling questions. When I told him those are things I studied for certifications years ago, but nothing practical I have used in my over 9 years of experience, he seemed annoyed. The position was for an application programmer, so I didn’t review this kind of low level programming questions. “I know how to build houses, not bricks and nails.” That’s what I should have told him, but didn’t. Then he asked me to implement a bubble sort algorithm on paper while he’s looking over my shoulder. Again, I just couldn’t do it. Sure, I know what a bubble sort is and yes I have used it. But in practice, I have never had to implement one. There is already a good implementation in every major language, so why should I. I build houses. ( which is what the position was for ) If I had been prepared for this sort of questioning or just graduated from college, I could have answered these questions without any problem. ( I didn’t tell him any of this, but it’s what I was thinking. ) So the interviewer kindly told me the interview process was over and escorted me to the door. I said no problem.
This is a very green group of people. All the interviewers, who were mostly managers, were under 30. They definitely value academic knowledge over years of practical real-world experience. And it seems they expect you to know about everything, rather than focusing on your skills and experience you can bring to the company. If you just graduated college, this might be a good place for you, but if you have real experience I wouldn’t bother.
Now here is the real question. There was no technical phone interview. So why did they fly me out to Kansas when they are clearly looking for a certain type of person. Yeah, they paid for my expenses but I wasted 2 of my vacation days for nothing. I could have saved us both some time and money if I knew up front what they were specifically looking for. It seems very odd to me. Usually a company will fly you out to headquarters when they are really serious about hiring you. The only thing that comes to mind is it’s a big tax write off. Makes you wonder.