I've been interviewing software engineers for around 15 years. In total, I think I've interviewed around 600 people in a range of roles. My main advice is to listen to your gut instinct. Things that mildly annoy or worry you in the interview will probably come to dominate your working relationship with them. Don't assume you can fix someone's flaws after they join. Get other people to give their gut instinct too, and…
My 'agent' found me the perfect job, so I wouldn't avoid recruitment consultant. But you have to ask the question : how long have you worked with him/her (the first job I landed with her was not a good fit).
Find an agent who takes a long-term view of the relationship by showing them you will be hiring many people over the years. Get them to send you their best candidates - respond to their messages quickly and with useful feedback. Nurture the relationship by also sending good engineers and employers their way. They are often more expensive and send fewer candidates, but the ones they do send are stronger.