Based on the current post about top coders getting agents, I was curious about how many of our users consider themselves top coders. More generally, I'm just curious how the users here evaluate their own skills. Do we all feel we're better than our peers? Do we all feel unskilled comparatively?
FWIW, I don't consider "all coders" to be "my peers". I am 100% certain I'm "better than 75% of coders". At the same time I'm surrounded by friends and colleagues where that's clearly not the case.
I voted, and I'm mildly amused/interested. It does feel a little like a poll asking... How long is a piece of string? a) This long, b) That long, c) Other - please specify.
I agree, but it's really more about perception than reality. I think this ties in nicely with the "I feel like a fraud" sentiment that people commonly express (and their course of maturing out of that sentiment).
I suspect that this would end up breaking down along lines of years-of-experience, with narcissists slightly tilting things towards the higher percentiles. :)
According to page 87 of the specification document (March 23rd 2013 revision), it's 12mm+-0.5mm, with a service limit of +0.5 to -1.5mm. There's a varience request in place to allow installation of 1/2" (12.7mm) string, so long as we use COTS imperial string with +0" to -1/16" tolerances.
Yeah, it lacks an actual metric and a way to measure it but I'm curious which way we evaluate ourselves. E.g. do we have more than 50% of people who feel like everyone else is better or does everyone thing they're top tier.
If you're average, then there are a lot of coders who are objectively less skilled than you, by any reasonable metric. Being humble doesn't require you to claim otherwise.
I'm not being humble, or trying to be (or trying to appear to be). That's how I really feel. I suck. I'm not average, either. I actually think I'm the worst guy in the room. How come? It helps me prevail over any obstacle. By understanding that I suck, any problem that makes me stumble is not too small for me to tackle. Doesn't matter your skills or experience, everyone always hits bumps.
Software engineering has so many different specializations that it's possible that everyone is better in different ways. I might not be the best at solving problems such as the ones on TopCoder, or probably not the best at working with hardware, but if you ask me something specific about bioinformatics, I know that domain fairly well.
I think it's strange to say you're better than 75% - 100% of all coders when you can't possibly have the knowledge about every field and every domain. All things considered, I'm definitely in the 0 - 25%.
Having interviewed about a hundred programmers who responded to a job search specifying that we're looking for "brilliant coders", I can objectively say that 90% are below average...
Seriously though, your perception depends very much on the quality of your peers. I'm lucky enough to be immersed among the very best, so the average developers I regularly interview seem - to me - incapable of programming their way out of a paper bag, even though they hold normal positions in normal companies, presumably successfully.
90% can be below average. It depends on how you define 'average.' If you're using the median, then 'below average' can only be 50%. But if you use the mean (or its variants), then you can have 90% of a population be 'below average' if the population is very skewed.
Also, he was talking about 90% of coders he interviews. Of course they'd be below average - if they were above average, someone would hire them and they'd leave the job poll quickly. Such is the pitfalls of sampling a non-random population...
I can pretty confidently say I am the best programmer at my current company. Granted, I'm the only programmer... but still. :)
Actually, I hate being the only programmer. I love my job. I love what I do. But if you're the only person there and you get stumped -- you've got no one else to go to. You're both the "dumbest" and "smartest" person in the room and that doesn't workout well sometimes.
I want to work somewhere that I know the least among the programmers to that I can continue to grow more easily.
I don't think that's true. I think there are a lot of developers that are either 1) unskilled/inexperienced and know it, 2) inexperienced, but think they are awesome, 3) experienced and skilled but believe themselves to be adequate, and 4) skilled developers that know they are skilled.
And I'm sure there's a whole range in between. Perception of ones skills don't always (may I say rarely) match up with their actual skills.
Personally, I think I'm average. There are moments where I think I did something smart, but they are fleeting. Is my perception accurate? I have no idea, I've never been graded by someone with far superior skills than myself. I'd consider myself insecure with my skills, but always striving to do the best I can.
It's extremely hard to get an accurate idea on where you rank. The sample size you have to draw on is small and biased. I just find it overwhelming that the more I learn, the more I realise I don't know.
However I will say, your ability to admit insecurity about your skills/acknowledging you could be better probably places you _above_ average! The scariest devs are the ones who think they're very good, but in reality are poor. For example I know something I'm really weak at is writing good multi-threaded code, I try and keep things as simple as possible, but I know other people who think they can write great multi-threaded code, but spend vast amounts of time debugging deadlocks.. Hmmm
A friend once explained his idea of knowledge. If you consider what you know to be the inside of a sphere and what you don't know to be what's touching the outside of the sphere then as you learn what you don't know grows. In reality there is a lot you don't know and will never know. The only way you figure this out is by learning.
I'm convinced that we all eventually learn enough to realize we simply don't know anything :)
For me to be able to even guess at where I fit, either "coder" needs to be defined, or the poll needs to be "how many coders do you think are better than you" not as a percentage of coders, but as a percentage (or number) of people in the world.
Actual coding skills are not what makes a good developer. Being a good developer is about applying the right knowledge in the right way. I'm great at that. But I wouldn't bet on being able to out-program other competent programmers.
Is my peers defined as those in the same field as my work, or other coders my age, or all other coders?
I'm in a traditionally non-coding field, so my ability to code is significantly above average compared to them on the occasions that I do sling code in order to help solve a problem (I would be one of maybe 2 or 3 in an office of 100-150 that would be proficient in this). On the other hand, I'm probably well below-average if you compare me to anyone who actually codes for a living.
I have read "peers" as "people I work with", and "better" as "for a coding task, who will do a better job than me in my company". It has the advantages to be a day to day situation. I may be wrong.
Below average for everyone, slightly but not much above average among php coders.
I can find people who think i'm brilliant, meanwhile I know that plenty of people here wouldn't hire me to bring them coffee. It depends on your perspective I suppose.
It depends on what I'm doing. I'd say I'm better than average with general programming, I'm about average when it comes to safety-critical work and I'm below the average of people who do operating systems.