Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I'm often asked at some point during the interview process to compare myself to my peers. For example, one of my first after-graduation jobs asked me to compare myself to my classmates. A job I recently interviewed for asked me to compare myself to my coworkers.

I always play this down quite a bit. I'm always worried that, "I'm miles above everyone around me," sounds too arrogant. When push comes to shove though it is the truth.

I graduated at the top of my class. I had a 3.99, the highest GPA of anyone else that year. My fellow students bitched and moaned about things like having to use the console to write "javac xxx.java" and build programs instead of just hitting the build button in VS. Most of them were utterly inept and I'd hate to see what happened to them in the real world. Others were miles above these people. There were like 3-5 of us that actually gave a damn, pursued our own education as if it mattered, and had whatever genes are necessary to think like a programmer or mathematician (the one guy I'd say was smarter than me was actually a math major--he graduated one year ahead of me or he would have taken my title). Even among these few "big hitters" I was one of, if not the best (some was due to more experience though).

For about 90% of the other students though I see this not as me being so good, but them being really that f'n bad. I was often dumbfounded not just by their ignorance, but by their unwillingness to do what it took to loose it. My peers in college were lazy, bemoaning, irresponsible, sacks of stupidity that would rather run around puking from so much booze than put out the least amount of effort in learning anything. Then they blamed their ineptitude on the professors.

As I entered the workforce I found that this trend continued. When I'm on the internet, talking to a worldwide populace of brilliant people I'm rather mediocre. I'm smart, excited, etc...I'm still very good but I'm much more able to see myself as a smaller fish in a larger ocean. Locally though, in personal real life experience....what I find easy others find hard even among what I'd call some of the best developers I've worked with. I know more about design, general development, and the specific language I use more than anyone else I know. Part of this is, I know full well, the kind of places I've learned in and where I've worked (who doesn't have the money to pay me what I'm worth). Still though, if I were to fairly compare myself to my coworkers, and in years past my co-students...don't I come off as more than a little arrogant?

Others see me this way too though. It actually took me a while to recognize that there's actually something significantly special about the way I approach my programming (I really care), work ethic, and additionally my lucky roll in the gene game. I have seen it get to my head from time to time, and I try to avoid it, but in all honesty I'm just better than most.

One thing that seems to differentiate me more than anything really is the fact that I continue to pursue greater knowledge at home, off hours. I'm one of the best because I want to be and it shows significantly. I've found that this is actually fairly rare in the real world, though many Internet people have me beat here as well.

Knowing that there's certainly many more people like this out there, in fact I know of many people on SE that are much smarter than I am, how do you approach this question? Do you answer honestly? "I'm a fucking God that has do dumb down everything thing they do for the little people! The only way I can drag the rest along is by saying everything 20 times in 5 different ways." Or do you downplay yourself to make sure you don't come off as someone so damn arrogant they can't work with others?

Edit: Yes, I make grammatical mistakes and additionally many more. I also suck at welding even though I tried very hard to get it. I also have a very hard time keeping my house plants alive. Some people are simply better at it. I'm simply better at programming.

share|improve this question

closed as off-topic by MichaelT, ChrisF Sep 6 '13 at 15:36

  • This question does not appear to be about software development within the scope defined in the help center.
If this question can be reworded to fit the rules in the help center, please edit the question.

1  
This question appears to be off-topic because it is about how to handle the interview process. The problem posed (how do you answer a "what makes you better than others?" question in an interview) is not unique to programmers. –  MichaelT Sep 6 '13 at 12:53
add comment

14 Answers

up vote 34 down vote accepted

You might say something like this (something I tried recently and worked relatively well).

I see myself as a potential leader amongst my fellow co-workers. I am striving for this by offering advice on various programming tasks and leading the design and development of the projects I work on. An example of this is when I helped Bob the other day resolve a particulary complex problem. I offered him a number of methods he could use to resolve a problem he had been stuck with for a few days. Another example is during the recent team meeting of Project "Give 'em shit" I offered and lead the discussion in design by suggesting we use the Repository pattern for our database interaction. When the team were unsure of the benefits of this or how it works I provided a detailed informal training session into the benefits and uses of this design pattern and where it helps resolve requirement.

Throughout the day, Tim will often come and ask my advice on how to fix a problem he is experiencing, or Jane who was asked to look into the latest microsft web design methodologies and didn't know where to start. I helped her by suggesting she look at the MVC architecture and ASP .NET web forms as starting points.

I am constantly trying to improve my skills so that I can help progress my own development, push my boundaries and be able to relay that back to the team in healthy technical discussions and through the work I contribute.

End.

