First was a short phone interview asking some basic questions about my background, resume items, and personality questions. Had a Skype interview (since I'm not located near their headquarters) a few weeks later with a few team leaders within Garmin. They asked more specifically about resume items, basic programming questions, and gave me a code exercise. For the exercise, they gave me a function (in C) and asked me to walk through the code and determine its purpose and a few potential flaws with the code. I was expecting an in-person interview as well, but to my surprise they called with an offer a few days after the Skype interview.