My employer is hiring a programmer - more specifically, I am interviewing and selecting the person who will fill the position.

The best candidate right now is far more qualified than I am, older, and a lot more experienced.

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.

Or maybe I'm just being naive.

What do you think? And have you ever had an experience similar to this? How did it work out for you?

  • 10
    “[They] are afraid that a Johnny-come-lately is going to steal the spotlight and current staff will be left behind” – That sounds very petty-minded: harming the company to further one’s own career chances. Commented Apr 30, 2011 at 7:35
  • 1
    Do it! Keep us posted.
    – JeffO
    Commented Apr 30, 2011 at 13:07
  • 1
    i would just like to add here that i am a junior programmer (2 months worker) and my boss says that he always hires programmers better than him. the reason being that it gives him peace of mind. he says that since we juniors are doing what he used to do before we came ; now, its the only way to make sure that the job is done ! obviously he is an AWESOME boss. he has one of the best track records in the company and his career has grown like clockwork.
    – Chani
    Commented Apr 30, 2011 at 15:33
  • @KonradRudolph - That's the American way :( Commented Dec 7, 2011 at 19:30
  • 1
    @ldog I don’t understand what you mean. How are these issues related? Commented Feb 6, 2012 at 9:53

14 Answers 14


I was in your exact situation recently. My company wanted to hire another programmer and I specifically wanted someone with more experience than me so I could continue to learn and grow.

I was most nervous about the Interviews, so asked a question on here.

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.

It turned out great. We hired someone with way more experience and knowledge than me and I feel I am learning a lot.

I would say it's a win-win situation for you. Worst case scenario is the person you hire takes your job, and you've gained valuable knowledge working with them.

  • 2
    +1 for having them explain concepts in the interview as they will need to explain them for mentoring less experienced team members. That's a very important concept -- hiring a prima donna programmer would be a bad thing, hiring somebody who can help the whole team improve seems like a fantastic option.
    – PeterL
    Commented Apr 29, 2011 at 22:20
  • IMHO, Learning is the best thing you can do for a career in programming. Learning from an experienced, amazing person is especially hard to come by. +1 Commented Apr 30, 2011 at 5:40
  • IMO This answer is answering the question "How?" and not "Whether" which is what the question is asking. Commented Apr 30, 2011 at 12:43
  • 1
    @Mark Gibaud - if you suggest hiring such a person and prepare to do the interview, I think that means you are in favor.
    – JeffO
    Commented Apr 30, 2011 at 13:10

There is an old saying, variously attributed: A level people want to work with A level people. B level people want to work with C level people.

Do you aspire to be an A level person or a B level one? Answer honestly.

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.

  • 4
    I'd have to agree with this. Im the type of person that wants to work with people who are better than I am. That's the only way you will learn anything. Problem comes is if you can get along with that person or not.
    – Matt
    Commented Apr 29, 2011 at 21:42
  • 3
    Who hires the B-level people if no one wants to work with them? :-) Commented Apr 30, 2011 at 14:36
  • 2
    @ShreevatsaR No one, they have to own businesses. :)
    – mlvljr
    Commented May 1, 2011 at 8:22
  • 1
    @ShreevatsaR I would hire a B person that has the capability and desire to become an A person. They are usually the best investment a company can make! Commented May 2, 2011 at 10:06

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.

Even if they hinder you from moving up at this job, you may learn from them the skills needed to get a great position somewhere else.


What are your goals?

Your question mentions that you want to "move up in the company", but to what end exactly?

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.

  • Also, I would say that if you aspire to a higher-responsibility technical position, the opportunity to learn from a more experienced person will be of genuine benefit in helping you achieve that goal. Whereas ensuring a lack of competition by hiring someone nonthreatening will provide only the most meager short-term benefit. Commented Apr 29, 2011 at 22:14

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.

  • Well said. Working with talented people makes me smile. Working with bad people makes me frown. Having my boss think I'm great because I achieve more than them doesn't really stop the frowning. Commented Apr 29, 2011 at 22:16
  • Yeah- I don't mind working with people who are inexperienced but basically on the ball. But it's great when you collaborate with someone who is really good, and pushes you to get better. Also, when you work with the truly incompetent it doesn't always impress your boss. Some people have negative productivity. If you work on a two-person team with someone like that what your boss may see is two people getting less done than one person should. That is not necessarily a feather in your cap. Commented Apr 29, 2011 at 22:28

Everyone that has advised you not hire a more experienced programmer, is stupid. They have an insecure mentality and I cannot imagine how much they have not progressed in life!

You're right. Keep a level head, don't follow him off a cliff, and you (and everyone) will learn a lot from the experience.

  • Imagine having to explain to your boss why you sent an excellent candidate packing, who would have been a great asset to the company.
    – gnasher729
    Commented Feb 16, 2016 at 8:56

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.

I did this twice at one job and not only did it work out fine at that job but all three of us are now in better jobs at a different company (where we gave each other references).


The only downside to hiring someone with a lot of experience is that sometimes they can be set in their ways, which may or may not fit with your current development practices.

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.

  • 1
    It also allows you to have an the best possible explaination if it DOES NOT work out. When management asks the reason the "failstar" didn't work out you can explain your reasons. Telling management you went after the best talent and only the human element ( i.e. he wasn't able to lets say change his ways and it caused a conflict ) but he was the best overall talent at the time it covers your rear ( more ).
    – Ramhound
    Commented Apr 29, 2011 at 18:44
  • @ramhound: You speak the truth sir :) However, during the interview process, I'd definitely be keying on that to see how flexible he/she is. Commented Apr 29, 2011 at 18:47
  • You can only find out so much and I would factored that into the "overal worth" of the applicant if I was in Kyle's position.
    – Ramhound
    Commented Apr 29, 2011 at 19:13
  • 1
    Any candidate can turn out to be Bartleby, the Scrivener.
    – JeffO
    Commented Apr 29, 2011 at 20:31
  • @Jeff: Had to look up the reference :) +1 Commented Apr 29, 2011 at 20:35

Rephrased for perspective

If you were in a band, and you were hiring another band member, would you want someone that is more talented or less talented than you to join the band.

Who do you think would contribute to the band more, someone that you had to carry or someone that could help carry the rest of the team.


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

  • 1
    Furthermore if they really are more qualfied then you shouldn't they get promoted over you if all things were equal. If you don't suggest the applicant and they go outside of the company to say hire a new supervisor because of the lack of overall experience then you have lost nothing.
    – Ramhound
    Commented Apr 29, 2011 at 18:40

I always prefer the opportunity to work with people smarter than me over the illusory value of any ego boost that might come from being the smartest guy in the room.

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).

Example: while writing my answer two more experienced people answered as well. It might hurt my "promotion" (say up-votes :-) ) but I just learned something which made me better (programmer).

A big problem would be if the new Johnny-come-lately is arrogant or something similar and starts acting accordingly. In this case don't worry, soon you will outpace him.


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.

  • Not going with the best applicant most likely will not work out in his favor so he might as well hire the best person for the job or simply not make the decision.
    – Ramhound
    Commented Apr 29, 2011 at 19:48

Not the answer you're looking for? Browse other questions tagged or ask your own question.