Being the "smartest", best programmer, or knowing the best about cutting edge technology is sometimes not the primary trait a company is looking for. You need to find out what they cherish most, and while continuing on what you are doing learning wise etc aim to become to the attention of your superiors on those areas. They might be looking for communication, teamwork or customer interaction which is something I value just as highly in an employee.

And try not to do so to the detriment of your relationship with your colleagues. The workplace can just be like the grown up version of the school class room. Just as brutal if you find yourself on the outside.

share|improve this answer
    
Picked this answer because though others where good, and some even said the same thing, the expanded example provides more. Some of this I've done, some I haven't. I would say that communication, etc... are pretty much always more important than technical expertise or intelligence. Good answer. –  Crazy Eddie Jul 3 '11 at 8:25
3  
+1 for providing concrete examples to back up your claims! –  Lunivore Jul 3 '11 at 10:33
22  
The difference between your answer and the OP's question is that the OP comes across as knowledgeable and arrogant where you come across as knowledgeable and helpful. That makes all the difference in the world. –  sbi Jul 4 '11 at 16:36
6  
The issue with an answer like that is when, realistically, it would be along the lines of: "I suggested the Repository pattern to my co-workers, and explained the benefits of using it with an informative training session. The team then decided it was too complicated and decided to stick with DataSets and DataReaders instead." or "I helped Jane by suggesting she look at the MVC architecture and ASP.NET web forms as starting points, but she continued to write ASP.NET 4 code like it was 1.1 with everything in code-behind files because it was faster to get something out the door." –  Wayne M Jul 7 '11 at 16:20
    
Nice wayne, I like the suggested expansion to the wording –  dreza Jul 7 '11 at 21:00
add comment

Just enumerate your strengths. This implies that you are better than your peers in those areas, but does not directly denigrate others.

share|improve this answer
add comment

I'm not going to nit pick your question; however you have to grasp the reality that certain people are better at certain things.

While you may have expertise with a given language, your ability to relay a difficult problem so a mass of peers can grasp and thoughtfully resolve the problem could be non-existent.

Speaking to what you're good at in comparison to others is fine as long as that comparison is 1:1:. Remain honest with yourself and if you truly are about making yourself better that will resonate and surface in your delivery.

share|improve this answer
    
"however you have to grasp the reality that certain people are better at certain things. " <- like spelling and grammar, which is why I don't work as an editor. –  Crazy Eddie Jul 3 '11 at 8:29
4  
"Spelling and grammar" is what you have to grasp if writing is part of your job. Don't trivialize it just because you're not the best speller you know. –  Zano Jul 3 '11 at 15:09
2  
@Crazy Eddie Spelling/grammar are often second thoughts within the interwebs. Acting as though spelling/grammar only relate to an editor would be the same as speech only relating to a presenter. Both exist within the software industry and should be respected as vehicles of communication. Poor communication can hinder a team much more than poor code. –  Aaron McIver Jul 3 '11 at 21:46
    
@Zano - who's trivializing? @Aaron - most of the time, minor grammar or spelling issues are not a problem in communication. When they are important I think it well worth considering having a professional, or at least someone very good, review your documents; someone who's career is based on being an expert in the language you're targeting. The rest of the time, a basic review by other members of the team is sufficient though is sure to leave remaining issues, especially the more technical ones. –  Crazy Eddie Jul 3 '11 at 23:18
add comment

Everyone struggles with knowing how good they actually are. To compare yourself to your coworkers you should use some real examples like when someone needs help with x they come to me, or I was the lead developer for our project. Stuff like that sounds a lot better than "they don't pay me enough, my coworkers are idiots". No offense but gist of your post comes off as arrogant. Arrogance is a very bad quality for a developer, they would probably be resistant to change their code and help others. I couldn't imagine what would happen if one the arrogant persons lowly coworkers reviewed their code and put it back to rework.

share|improve this answer
    
To be fair, I didn't say my coworkers where idiots. My co-students where though. My coworkers just have trouble keeping up. They are quite competent and good in their own right. I don't think they share my same level of dedication though. –  Crazy Eddie Jul 3 '11 at 6:42
    
@Crazy: See, there's that failure to communicate others were talking about. –  sbi Jul 4 '11 at 16:46
add comment

I originally down-voted you because it sounded like you were saying "I'm the smartest developer I know". Reading further, I saw that you realized there were obviously more talented people out there just not where you've met them.

The going estimate is that around 95% of developers are in the 9-5 crowd. They only think about technology from 9am - 5pm Monday through Friday. Here's the thing...there is nothing wrong with these guys. Is it frustrating trying to work with them? No doubt. But you're not going to get anywhere beating them with a stick.

