I applied through my university's job portal. Alarm.com saw my resume and gave me a call in early September 2013. The caller was friendly; we talked about my resume, my experiences, and they asked me some behavioral questions.
Then, Alarm offered me an on-site interview a week later. They paid for my flight and the hotel. However, my plane was delayed about 3 hours and I ended up in an airport an hour away in Baltimore. Ended up taking a taxi to DC with two others and then to Vienna alone. Due to an address mix-up, didn't get to my hotel until 2 am. Luckily I woke up for my 9 am interview.
I went to the waiting room first where I waited with 3 other candidates. I ended up going through the interview process with 2 of the candidates (we interviewed separately at the same time).
The on-site interview consisted of a series of one-person interviews. In order:
-A lead device engineer talked to me about my resume and asked me a brainteaser
-Another lead device engineer gave me a PCB and asked me to identify all the components on it. In addition, he asked me to identify common acronyms used in microcontroller and embedded programming (SPI, I2C, UART, etc.)
-A sheet with some basic coding questions
-Lunch with some employees and the two candidates. We had good conversation.
-An engineer interviewed me and asked me a C coding question with bit-shifting
-The CTO interviewed me and we talked about why I wanted to join Alarm.com, etc.
I had a great experience with the interview process. Everyone was very friendly and enthustiastic about their work. The engineers are all young; most of them have been out of college for a year. The culture is like that of a start-up, but Alarm.com has been around for 10 years and has carved out an established niche for the market that it's in.