I applied through a recruiter. I interviewed at M&T Bank (Buffalo, NY)
Interview
I was first contacted by a recruiter on LinkedIn, who performed the phone screen interview. This first recruiter was from out of state, and so the interview process continued after being referred to the local recruiter. The local recruiter also performed a phone screen interview, but this was much more basic and only took a few minutes. I then was invited down to the location I would be working at for an in-person interview with the manager.
This interview was great. It still remains my gold standard for how interviews should be done, as well as for what to look for in a company. The manager really seems to know how a team of software developers should be run, and is very knowledgeable about this industry and how it works in general. No micromanaging whatsoever, and this was stressed in the interview. Even the other two developers who were brought in to serve as the panel of interviewers were great.
Not much focus was on overly technical things, as the manager doesn't believe being able to rattle off textbook technical answers is a good indicator of skills or proficiency (and he's 100% correct in that).
However, his recruiter (the local recruiter mentioned above) is honestly not great to work with. He's an extreme micromanager, very pushy, very impatient, and does not tell you everything that you need to do all at once. You're given piecemeal information as you go on each step of the process after the in-person interview (the local recruiter then takes over after interviewing with the manager). Even despite this, though, the local recruiter was actually willing to help and work together to get things done, so he wasn't nearly as bad as most micromanagers are.
Interview questions [1]
Question 1
The manager and his panel really just wanted to see your expertise based on how you yourself are able to discuss software development. They know what being a skilled developer looks like, and it's not having textbook definitions and answers memorized. You have to be able to show that you're competent in software development, even if that means you don't know all the specific technical specifications of everything in this field.