The question I have to ask, why aren't you at a place that lets you be a small fish? If you were to go to a Microsoft, or Google, or Facebook believe me I'd be answering a different question from you right now.

As you're going through the process of shopping for a new place to call home away from home, take the time to interview them as well. Look at the kinds of questions they ask you as cues to what the bar of quality will be. There are places (beside the big ones) that aggressively look for those in the upper 5%. I've had the fortune of working for quite a few employers where I was challenged by and was able to challenge my fellow co-workers. It all comes down to recognizing that you're not satisfied with your career (which you have) and doing something to address the issue.

share|improve this answer
1  
Actually I am working to get a position somewhere now where I should be able to have plenty of opportunity to feel like a total newb again. –  Crazy Eddie Jul 3 '11 at 8:21
13  
To be fair to the 9-5 crowd, one important skill to have in this profession (and any really) is to put the shit down when you go home. There are other, equally important aspects to life that need to be experienced. I do think some time, sometimes, should be spent updating skills though. –  Crazy Eddie Jul 3 '11 at 8:32
3  
+1 for interviewing the employer as well. It's a two-way street... –  Marjan Venema Jul 3 '11 at 10:56
add comment

You need to realise that in interviews, the kind of behaviour that would normally be boastful is, to an extent what you're there for.

The key is to temper it so that your interviewer realises that you wouldn't say that outside of the interview. Something like "I would say I'm an excellent programmer, because: [list of strengths phrased without denigrating anyone else]. I should add that I'm much closer to the average in: [mixing drinks, writing quines, preparing large UML diagrams, other useful but not essential skills], and I usually defer to my colleagues on those tasks, and any others where they have superior expertise."

share|improve this answer
add comment

From my experience I would rather say that the intent of this question is not really to find out how you compare to others, but how you talk about former collegues and co-workers when challenged. That's what I understood from several interviews, and that's also what I as an interviewer would be interested in (not being a professional, though, so I'd be happy to hear some remarks from the pros).

Therefore, I guess that question is actually rather meant to find out about your personality, not your skillset. So, which kind of guy am I actually talking to? Does he turn down former collegues to make himself look better? Is he merely subjective ("I'm the hot shot of my town ...") or rather objective ("My average grade in high school was ...")?

My major rationale behind that would be that odds are, the same way you talk about former collegues you might also think about your potentially new ones. If you make them down, there is really nothing to be gained (similar like talking about reasons for quitting your former job in general).

So, I think better try to avoid being trapped here, and better not show off to much.

share|improve this answer
17  
Yes, the question started out as a perfect answer to that interview question, with solid facts like where the marks ranked in the class, then suddenly took a left turn into complaining that some undergrads get drunk and went downhill from there. One of the hardest skills for smart people to learn is when to stop talking. –  Kate Gregory Jul 3 '11 at 13:32
2  
@Kate: I resemble that remark! Luckily i have a colleague who is even more irrepressibly opinionated, so i use him as a human shield. –  Tom Anderson Jul 3 '11 at 18:20
6  
@bonifaz: I agree, no matter how smart the future employee is, a snob is likely to ruin the team's mood. Furthermore, if I found someone would thought himself better than everyone else, that would trigger a red alarm. The first step toward improvement is noticing you're missing something. –  Matthieu M. Jul 3 '11 at 19:24
add comment

From similar questions that I got from my interviews, I realised that they don't want my comparison to my peers per se, but how I see myself fitting into the team and how I treat the other team members.

Further more, the comparison is not only at a technical level, other aspects such as leadership, empathy, team work etc comes into it as well.

Some of the answers mentioned about being able to socialise your knowledge into the other team members and how proactive you are in socialising that knowledge, that is an important aspect of what the employees are looking for.

For straight out exam scores comparison, especially for a fresh graduate, they can read that from your score card and make a call on that.

share|improve this answer
add comment

90% of drivers consider themselves to be above average drivers

Also see Illusory Superiority .

If I was interviewing you for a position, talking negatively about past co-workers would be an almost instant turn-off. Even if it's absolutely true and you're in a different league than your peers (we all know developers are not interchangeable, x10 factor etc.)

If you want to impress me impress me with your performance during the interview. If I ask a coding question excel in it. If I ask you a math question solve it with ease. If I ask you about certain technologies be knowledgeable. If you don't know something simply say you don't know. Communicate well.

An interview is very often about fit. In your new job you will need to work well with a lot of people of various skill levels. It's also a social game you have to play according to certain rules. This sort of question is more about your social/diplomacy skills. On the plus side if this company does hire the biggest boasters you probably don't want to work for them. :-)

