Questions seeking career or education advice are off topic here. They are only meaningful to the asker and do not generate lasting value for the broader community. Furthermore, in most cases, any answer is going to be a subjective opinion that may not take into account all the nuances of a (your) particular circumstance.
Other people I've talked to have said that hiring someone more qualified than myself is a really bad idea (my family included). And I get the feeling that other technical staff here have a similar attitude (considering that this applicant is also more qualified than they are).
They're saying, or thinking, that hiring someone better qualified is going to hurt my and my current colleague's efforts to move up in the company, or are afraid that a Johnny-come-lately is going to steal the spotlight and current staff will be left behind as promotions are given out and new positions open up.
Personally I'd love to work with this applicant, and learn from them. I'm confident enough in myself to not be afraid that someone new and more experienced is going to come in and start making me look bad. I'd like to use this as an opportunity to grow, and I don't think that being afraid of competition or of new people like this is rational or beneficial.
To summarize, ask questions you know the answer to, are related to problems you have, or are problems you solved in the past. Don't try to ask questions that are out of your depth. Be honest if the interviewee starts talking in terms you don't understand and ask him/her to explain them to you. Afterall, the person you hire will be working with you and you'll want someone who can mentor you.
The reason why this happens is very simple. A level people get to be A level people by challenging themselves and learning from the best people that they can find. B level people stay that way by developing a comfort zone and then becoming unwilling to challenge themselves to find their possible limitations. Exposing yourself to potential criticism from people who know more than you is a good way to be smacked in the face with what you've been doing wrong. If you aren't prepared to experience that, this is likely to be an unpleasant process.
However the flip side is that if you set about honestly trying to improve, you will do so surprisingly quickly. But you'll need to have the humility to accept that you're constantly going to have things to kick yourself about.
I have never had the opportunity to work with someone far more experienced than myself. I would definitely hire them. Many great programmers suggest "get a mentor" as a way to learn rapidly. This may be your opportunity for that.
If you're looking for a management position, then there is no better way to demonstrate your qualifications for that position than by making a great hire and successfully integrating him/her into the team.
If you're seeking a higher-responsibility technical position, like BA or chief architect, and you are considering hiring somebody far more qualified in that area, then yes, you are probably hurting your own opportunity to attain that position. However, if you're already admitting that there are people far more qualified, then maybe it's too early for you to be seeking that position yourself anyway.
Finally, be cognizant of whether the skill set of this person actually matches the skill set you're looking for. For example, if you're hiring someone with exceptional talent at requirements analysis and systems design, and you toss them into a code-monkey position, neither of you are going to be very happy.
As long as they're a good fit then you really have nothing to lose by making the best hiring decision you can. You want talented people backing you up; there's nothing worse than delegating work to a programmer you know to be incompetent and wondering if it's just going to cost you more time in the end fixing all the bugs.
If the company you work for would so quickly dismiss your own contributions and promote the "new guy" ahead of you (assuming they know you want to move up) then you're either in the wrong company or on the wrong career path.
As a practical matter, there may be something to what your family is saying. Depending on what your workplace is like it might be to your immediate advantage to make sure no one who is going to eclipse you gets hired. But I think that would be a very short-sighted way to look at things.
There's an old saying: "A" people hire other "A" people. "B" people hire "C" people. In the long-term, what you want is to be an "A" person. It might be safer to make sure you don't have to compete with anyone really good, but in the long run that will keep you from progressing. If you hire someone better than you not only will you likely be able to learn a lot from them, but it will force you to up your game.
Let's make no bones about it- the world of work is a competitive place. It can feel a lot safer to try to make sure you only compete against people weaker than you. But think about it this way- if you were a chess player and you made sure to play only games you could win, would you ever become a really good chess player? Probably not. You'd want to play against people who would force you to get better.
And, unlike chess, work is not a zero-sum game. It is a lot nicer to work with competent people- incompetent programmers can mess things up really badly, and if you're on the same team they are that can reflect badly on you. On the other hand good people can make a project move along very successfully, and that can reflect well on you. After all, the goal, in the end, is to get the work done, and get it done well.
It's also worth mentioning that you have a responsibility to your employer. If I were employing someone and I thought that that they had passed over the best candidate for a position because they were afraid of competition I would probably fire them. That kind of thing is common but it's the sign of a dysfunctional organization. You don't want to work for that kind of place, so don't help make it that kind of place.
There's more qualified and "more qualified", just being older with more years in the workplace doean't make him more qualifed. As long as you feel qualified enough to truly assess the skills of the potentially more qualified person (Some people can really talk a good game but can't perform.), I say hire him or her. You will learn more from someone who is better than you. Yes the person might get a promotion ahead of you, but you will learn what you need to learn to get those promotions the next time they open up or at a new company later. Far better than stagnating at the intermediate level because there is no one to push you to the truly expert level.
Think of this from management's perspective.. If he does come on and proves to be a rockstar, who's the one who hired him? You. Now, not only will you have the potential to learn from someone with years of experience (which can be absolutely invaluable), but you've proven that you're able to select the right candidate for the job, which looks great to management.
In a well managed team, the team should succeed and fail as a team. As long as the person isn't an arrogant anti-social jerk wad, and someone that is actually willing to help carry the team until they can get to their level you have nothing to lose personally.
Lets say you go with somebody less qualified as this person and they don't work out for some reason connected to that fact. When asked if you hired the best candidate what will you say? If you tell the truth you will be asked the reason you didn't go with the better candidate, if you lie, and they happent to contact the better candidate you will have some other issues. If you feel this candidate is the BEST candidate for the job out of the pool of candidates you current have. You have a duty to suggest that candidate even if your other technical staff suggest the less qualified one
Competence is a rare thing. Working with people more skilled than you, as long as they are pleasant to work with, will gain you more than being a lonely "top dog." You'll become better as a result of the company you keep. It's not a zero-sum game.
Always optimise for your organisation's goals or the goals of the product you are building, and NOT for any of the individuals in play. If you do this consistently you will be rewarded. If you are not, you need to find an organisation that does reward this behaviour. By contrast, an organisation with a culture of people only thinking for themselves is toxic and unlike to accomplish anything exciting anyway.
Always hire people better than yourself, and in turn focus on your own strengths and develop them. The best teams are made up of people with a variety of strengths, even within supposedly singular roles like 'developer'.
Taking into account the field that we work on. I would say that you should feel more confident and look up to it than anything other, as a general case. Just for a sec think of him working for the competition. This might kill your company in the long run, leaving you all out of jobs, while it would be very good in the short run (same status quo).
My opinion on this one is - hire him unless you feel like you cannot learn and improve anymore. I might be wrong on this one but it feels like people are afraid and trying to secure their positions by not hiring someone smarter, which is wrong.
However, future crowdsourced systems will be community-driven and decentralized, with little overall control, as is the case with CBSS and OSS.16 Consequently, we can no longer design and implement such systems through older models. Here are the eight characteristics of crowdsourced systems:
Open teams. Assumptions of a closed team of dedicated developers should be abandoned. "Based on our usual assumptions about volunteer projects and decentralized production processes that have no managers, [Linux] was a model that could not succeed. But it did."4 Similarly, the Apache project was not "organized around a single person or primary contributor"9 but resulted from a number of Web masters working together, primarily via email. Jimmy Wales, founder of Wikipedia, an example of a CBSS, exercises virtually no control over the community or the ranks of its volunteers.
b1e95dc632