So in my opinion don't compare yourself to your peers during an interview! Focus on why you are a good match/fit for the job. What you've been able to accomplish in previous jobs. What you would be contributing if you're hired. Leave the comparing to the interviewer.

share|improve this answer
    
define: "above average". above the average driver? obtains above the average skills to drive? ..? –  jberger Mar 8 '12 at 18:25
add comment

I would say all the OP amounts to is the following, "I care, others don't." Your comparison is not useful. You've acknowledged that there is a significant population smarter than you. Maybe the company you're interviewing for consists mostly of that population. Now how do you tilt this question in your favor. Ask to rephrase the question as, "Compare myself to my peers." This is the answer they really want. The problem with the question is that most people's peers consist of their class or their workplace. This is changing with social sites like this one cropping up. You've found the internet provides you with a better approximation of your peers. Compare yourself to them. The answer they're looking for consists of traits: work ethic, dedication, personal study, engagement in self-improvement, loyalty to company, caring about your work, doing the right thing as opposed to just getting it done, and so on. So, you can mention that you find yourself more engaged in studying in your field.

You're not necessarily smarter than others.

I have a coworker I always team up with or interact with to help solve each others problems. He's detail oriented, and I'm visually oriented. I can put the paradigm together, and he can find problems with it and refine it. We work off of each other. In this situation I can say that I'm good at seeing the big picture, and he's good with the details.

That's a fair comparison.

I don't want to even think to go into which of us is smarter, because intelligence is a big colorful rainbow, not a grey scale IQ test. Whereas I would perform higher on an IQ test because my visual orientation matches up with the IQ test's visual problems, I wouldn't consider myself smarter, because he can solve problems I just can't or would take excruciating time doing.

At the same time I can critique you by pointing out that your communication skills suffer not only because you're struggling to find an answer to this question, but because your explanation of the problem is like digging through a haystack of repetition and unnecessary data.

Intelligence is not a one-way street. Find other characteristics that differentiate yourself from your peers. Being more engaged in personal study is one.

share|improve this answer
add comment

You wrote

Do you answer honestly? "I'm a fucking God that has do dumb down everything thing they do for the little people! The only way I can drag the rest along is by saying everything 20 times in 5 different ways."

First of all, I am glad that you have a natural talent that you appear to be able to make a living from. This is not something that everybody can do. Do all you can to excel in what you clearly enjoy.

That said, you have been slacking as you are not yet in a position where your talents are used to the fullest. Why settle for less?

When you reach THAT point, you will find that you cannot do everything anymore completely on your own, and THEN you will be at a point where you either can work in a team, or sit in a cave and have food and coding assignments thrown in on a regular basis.

You can only work well in a team if you respect your colleagues and their work, and to be frank I don't think you have the necessary humility yet. Perhaps you have not yet had the MIT-syndrome experience:

There are a lot of smart people out there who have trouble talking to other smart people. You would think they would be on the same wavelength, but in practice they explain too much; it makes you want to cut them off with "yes, I get it. STOP. I already figured out the rest. PLEASE."

I call it MIT syndrome because I assume it must happen a lot every September: all their lives, these kids have been the smartest person in the room. Now they're thrown together with other kids just as smart. They're used to spelling things out for others; now, from sheer force of habit, they're spelling things out to one another.

http://mengwong.livejournal.com/27046.html

But to answer your question, I think you should say that you find it easy to pick up new technologies, like to mentor others, and do your very best to be a good team worker.

share|improve this answer
add comment

I've found that in many professions there are people who are just there because that's what they did in school, and there are people who are genuinely passionate about what they're doing. If you can give yourself an advantage truthfully because you really do care about what you're doing, is that such a problem?

share|improve this answer
add comment

I would simply describe the Dunning-Kruger effect, a cognitive bias which makes it essentially meaningless to effectively compare yourself to others.

share|improve this answer
add comment

Silly goose, it's not always about you.

Companies are always looking for influential smart people, because they know if the person is not only smart but also raises the average level of skill/smarts of your other employees then it's a big win.

Every good programmer gets to a point where he realises that perfection is subjective. Critique and bad news is always free, but good news needs to be searched for or created.

Bias is something better left at home. When interviewers have asked me how I compared to my co-workers, I told them that an efficient team specialises in different areas and our goal was to grow as a team and improve collectively.

Because that was true, but I have had also to state that I was working on 80% of the projects alone because my fellow team members were lazy and didn't have the driving force to improve given opportunity and my help.

Now I realize the latter scenario is somewhat my fault (you should NEVER critique someones' code unless you are doing a code review or have been appointed such). As long as we as programmers can be teachable, there is hope for us yet!

share|improve this answer
add comment

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