I <3 Steve McConnell*
Coding Horror
programming and human factors
by Jeff Atwood

Feb 18, 2009

Are You An Expert?

I think I have a problem with authority. Starting with my own.

It troubles me greatly to hear that people see me as an expert or an authority, and not a fellow amateur.

If I've learned anything in my career, it is that approaching software development as an expert, as someone who has already discovered everything there is to know about a given topic, is the one surest way to fail.

Experts are, if anything, more suspect than the amateurs, because they're less honest. You should question everything I write here, in the same way you question everything you've ever read online -- or anywhere else for that matter. Your own research and data should trump any claims you read from anyone, no matter how much of an authority or expert you, I, Google, or the general community at large may believe them to be.

Have you ever worked with software developers who thought of themselves as experts, with almost universally painful results? I certainly have. You might say I've developed an anti-expert bias. Apparently, so has Wikipedia; a section titled warnings to expert editors explains:

  1. Experts can identify themselves on their user page and list whatever credentials and experience they wish to publicly divulge. It is difficult to maintain a claim of expertise while being anonymous. In practice, there is no advantage (and considerable disadvantage) in divulging one's expertise in this way.
  1. Experts do not have any other privileges in resolving edit conflicts in their favor: in a content dispute between a (supposed) expert and a non-expert, it is not permissible for the expert to "pull rank" and declare victory. In short, "Because I say so" is never an acceptable justification for a claim in Wikipedia, regardless of expertise. Likewise, expert contributions are not protected from subsequent revisions from non-experts, nor is there any mechanism to do so. Ideally, if not always in practice, it is the quality of the edits that counts.
  1. There is a strong undercurrent of anti-expert bias in Wikipedia. Thus, if you become recognized as an expert you will be held to higher standards of conduct than non-experts.

Let's stop for a moment to savor the paradox of a free and open encyclopedia written by people who view the contributions of experts with healthy skepticism. How could that possibly work?

I'd argue that's the only way it could work -- when all contributions are viewed critically, regardless of source. This is a radical inversion of power. But a radical inversion of power is exactly what is required. There are only a handful of experts, but untold million amateurs. And the contributions of these amateurs is absolutely essential when you're trying to generate a website that contains a page for.. well, everything. The world is a fractal place, filled with infinite detail. Nobody knows this better than software developers. The programmers in the trenches, spending every day struggling with the details, are the people who often have the most local knowledge about narrow programming topics. There just aren't enough experts to go around.

So what does it mean to be an expert, then, when expertise is perceived as impractical at best, and a liability at worst? In a recent Google talk, James Bach presented the quintessential postmodern image of an expert performing -- Steve McQueen in The Towering Inferno:

[turns to fire commissioner] What do we got here, Kappy?
Fire started, 81st floor, storage room. It's bad. Smoke's so thick, we can't tell how far it's spread.
Exhaust system?
Should've reversed automatically. It must be a motor burnout.
Sprinklers?
They're not working on 81.
Why not?
I don't know.

steve-mcqueen-towering-inferno.jpg

[turns to architect] Jim? Give us a quick refresher on your standpipe system.
Floors have 3 and 1.5 inch outlets.
GPM?
Fifteen hundred from ground to 68, and 1,000 from 68 to 100, and 500 from there to the roof.
Are these elevators programmed for emergencies?
Yes.
What floor are your plans on?
79. My office.
That's two floors below the fire. It'll be our Forward Command. Men, take up the equipment. I want to see all floor plans, 81 through 85.
Gotcha.
[turns to security chief] Give me a list of your tenants.
Don't worry, we're moving them out now.
Not live-ins. Businesses.
We lucked out. Most of them haven't moved in yet. Those that have are off at night.
I want to know who they are, not where.
What's that got to do with anything? Who they are?
Any wool or silk manufacturers? In a fire, wool and silk give off cyanide gas. Any sporting good manufacturers, like table-tennis balls? They give off toxic gases. Now do you want me to keep going?
One tenant list, coming up.
[turns to crew leader] What do we got?
Elevator bank, central core. Service elevators here. Air conditioning ducts, 6 inches.
Pipe alleys here?
One, two, three, four, five.
Have you got any construction on 81? Anything that can blow up, like gasoline, fabric cleaner?
I don't think so.

What does this tell us? I mean, other than .. Steve McQueen is a badass? Being an expert isn't telling other people what you know. It's understanding what questions to ask, and flexibly applying your knowledge to the specific situation at hand. Being an expert means providing sensible, highly contextual direction.

What I love about James Bach's presentation is how he spends the entire first half of it questioning and deconstructing everything -- his field, his expertise, his own reputation and credentials, even! And then, only then, he cautiously, slowly builds it back up through a process of continual learning.

Level 0: I overcame obliviousness
I now realize there is something here to learn.

Level 1: I overcame intimidation
I feel I can learn this subject or skill. I know enough about it so that I am not intimidated by people who know more than me.

Level 2: I overcame incoherence
I no longer feel that I'm pretending or hand-waving. I feel reasonably competent to discuss or practice. What I say sounds like what I think I know.

Level 3: I overcame competence.
Now I feel productively self-critical, rather than complacently good enough. I want to take risks, invent, teach, and push myself. I want to be with other enthusiastic students.

Insight like this is why Mr. Bach is my favorite Buccaneer-Scholar. He leaves us with this bit of advice to New Experts:

  • Practice, practice, practice!
  • Don't confuse experience with expertise.
  • Don't trust folklore -- but learn it anyway.
  • Take nothing on faith. Own your methodology.
  • Drive your own education -- no one else will.
  • Reputation = Money. Build and protect your reputation.
  • Relentlessly gather resources, materials, and tools.
  • Establish your standards and ethics.
  • Avoid certifications that trivialize the craft.
  • Associate with demanding colleagues.
  • Write, speak, and always tell the truth as you see it.

Of course, Mr. Bach is talking about testing here, but I believe his advice applies equally well to developing expertise in programming, or anything else you might do in a professional capacity. It starts with questioning everything, most of all yourself.

So if you want to be an expert in practice rather than in name only, take a page from Steve McQueen's book. Don't be the guy telling everyone what to do. Be the guy asking all the questions.

Posted by Jeff Atwood    View blog reactions
« Real Ultimate Programming Power
The Bad Apple: Group Poison »
Comments

Embrace nothing:
If you meet the Buddha, kill the Buddha.
If you meet your father, kill your father.
Only live your life as it is,
Not bound to anything.

In other words, the path to enlightenment is not the one the expert points out to you. That may have been his path, but it's not yours.

Bob Whiteman on February 18, 2009 6:27 AM

great post, one thing I've noticed, the more I know, the more I know I don't know, there's always more

Erin on February 18, 2009 6:35 AM

Thank you, thank you, thank you! I hope to shake your hand for this one day. By all accounts, I should be an expert Delphi developer. I've had a Delphi app on the market for 10 years working daily to change and improve it. Yet every day I learn some new language construct or way of working that makes me feel like an amateur.

The day I stop learning will be the day I die. Thanks Jeff!

Mark Smith on February 18, 2009 6:41 AM

I am reminded of something an old hand said to me two decades ago, in the early days of my apprenticeship:

Expert - n. ex from the Latin, meaning out of, and spurt, meaning drip under pressure.

Which is why, to this day, I don't claim to be an expert in anything, including some software and systems I have authored.

Jim Lehmer on February 18, 2009 6:46 AM

While I wholly agree that Because I said so is extremely poor justification in an objective discussion, particularly on technical subjects, I am equally loathe to abandon the entire idea that some people have acquired better insight, experience, or knowledge about a subject than others and may therefore have more to contribute in many circumstances.

Reviewing all contributions on some subject matter without the context of source is often difficult, if not impossible, and almost surely a bad idea. Didn't you post something more or less the exact opposite of this idea just a few days ago, talking about how you would view a question or a point raised by someone of stature in computing as more significant than the same point raised anonymously or by someone unknown?

The desire to actively discourage experts on Wikipedia, if in fact that it is their goal, does not fill me with confidence. Enlisting millions of amateurs to the cause may fill out many pages but I don't think the most important measure here is volume. I don't particularly value the work of people who know little about what they're writing about trying to stumble through ground that others have already covered. I am prima facie going to prefer the opinion/statement of an expert to an amateur - which does not mean that I wouldn't think critically about what both had to say, but that all other things being equal trusting the expert is a far better rule.

What spooks me most about the anti-expert ethos is that it seems what the web needs least is more dribble from people who have no idea what they're talking about. I suspect a healthy dose of actual expert opinion on various subjects would be extremely valuable. It's hard enough to find this now - if we go around telling everyone they shouldn't listen to experts and actively discourage anyone from acquiring expertise, we may succeed in all but eliminating anything that might pass for learned commentary.

Jeremy Rishel on February 18, 2009 6:47 AM

Great post, Jeff! I couldn't agree more!

..and yes, Steve McQueen is a badass.

Steven Rogers on February 18, 2009 6:48 AM

Here's another post along these lines:

Three reason expert predictions are often wrong
http://www.johndcook.com/blog/2009/02/09/three-reasons-expert-predictions-are-often-wrong/

In a nutshell, experts have an incentive to form opinions quickly, they have an incentive to promote unconventional opinions, and they're good at confirming their biases.

John on February 18, 2009 6:59 AM

I just hate it when someone asks me which way to do something, and I say this way is better than that way and they just accept my `expert` opinion without even thinking of asking me why. When people do that, I usually chastise (is that the right word?) them - no matter who they are.

configurator on February 18, 2009 7:01 AM

Didn't you post something more or less the exact opposite of this idea just a few days ago, talking about how you would view a question or a point raised by someone of stature in computing as more significant than the same point raised anonymously or by someone unknown?

Jeff Atwood contradicts himself regularly. I think its his way of driving home the point that you can't really take him at face value. That would be lazy. It forces you to actually think for yourself.

Breton on February 18, 2009 7:06 AM

This is by several orders of magnitude the best Coding Horror in months. Thanks for re-becoming relevant!

Your fairweather fan,
John

Back in the Fold on February 18, 2009 7:19 AM

And remember: Jump from the bridge, it will make you a better developer.

Hoffmann on February 18, 2009 7:22 AM

Dumb question but is the Buccaneer Scholar James Bach, the same as the testing blogger James Bach from www.satisfice.com/blog/ ?


mark on February 18, 2009 7:42 AM

Jeff,

Level 0 to 3 is another way of explaining the 4 stages of learning.
http://en.wikipedia.org/wiki/Four_stages_of_competence

Level 0: unconscious incompetence
Level 1: conscious incompetence
Level 2: conscious competence
Level 3: unconscious competence

It applies really well to something like driving.

Level 0 is before you ever saw a car.

Level 1 is you see other folks driving and you know you cant' do it.

Level 2 is learners permit :) You sweat pulling out of the driveway, making left turns, etc.

Level 3 is driving while changing the radio and texting. I mean you shouldn't do this :) but the point is you know how to drive so well you don't actively use your mind to do it.

cubanx on February 18, 2009 7:57 AM

I've had a Delphi app on the market for 10 years working daily to change and improve it. Yet every day I learn some new language construct

OMG, Deplhi has 3650 language constructs :)

Mac on February 18, 2009 8:02 AM

I LOVE this stuff, even (or especially) the points that contradict. This is what I understand to be dialectic. To me it's a workout in language and meaning, the building up and tearing down of values. Thanks Coding Horror.

Gord on February 18, 2009 8:14 AM

In the late 80's, i wrote a program that displayed RTF - rich text like a web browser, on a Mac. RTF is a format that MS Word Excel could produce if asked. Sometimes called Interchange format. The Windows help system used it. We had a cross platform app, and wanted our tech writers to produce one set of text. The system allowed conditional text, so that Mac specific stuff could go to the Mac port, and Windows specific stuff could go in the Windows port.

One of the developers was talking to me about it, and i must have mentioned how i was unclear on some detail. He said something to the effect that by this point, i should know exactly how something like that worked. I agreed. I didn't realize that we were talking about two different things. He was saying that i was the expert. I was saying that the documentation and MS's implementations were ambiguous at best. The whole thing smelled of death. Or maybe he really did get what i was saying. My code clearly worked, after all.

If the expert can't admit total ignorance, then (s)he's useless.

Stephen on February 18, 2009 8:57 AM

I've been a senior developer since, what, 1981? I think it was my very first title. I'm not much on titles.

Every now and then, i get to do an estimate for how long some job will take. To date, my estimates have been within 10%, and not once has there been an underestimate. That is, if we use my estimate as a deadline, we are never late, and we don't over commit resources.

And for 27 years, this has been my track record. And if i've been at a company for a year or so, managers get this behavior from me consistently.

So, why is it that when a million dollar (+) contract comes up, and they say they want 30 guys to do this thing in a year, and i say it can't be done in under 2 years, that they ignore me? Two years later, i don't rub it in, but i let it slip that it's not done, and it now looks like two more years. I'm still ignored. They decide to change vendors, and i mention that Brooks' law says that this will delay the project, and my estimate is that it's a 6 month delay. Two years later, it's still not done, and my new estimate is 6 more months.

I don't try to be good at this. It just comes out. I don't expect anyone to listen. I don't even listen.

I understand that the project would never have gotten started with an honest estimate. And, the project would have been canceled with an honest estimate. And, the original vendor was punished because of politics, not reality. When i mentioned Brooks by name, i was told that there are other books. And that's politics too. There's really only the one computer management book.

Stephen on February 18, 2009 9:08 AM

Are You An Expert?

Yes, absolutely, I am! I'm sure of it!

I'm just not sure what in, yet.

Stamp.Collection.Organizing.Procrastination is a leading candidate.

Avoid certifications

What??? I'll have you know my doctor (wife, too) says I'm certifiable, and I'm proud of it! So there!

@cubanx:

You left out Level 5: just plain unconscious
Yeah, that's where I'm at after a long day of beating bugs to death, and a few beers.

Jeff R. on February 18, 2009 9:13 AM

I said Level 5. Oops! Should have said Level 4.

Off-by-one error.

Jeff R. on February 18, 2009 9:16 AM

I'm still wanting a decent explanation for using NAMBLA in your previous post. I just don't get it.

Dave on February 18, 2009 9:30 AM

@Stephen

You should change your title to Cassandra. It's a thankless job, but an important one.

Here's what I do. When they ignore my estimate, I ask them if they know my history at doing this. They say Yes. Then I say If in one year, you don't want me to say 'I told you so' and rub it in, you should revise your estimate. In reality, this never gets their estimate where mine is, but it often gets them closer. It's also important to take no relish in rubbing it in (no gloating, only honest work), but to treat it as a training exercise, like house-breaking a puppy.


gramps on February 18, 2009 9:33 AM

@Dave:

I'm still wanting a decent explanation for using insert word here I don't want to repeat in your previous post. I just don't get it.

I suspect that may go down as one of the Mysteries of the Ages. Or something.

Jeff R. on February 18, 2009 9:34 AM

that may go down as one of the Mysteries of the Ages

Ah yes -- Mysteries Of The Ages, or, NAMBLA.

Jeff Atwood on February 18, 2009 9:59 AM

The experts gave us the banking, home loan, Wall St. fiasco as well as the timely, targeted and temporary bailout that will extend over the next 10 years. The experts in DC listened to the experts in business and did away with much of the regulation and oversight; anyone want some peanut butter cookies or to invest with Bernie?


I'm nobody
Nobody is an expert
therefore, I'm an expert :)

Steve S on February 18, 2009 10:03 AM

A must-reference for this article!

http://www.cs.utexas.edu/~EWD/transcriptions/EWD03xx/EWD340.html

Bernd on February 18, 2009 11:05 AM

Great article :D

The main point I derived from it isn't so much that you are anti-expert, more 'anti-expert who relies solely on his expert status to justify his expertise'. I have no problems with regarding someone as an expert... but I'm not going to assume they are right just because of that.

workmad3 on February 18, 2009 11:44 AM

The 4 levels of competence cited in the comment by cubanx ends at the kind of expert lamented in Jeff's post. Level 5 is when you start to realize that even though you thought you knew most everything, it's now dawning on you how little you really know. Level 6 is when you've finally developed a pretty good idea of how little you really know, and at the same time are recognizing that the Level 4 so-call experts aren't. Level 7 is when you realize that there is no level beyond 6.

Jeffrey Friedl on February 19, 2009 1:02 AM

@Bob Whiteman: so did Frank Sinatra.

Emanuel on February 19, 2009 1:02 AM

@Eric: start your own blog.

Emanuel on February 19, 2009 1:03 AM

True insight is understanding that you, by the impossible depth of all things, know nothing.
True knowledge is knowing that you, against all odds, have criticized all your knowledge, and is still willing to do so again.

Bravo :)

Lars MÊhlum on February 19, 2009 1:07 AM

Building a skyscraper and extinguishing random fires are totally different kinds of jobs. Sure you need to ask questions in both, but there should be nothing random in construction.

Silvercode on February 19, 2009 1:08 AM

James Bach: shades of Jack Black

YHVH on February 19, 2009 1:56 AM

I can't help but think that you're pulling this out because you've got your face rubbed in dirt by programming experts on the last two posts, or maybe more than that (the string performance post was a huge one in this regard too )

Raph on February 19, 2009 1:56 AM

Your own research and data should trump any claims you read from anyone, no matter how much of an authority or expert you, I, Google, or the general community at large may believe them to be.
Jeff, if everyone always followed this advice then people would still believe the world is flat. Sometimes you can study long and study wrong. Sometimes people are wrong and need to reconsider what they know instead of actively dismissing things off hand.
I also believe that you are being too pessimistic about teaching the SOLID principles to novices, we were all novices once in need of guidance,so assuming that all novice developers are too thick headed to be taught anything doesn't make sense. Some novice developers will study and understand the principles and others will fail, it's just natural selection, only the fittest are allowed to use a keyboard to give a computer instructions in anger or at least it should be.
Jeff you've done your due diligence, you've questioned expert Uncle Bob's teachings about SOLID but even then this does not prove that they should not be introduced to novice developers so they can be informed of principles others have learned over time. I think you should reconsider what you know.

o.s. on February 19, 2009 2:28 AM

recently i came across http://torjo.com/ and ran away

Eric on February 19, 2009 2:42 AM

ok
totally off topic
but I know you did a couple of blog entries awhile back on captchas, and I just had enter one for Steam

can you read these 6 letters ?
http://forums.steampowered.com/forums/search.php

impossible

james L on February 19, 2009 2:44 AM

It is easy to know who the experts are. They have earned specialized badges on Stack Overflow (http://blog.stackoverflow.com/2009/02/specialist-badge-implemented/)

Ray Vega on February 19, 2009 2:53 AM

@Charles

Breton said: It forces you to actually think for yourself.

Charles said: That's just stupid.


You make a very strange point there, Charles... ;-)

This is a blog, man. Just one guys opinions about something. It is not a peer-reviewed paper, it is not a reference, it is not a published book, heck - it's not even a column in a trashy magazine.

One of the things I like about Coding Horror (when I like it) is that the outrage and urge to want to criticise (or sometimes defend) Jeff comes from a valuable source - you have thought about the topic. You have used your mind.

I feel that this happens more here than in some other places, because you know by now that you can't always trust Jeff to be right. Jeff keeps making posts about things that he doesn't know everything about.

That he keeps doing that despite the criticism is far from childish, in my opinion. I actually find it a bit courageous, like doing karaoke in a packed stadium arena ;-)

Check facts, investigate - think for yourself. It's not stupid.

Console on February 19, 2009 2:56 AM

@charles You remind me of the people in the 2004 campaign who were hysterical any time someone demonstrated an ability to change their mind.

Having a self consistent message does have a great deal of effect on its *persuasive* power, yes. But if you've read this blog for any length of time, you realize that is not the point. Jeff Atwood is not trying to persuade us that he is correct. He is trying to provoke us, willingly or not, into thinking about a particular subject in a way that he finds interesting at the time. Even if he's wrong, you, someone in the comments, or another blogger will get to the bottom of it. Or maybe it will reveal, in the ensuing argument, that there *isn't* a single answer to the question that is any more compelling than the others.

Post modernism isn't about rejecting the idea that there's an objective reality. It's rejecting the idea that we can reliably recieve this reality via some authority, or tradition. Jeff Atwood clearly doesn't want to become a reliable authority. This is embodied not simply from his words, but in his actions. Thus, he frequently contradicts himself, and says things that are obviously wrong. Being a single person that knows the correct answer to everything is just too much of a burden for anyone to bear.

Breton on February 19, 2009 4:17 AM

Of course, this is not to replace the idea of the expert with anyone is an expert. Just pointing to the many times in history where placing all our trust in experts has gone wrong. Perhaps there isn't a better alternative to expert worship, but it sure ain't perfect.

Breton on February 19, 2009 4:21 AM

Wikipedia's anti-expert attitude was shown to be rather worthless when the subject of a biographical page attempted to correct errors about his own life. It reminded me of the movie Back to School and the grade given for the autobiography by Kurt Vonnegut.

What the heck is the reference to NAMBLA?

arl on February 19, 2009 4:26 AM

Avoid certifications that trivialize the craft.
Umm.... no... that certifications certify that you have met specific criterea. Nothing more, nothing less. A medical certification does not certify how much a doctor knows, or how good they are, it merely certifies that they know enough and are good enough to be able to practice. Does anyone argue that medical certification trivializes medicin???????

Why is IT so against any type of mandating of a minimum set of required skills/knowledge? I don't get it.

Your levels are missing a level:
Level 4: I overcome my ego and realise that self-critical thinking is a myth and engage in 360 degree peer feedback. I realise that the gaps I thought I had were not the gaps others saw that I had.


I prefer the Known/Unknowns approach:

Unknown Unknowns - things you don't know you don't know. Like a fourth grader's understanding of calculus - doesn't know that he doesn't know calculus because he doesn't know it exists.

Known Unknowns - things you know you don't know. Like a 7th grader who has heard that calculus exists, but doesn't know anything about it.

Known Knowns - things that you know you know. Like the 12th grader who has studied calculus. They both know what it is and they know how to do it.

Unknown Knowns - things that you don't know you know. Like the trivia player who answers a question and is then surprised the knew the answer.

Philip on February 19, 2009 4:33 AM

This is really interesting to me because I find it to be one of the problems I often see floating around in my head that there are no simple answers to. I mean, I know, there are very few simple answers to anything, but this specifically has two simple paths and both of them have plenty of cases justifying their positions, and neither are inherently wrong just at first glance.

Supporters of expertise will notice the extremely obvious fact that the world is populated by a very large excess of people who are stupid, it is thus important that we are capable of gauging the capacity of a given speaker to speak about the subject matter in question that they're currently addressing. Case in point, when the new guy decries the inefficiencies of subversion by saying something along the lines of This is really dumb, most listeners lent less credence to his arguments than the video lecture by Linus Torvalds about why subversion was, in fact, quite stupid.

The fact that at this point the innate reaction is to say something along the lines of Yeah but despite what he said, you know, subversion does actually get the job done a large amount of the time, and if you're in an environment working with a bunch of windows based coders who are intimidated by the command line, setting up a version control system based on git is actually just as stupid as Linus' points about git being better than subversion make subversion appear to be, tortoise svn is the clincher, and telling something like that to a person like Linus would just make him laugh at you. And you'd be pretty much right on the money with that summation of the situation, and although a genuine expert would indeed laugh at you, git would still be a bad fit for the exact reasons you raise.

Within our domain, it is important to be able to research and critically analyse complex situations independently and come to something of a balanced and well thought out conclusion with regards to issues of such complexity that if you were to try and explain them to someone from before the dawn of civilisation, you may as well be talking to an alien. We all exist and operate within this space as subject matter experts to lesser or greater degrees based on our abilities to bootstrap our grasp of a problem from the entire expanse of human knowledge.

I was reading a blog post by Steve Yegge not long ago, which I thought was a really interesting summation of the entire situation, he was talking about the acceptable level at which you could safely rely upon an innately leaky abstraction as just magic. Amusingly enough he placed this level of abstraction at just below the point where he understood and admitted that he didn't really get how stuff worked at a transistor level, but if anyone wanted to argue with him about the importance of knowing raw java rather than just using J2EE they'd be in for a fight to the death, or recollecting more models from Design Patterns than the singleton, etc. Despite Steve's dismissal of comprehension of this level of abstraction, it is, indeed, actually critical stuff to know under certain circumstances.

I often hear nowadays of the fact that the entire length and breadth of human knowledge is simply too vast to store within memory, and you cannot become a subject matter expert on every single thing that there is that humans have discovered and abstracted in the history of civilisation. This is self evidently true, and yet having that depth of knowledge is in one sphere or another entirely critical to the sphere in question. The solution, in my opinion is to abandon our vaunted reliance on field expertise as rote memorisation, rapid calculation, or precise simulation, even at the generalised theory level. All three of these things computers do far better than any of us, and they should be used when these things need to be done.

I had a job interview with google, and have read of many job interviews conducted by google, where they've almost disqualified candidates on the spot for writing a prototype c program in the interview and not spotting a memory leak immediately, or because they could not instantly recall the precise amount of blocks in an inode created by mke2fs in distribution X. Stuff like this is the symptom of the disease that this entire situation is so emblematic of. They have a word for people that dedicate a disproportionate amount of mental resources to the rote memorisation or ignoring the forest for the trees based reasoning that is a hallmark of the aforementioned situations, idiot savant, autistic, etc.

It's particularly amusing behaviour coming from the very company that makes such skills largely irrelevant. Mark Cuban summed it up pretty well when he said an excellent memory used to be worth something, but now we just google it. If you're relying on your encyclopaedic knowledge of domain x without reference checking your critical decisions each and every time and making sure that your underlying assumptions are entirely valid, sooner or later you're going to make a mistake that someone who *does* that would not have made. And no, it doesn't make you immensely faster or more effective to do so, because the cognitive abilities that you sacrifice to this rote memorisation exercise tends to contribute to an impairment of your ability to quickly and effectively conduct a complete analysis of the entire problem on the spot building all the information from nothing and making sure it is entirely valid and applicable at the exact time you're doing it. Idiot savants, absent minded professors and general autistic tendencies are illustrative of exactly what I'm talking about.

We, especially as coders, but arguably as an entire species, are ideally, no longer purely biological entities when it comes to addressing problems. We have a wealth of experience to draw from, both personal and external with regards to what has worked in similar domains in the past. We do not need to remember every keyword and function call within an entire language by rote to be effective coders, we do not need to remember every object oriented design paradigm to be effective coders, and we absolutely, positively, do not need 100% reliable working c compilers embedded in our wetware in order to be effective coders, nor need to memorise the precise amount of blocks in an inode created by mke2fs on distribution x version y. But it can very much help toward the goal of being effective coders if we can quickly and accurately gain access to all of the prior information *and* an indefinite amount more as quickly and easily as possible.

And this, I believe, is the true role of expertise, understanding what the important variables are, and being able to quickly and reliably fill them in with all due respect to the specific domain of the problem in question. I will take someone that can do that over a person who has memorised less than a percent of what could reasonably be stored in a terabyte of space, on any modern software project. Compete in the sphere in which we excel, none of us will ever outmatch a hard disk in a memory contest, nor execute more instructions per second than a modern CPU.

Disclaimer; This is only my opinion, and I do fully admit that I could be wrong, maybe these things are in fact critical and I am in fact simply stupid and the world will keep turning without my ludicrous opinions, thank you very much. And with regards to the specific examples I gave, I have a ton of respect for both Steve Yegge and Google, despite my disagreeing with them on this particular issue, it is not my intent to point and laugh at all, merely to illustrate that some overall very clever people and organisations are behaving in some small way which under closer examination, are maybe not all that clever. The fact that Steve has started pushing the virtues of dynamic languages and google doesn't insist everything be done in assembler gives me hope for the future.

Eric on February 19, 2009 4:42 AM

Level 3 is driving while changing the radio and texting. I mean you shouldn't do this :) but the point is you know how to drive so well you don't actively use your mind to do it.

I suspect you should watch Seven Pounds if you haven't been exposed to a similar experience in your life...

http://www.sevenpounds.com/

SevenPounds on February 19, 2009 4:57 AM

@Console
----------------------------------------------------------------
Breton said: It forces you to actually think for yourself.

Charles said: That's just stupid.

Console said:

-- ... a lot of blather later ...

Check facts, investigate - think for yourself. It's not stupid.

----------------------------------------------------------------


@Console, that is just ridiculous. Don't quote me out of context. I simply cannot be held responsible for any problems you may have with the English language or reading comprehension. It is completely childish of you to misquote me, mischaracterize my statements, and it is certainly very strange for you to launch yet another cliche diatribe based on your strawman mischaracterization of my statements.

Charles on February 19, 2009 4:57 AM

Experts are, if anything, more suspect than the amateurs, because they're less honest. You should question everything I write here, in the same way you question everything you've ever read online -- or anywhere else for that matter.

Amen!

goatslayer on February 19, 2009 5:03 AM

@Breton:
@charles You remind me of the people in the 2004 campaign who were hysterical any time someone demonstrated an ability to change their mind.

How is that so? You've just make naked assertion. Trying to characterize me as some humdrum Christian Rightwinger doesn't invalidate any of my statements. I said your original cynical view may be right but if it is then its silly to see that as a good thing.

Don't play coy. You were jabbering about how great all these contradictions. That is not the same as having the capacity to change one's mind. Being mentally aware and flexible and even capricious enough as to change one's mind every day willy nilly at the drop of the hat is not the same thing as constantly contradicting one's self for the sake of contradiction or to hold contradiction up as a standard we should allow aspire to. Don't be ridiculous.

Charles on February 19, 2009 5:03 AM

Some of us do watch The Daily Show, or NAMBLA, so get it. ;)

This blog reminds me of a Cornell study a few years back that said in essense that incompetent people think they are highly competent while competent people think they are LESS competent than they actually are because they realize how much they don't know.

I always think of this study when I see some expert on TV.

Article Brief:

Unskilled and Unaware of It: How Difficulties in Recognizing One's Own Incompetence Lead to Inflated Self-Assessments

Justin Kruger and David Dunning
Cornell University

Abstract
People tend to hold overly favorable views of their abilities in many social and intellectual domains. The authors suggest that this overestimation occurs, in part, because people who are unskilled in these domains suffer a dual burden: Not only do these people reach erroneous conclusions and make unfortunate choices, but their incompetence robs them of the metacognitive ability to realize it. Across 4 studies, the authors found that participants scoring in the bottom quartile on tests of humor, grammar, and logic grossly overestimated their test performance and ability. Although their test scores put them in the 12th percentile, they estimated themselves to be in the 62nd. Several analyses linked this miscalibration to deficits in metacognitive skill, or the capacity to distinguish accuracy from error. Paradoxically, improving the skills of participants, and thus increasing their metacognitive competence, helped them recognize the limitations of their abilities.

- http://74.125.47.132/search?q=cache:vlX_V9SqScUJ:www.apa.org/journals/features/psp7761121.pdf+people+tend+to+hold+overlyhl=enct=clnkcd=1gl=us

Mitur Binesderti on February 19, 2009 5:18 AM

I enjoyed the satirical posting from Stephen above. Some of you may have taken it literally as the clues are very subtle, but I'm sure you will have spotted:

To date, my estimates have been within 10%, and not once has there been an underestimate

...this will delay the project, and my estimate is that it's a 6 month delay. Two years later, it's still not done, and my new estimate is 6 more months.

What a genius. I would like to quote from another great comedian at this point:

I don't try to be good at this. It just comes out. I don't expect anyone to listen. I don't even listen.

Leigh Caldwell on February 19, 2009 5:36 AM

It troubles me greatly to hear that people see me as an expert or an authority, and not a fellow amateur.

I don't see amateur as being the opposite of expert. The opposite of amateur is professional, the opposite of expert is more like novice or layman. You can be an expert in a field you treat as a hobby.

Your own research and data should trump any claims you read from anyone, no matter how much of an authority or expert you, I, Google, or the general community at large may believe them to be.

The problem here is that your own research will almost certainly be worse than the genuine experts. This way leads to global warming deniers, anti-vaxers, and all sorts of psudo-scientific beliefs. After all what do experts know?

I think the problem in this post is that you are confusing the idea of expert from that of someone calling themselves an expert. There are many people claiming themselves expert, and many of them do so incorrectly, but that doesn't mean you should assume that all experts are wrong.


Steve W on February 19, 2009 5:44 AM

How is that so? You've just make naked assertion yes I suppose I did. I'll back it up now with primary evidence. Breton, does Charles remind you of hysterical political pundits?

...
...
oh wait, that's me.
Yeah, I suppose he reminds me a bit of them. He's certainly got the hysteria part down.

Trying to characterize me as some humdrum Christian Rightwinger doesn't invalidate any of my statements.

You're right, it doesn't. How sharp of you to notice. But it doesn't really have any relevance because it was logically meaningless atmosphere and value judgement on my part. Not a central premise to my argument. You can remind me of something, without it implying that you are *exactly* like that thing.

'I said your original cynical view may be right but if it is then its silly to see that as a good thing. '

And I can't help but wonder why it's important that we hold our bloggers up to the standard of always presenting a self consistent view that really reflects exactly what the author thinks on a really shallow surface level. Myself, I enjoy the meta-theater. It's more interesting than reading someone drone on about some new feature they found in sharepoint.

Don't play coy. You were jabbering about how great all these contradictions. I'm sorry, are you missing an adjective, or a verb in there? I can't make sense of this sentence. If you meant Don't play coy. You were jabbering about how great all these contradictions are. Then I still can't make sense of it, because I don't remember either elaborately praising contradictions, or being coy about their usefulness, or interest. There's a kind of intellectual dishonesty going on here, but I can't quite put my finger on what, but it smells of straw.

That is not the same as having the capacity to change one's mind.

No, but it might make someone else change theirs.

Being mentally aware and flexible and even capricious enough as to change one's mind every day willy nilly at the drop of the hat is not the same thing as constantly contradicting one's self for the sake of contradiction or to hold contradiction up as a standard we should allow aspire to. Don't be ridiculous.

I can't tell what you're arguing for or against here, and none of it seems to resemble anything that I've written (aside from superficially containing a few of the same words). As a result, I can't knowledgably agree or disagree with any of it. Take a deep breath, count to ten, and try again, sir.

Breton on February 19, 2009 5:46 AM

Thank you, Jeff, for an inspiring post.

To summarize your point, if only to make sure I understood correctly:
Any 'Expert' that claims to be an expert and that therefore I need to accept his opinion, without justification, isn't really a reliable expert source.

However, if I, on my own, recognize someone as an expert in a particular field, by their ability to ask the right questions and make correct suggestions, by past decisions that led to valid and expected results, then they can truly be considered an Expert.

Schmuli.

Schmuli on February 19, 2009 5:58 AM

I think a key observation is that the problem with experts is also a problem with subjects. I think it is only possible to be an expert in a subject with a very narrow scope. Experts are often not at all experts in teaching or communicating their expertize. Wikipedia, going after the subject everything seems to be keenly aware of the limitations of expertize.

Ian on February 19, 2009 6:13 AM

A phrase with the word circle in it comes to mind

A lot of people need to get out more

Red on February 19, 2009 6:23 AM

This is a bit like the bible - it manages to contradict itself on a single page and in turn creates a beacon for enlightenment. Thanks Jeff.

Aidan de Graaf on February 19, 2009 6:39 AM

Any post with Steve McQueen is automatically awesome.

Astrochicken on February 19, 2009 6:52 AM

Don't trust anyone, even me, when I say not to trust anyone.

Ooooohhh paradox.

Breton on February 19, 2009 6:57 AM

You say you're an expert at not being an expert.

Wait... what?

Charles on February 19, 2009 7:33 AM

@Breton, don't be ridiculous. I'm not being hysterical. I'm sorry if logical arguments offend you. You're whole tactic is condescending ad hominem. You've accused me of state that it is bad to change one's mind; even likening me to some humdrum Christian Rightwingers. I've only criticized the view that contradiction for the sake of it has any positive value while you retort by saying you love the meta-theatre, which is little more than a vacuous, cliche, meta neologism Yet, you act as if I have not addressed anything you have said and ask me to count to ten. Can you not read what you've already written?

charles on February 19, 2009 7:36 AM

I now see The Towering Inferno in an entirely new light. Off to Netflix!

Andy Lee on February 19, 2009 7:38 AM

Jeff -

Cubanx's driving analogy is a good example of part of the problem. Being able to drive while fiddling with the radio does not mean one is an expert driver. At what level would you put someone who drives professionally (40+ hours/week) - couriers, taxi drivers, bus drivers, long-haul truckers, etc.? At what level would you put instructors in defensive-driving classes? At what level would you put Mario Andretti or Michael Schumacher? Most of the radio twiddlers actually belong in category 0 or 1, depending on whether they understand their own incompetence or not. This means you (well, statistically, most of you).

Never Ask My Brother's Lawyer Anything. Nick Anderson Makes Bloody Lovely Ale. You might run a contest, give away a tee-shirt.

- Lepto

Lepto Spirosis on February 19, 2009 7:40 AM

quote
can you read these 6 letters ?
http://forums.steampowered.com/forums/search.php

impossible
/quote
If you copy the image, drop it into paint and zoom it to 400% it is almost readable.

Hartmut on February 19, 2009 7:52 AM

Your post brings to mind two other things:

* Gladwell's Outliers, and others, debunking the notion of talent as something innate and intrinsic, instead of as simply the natural side effect of practice and experience
* Karate martial arts ranking system, where (according to Wikipedia) 'shodan', means literally the first/beginning step...black belt is not the end of training but rather as a beginning to advanced learning: the individual now knows how to walk and may thus begin the journey.

A on February 19, 2009 7:52 AM

Are you an expert? No, even after 25 years of programming, the more you know the less you know. You donít know what you donít know.

Btw, are there any ìhumbleî programmers out there? Based on some of the comments on this blog (and the author himself) one has to wonderÖ

Mitch on February 19, 2009 7:53 AM

I couldn't help but think about House M.D. while reading this entry. He's clearly well-experienced, but as it was shown in season 4 after his team quits, he's pretty useless alone. He needs other people he can ask questions and get ideas from.

glompix on February 19, 2009 8:13 AM

Dadgummit, I ben havin plenty trouble already rememberin all them syntax rules class hararkies such, and now yall got me ta thinkin I done still need ta larn bout experts such, an all them ifs, ands, ur buts bout experts.

Dang, if my noodle ain't spinnin' like after drinkin two mucha Jake's Garonteed Powurful Jiminy-Juice (that there be mooonshine fur yall younguns nevah heard a it.)

Life jus too doggone complee-acated! Time ta go a fishin! Ain't no experts thereabouts ta git yur dander all up in a spittin match!

Jeff R. on February 19, 2009 8:35 AM

Well I must say, any expert should immediately realize that this article is the epitome of irony. Most everyone here is agreeing with an expert in the field of computer science about how you can't be an expert, simply because the expert said so. Yes I realize Jeff doesn't think himself an expert, but that's why people are agreeing with him, because if not for that perception, they'd see right through the ridiculousness of his logic.

Jeff, I realize you don't think yourself an expert, but others do. And they blindly follow you without critically thinking about the words you type. Only a while back you were pointing out that it takes on average 10 years to become an expert in a given craft.

@Mark Smith - yeah I believe you're not an expert, you've been writing in delphi for 10 years. Try picking up a few more languages and you'll begin to realize why.

@Jeremy Rishel - Thank you for posting some sanity high in the list, being an expert in something is not impossible, and you ABSOLUTELY CAN AND SHOULD hold a higher bias towards experts, while at the same time deconstructing what they preach in a manner to maintain an internally consistent logical model of the world. Otherwise you'd spend your entire life double checking the research of others and both you and society will never advance past the basics of math. Should you verify Newton's theory of gravity, or Diophantus's exploration into early Algebra? Or should you trust them as experts in their field that took them a lifetime to achieve and move on?

@Jeff - The links you reference and your criticisms apply to NON-EXPERTS pretending to be experts. When you meet a real expert in the field, (who's not a d*ck) then you'll realize they exist and that you will (not should) evaluate their remarks as truth. Because they can explain and rationalize their statements with evidence and examples. Not because they say so. Wikipedia does that because they have no way to vet the skill of contributors, not because they hold little or no regard towards true experts. Yes, experts can get it wrong sometimes, they're human, but that doesn't mean we should chastise the term or think of anyone who considers themselves an expert as a novice with ego issues.

@everyone - Start thinking for yourself. Sure there are bad examples of every type from programmers to librarians. But there most certainly are truly great experts in this world. Teachers, scientists, programmers and even politicians. They are rare because it's a difficult path. They embody honesty and humility because they've been proven wrong and have been humbled by it while traveling that path. But they are most certainly experts, and they do know it. They don't stop learning, but they do move on to different topics in which they learn because they have mastered previous ones.

Nobody can know everything there is to know about the future of software, but that isn't the definition of an expert. You can know 95% of what is currently collectively known about software, at which point you're AN EXPERT.

And I assure you, the technologies you're working with and the methodologies you use were devised by experts. Amateurs don't architect frameworks, very few amateurs ever reach such greatness, yet people grip on to figures like Einstein to think they too can become legends in their fields. Not all experts get their frameworks right, but I guarantee you almost every single amateur will write a terrible framework in their career, if they even attempt one to begin with.

If you found Jeff's post to be insightful and so true, then you missed the contradictions, straw-man logic constructs, and down-right idiocracy-like prophecy in just about every sentence. If you make amateur and mediocrity your goal you will get there, you'll get there fast (which is gratifying for some) and you'll never move past it because you will have convinced yourself that's where you needed to be. And when you get a mass of others telling you the same including perceived figureheads like Jeff, you'll have completely rationalized it as truth.

oh and @Mitur - Be careful of what conclusions you draw from studies. Your Cornell study only indicates that incompetent people tend to misjudge how stupid they are because the don't possess metacognitive abilities. Nowhere does the report indicate smart people think they're stupid (or even less than what they are.) The studies do show a few percentage points off in their estimations and their results for the top tier participants, but the margin in no way provides enough to counter the margin of error you get when you test 140 Cornell students. The social stigma of being a nerd with little self confidence alone is enough to justify those margins. And remember these are Cornell students, of course they're going to think highly of themselves... they're 20 year old's who were accepted to Cornell! Not only that, but you make the conclusion that it's because they know how much they don't know - which would mean they know how much they do know (because they have higher metacognitive abilities,) so they should be accurately predicting their results.

Steve M. on February 19, 2009 8:36 AM

Saying the right words is a sign of being intelligent, asking the right questions is the sign of being wise. - Anon

Shailesh Khandekar on February 19, 2009 8:36 AM

LOL!

No worries, Jeff! At first I thought you were a l337 dev expert by sheer reputation, but after reading your blog and tweets for a while and watching you screw up features on stackoverflow.com (ever heard of asking users what they want first?), it's pretty obvious now that you're just another amateur - but a very interesting one! Keep up the good works!

I'm very glad to see that you haven't made the number one killer mistake of hubris: thinking that you're smart, when you really just got lucky - that actually makes you smart!

irrelevant on February 19, 2009 8:49 AM

@Breton, don't be ridiculous. I'm not being hysterical. I'm sorry if logical arguments offend you.

No need to be sorry. They don't offend me. though I fail to see what this has to do with the current situation.

You're whole tactic is condescending ad hominem. I may be guilty of saying something about you which you find offensive. However my argument was not premised on that statement, so I don't think it qualifies as a logical fallacy. Furthermore it was a true statement, but for sake of clarification, it's true insofar as you do remind of of a hysterical political pundit, in fact, the more you write, the more you seem to resemble the religious sort of person you've kind of brought up out of nowhere. However, I never stated that you actually WERE that sort of person. I am obviously in no sort of position to make such a judgement, internet communications being what they are. so this line of argument is really nothing more than an irrelevant distraction from the real conversation at hand. We can put it to rest here.

I've only criticized the view that contradiction for the sake of it has any positive value


Yes I suppose you did, scrolling back, here is your argument, in total:

That's just stupid. If that's true then the blog is little more than a farce. If that's the case, it is a childish way of deflecting criticism and goes against the scholastic notion of presenting ideas cogently, thoughtfully, and sincerely. I'm not saying your wrong, but perhaps your evaluation of it as a good thing is a bit silly.

And well, aside from the fact that I hadn't evaluated it as either good or bad, there's really not much here to sink one's teeth into. You've jumped from X is true, then Y, without really anything inbetween to sort of argue why Y MUST follow from X, you know? So it ends up prematurely jumping to a conclusion. In your subsequent posts you've focused on superficial details without really addressing this essential failing of your original argument.

while you retort by saying you love the meta-theatre, which is little more than a vacuous, cliche, meta neologism Yet, you act as if I have not addressed anything you have said and ask me to count to ten. Can you not read what you've already written?

I can read what I've written. Apparently you can't, because you honestly haven't addressed anything i've written. Well aside from an inconsequential half insult that wasn't particularly consequential to my argument. You have that bit SOOOO covered.

Breton on February 19, 2009 9:16 AM

so to sum up, You think the contradictions in Jeff Atwood's articles are Just Stupid, a farce, childish. I'll throw away the silly remark because you only applied it to a strawman.

Do you have anything to add to this stirring critique?

Breton on February 19, 2009 9:22 AM

To anyone watching, I hate these huge drama threads. But I just can't resist a good game of name the logical fallacy. It's like a sudoku puzzle. Apologies for the mess.

To those who doubt the usefulness, legitimacy, or long history of being insincere in a scholarly setting, I suggest looking up Socratic Irony. Perhaps on wikipedia. It's quite fascinating.

Also see the series of worse is better articles which have probably been quite inspiring to Jeff's writing style, judging from the fact that he's talked about them, linked to them, and written about how inspiring they've been to him.

Breton on February 19, 2009 9:29 AM

Interesting post. No where else other than the software engineering profession would we have an introspective of what it means to be an expert and the disclaimers and warnings associated with anything handed out from an authority. In any other field, there would be no discussion when someone is thought to be an expert gives an opinion.

I would define an expert as someone who has experience with the subject. And someone who has undergone the pain of dealing with a problem(say a software problem) and has solved it. Therefore when solving problems, an expert who has previous experience in that domain can provide an useful opinion. For example, a novice programmer designing a system would definitely want to heed someone with 10years of experience building similar complex systems. To not do so would be foolish.

Having said that, the problem unique to software is that irrespective of whatever expertise someone might have or how many years they might have under their belt, the new problem that one is facing is *unique* and *different* from any other one that the expert might have faced. So it is impossible to take an experts opinion and follow it blindly. Good judgment is still required before deciding if the opinion is valid in *this* particular scenario.

Experts are important to get some perspectives, but ultimately each decision rests with the actual person working on the problem.

Madhan on February 19, 2009 9:34 AM

recently i came across http://torjo.com/ and ran away

haha he is really a wanker! haha*


*Own personal comment.


Steve on February 19, 2009 9:55 AM

Experts are just former spurts.

And yes, the implication is that this means an expert used to be growing quickly and no longer is.

Because once you think you know it all you stop learning.

Whole post summed up! Woohoo! :)

Practicality on February 19, 2009 10:27 AM

Isn't this article a little hypocritical? I mean in the Real Ultimate Programming Power http://www.codinghorror.com/blog/archives/000856.html you just told everyone If it can't be explained on a single double-spaced sheet of paper, it's a waste of your time. That doesn't sound like an amateur talking...

tieTYT on February 19, 2009 10:28 AM

@Steve M: Sounds like you think of yourself as an expert and are offended that people don't think too highly of people who call themselves experts.

Think of it like this; if someone were to say to me, I hate stupid Americans. I wouldn't get offended at all because I don't think of myself as a stupid American, in fact I would agree and add that I hate all stupid people. So when people say they hate experts what they are really saying is they hate fake experts; no one is arguing that the accumulation of knowledge is a bad thing. If you're not a fake then you have no reason to get upset.

If you are offended it probably means you think of yourself as a fake and since you got a little pissy and hostile in your post it tells me even if you know a lot I wouldn't want you around because you're already displaying that expert mentality that we find so offensive.

I think most of us get it but no one seem very good at conveying it simply so here goes:

People that CALL themselves experts usually aren't.
People that ARE expert DON'T usually call themselves experts they just are.

Mitur Binesderti on February 19, 2009 10:38 AM

Hmmmmm, questioning everything to arrive at a most basic truth then building from there...this somehow sounds very familiar...

Renes Descartes on February 19, 2009 10:48 AM

This would have a bit more weight if Wikipedia wasn't painfully inaccurate.

The problem with everyone being able to change wikipedia, is that most people are [expletive] stupid - and I've given up trying to fight with them.

Steve-O on February 19, 2009 11:02 AM

@Renes Descartes, did not some old dead Greek guy say that? :) BTW are you immortal or are you stealing a name? ;)

Mark on February 19, 2009 11:12 AM

@Breton, all right. You're being childish. You're just making ad hominem attacks and saying No no, because I really think you are X there is not problem with my attacks. You haven't really presented a counterargument other than to say in your most cliche coffee shop jibber jabber I enjoy the meta-theater that is contradiction! And then you say I presented no rebuttal while quoting my very rebuttal! Maybe you are enjoying your own vortex of nothingness contradiction meta-theater? Nevertheless, my first post to you is correct. You essentially implied this contradictory jibber jabber is a good thing because it forces you to think for yourself. Of course, no one could possibly think for one's self without being constantly confronted with contradiction. So I'm done with your stuff. I want to get back to criticizing this fortune cookie Scholar Buccaneer or Buccaneer Scholar or whatever it is!

charles on February 19, 2009 11:17 AM

Your new font is absolutely HORRIBLE!

nab on February 19, 2009 11:29 AM

1. I think it's fair to say the web lacks real experts, but there are a whole lot of self-proclaimed experts, and it is the latter we dread. Especially in IT where there are a lot of asocial pricks.

2. Sentimentally I agree that we should remain humble, but try telling that to HR when your resume is getting screened into the garbage.

All 'C# expert' means is I pretty much don't need hand holding. It doesn't mean that I'm Anders go-to guy, and it doesn't mean I have Eric Lipperts insight into the compiler. 'proficient in C#' means I know what C# is and I'm able to deconstruct if it I stare at it long enough.

And then, because I have to label myself as 'expert' I start to believe my own bullsh*t.

fb on February 19, 2009 11:35 AM

I think being an expert is just a title.
I think sometimes non-experts can provide more value than experts.
If I would consider myself an expert I would feel that there is nothing more to learn... and there is always something new to learn. So I am not sure I want to use the word Expert in my life.

Victor Velasquez on February 19, 2009 11:55 AM

I had an epiphany when I first read about the Dunning-Kruger effect, which anyone should wikipedia if they've never heard of it. This post directly relates to it. It applies to everything. You encounter it every day. You are a victim of it yourself -- until you see it.

Great post.

Jim on February 19, 2009 12:04 PM

There is nothing wrong with being an expert, experts where revered and honored at one time. The problem is political correctness, everything has been watered down. The English language is attack by those who wish to change our culture.

If the guy who picks up my garbage(who makes more than me) has got an engineering degree then he should be called a sanitation engineer, otherwise no.

What makes one an expert? Who decides it? Why should I care if you are an expert or not? These are all good questions one should ask when one is presented an idea that is from an expert.

Mark on February 19, 2009 12:05 PM

I like the wikipedia ref. Even if wikipedia's content were less reliable than an average encyclopedia it would still be a better resource. Why? Because you know its source, because you know it can't be completely trusted, because you are more likely to read it critically, because you are more likely to double check the information and cross-reference it with other sources. And a resource that encourages critical thinking is vastly more likely to foster the development of rational, well-informed individuals.

As it turns out the information in wikipedia is as reliable as conventional encyclopedias, but that's just a bonus.

Wedge on February 19, 2009 12:07 PM

@Breton: Jeff Atwood contradicts himself regularly. I think its his way of driving home the point that you can't really take him at face value. That would be lazy. It forces you to actually think for yourself.

That's just stupid. If that's true then the blog is little more than a farce. If that's the case, it is a childish way of deflecting criticism and goes against the scholastic notion of presenting ideas cogently, thoughtfully, and sincerely. I'm not saying your wrong, but perhaps your evaluation of it as a good thing is a bit silly.


Nevertheless, I don't understand the point of this post. Jeff, I have really liked your blog in the past; however, you have posted this cliche notion several times before in various forms. *And it is cliche.* I suppose it is an obvious response to all the comments from the previous two blog posts, perhaps several of the comments in the past several months.

This is a role for experts and scholars beyond just asking questions in specific problematic situations. I think your notion of that is just plain ridiculous. There is great value in those who are knowledgeable communicating their knowledge in more than just interrogative sentences.

As far as Wikipedia, I'm not sure what your point about that is. To the extent that Wikipedia has quality articles, it is because of experts. I'm not talking about the copious amounts of articles on celebrities but those articles which attempt to mirror those in traditional encyclopedias. However, your point sort of falls down, Wikipedia, in fact, has some very bad articles on scholarly subjects. For instance, many of their articles on philosophical topics are just rubbish; for instance, articles on various Platonic dialogues have wildly strange, unwarranted, and terribly non-standard interpretations. Obviously, the list goes on. Perhaps there are merits to Wikipedia, but I'm not sure what your point is or if there is one, how it is strengthened by appealing to Wikipedia. One minor quibble, I question calling that depiction postmodern and the notion of deconstruction is much more complicated than self-examination.

Anyway, I think the James Bach stuff there, and I really am not trying to be mean, is *horribly pretentious.* That is just self-aggrandizement taken to rather pedestrian level. Buccaneer Scholar? Really? Perhaps, that is the most pretentious thing I've ever read on a software blog, maybe even more so than on the jackets of postmodern tomes. The idea that the love of learning is muzzled and yoked by institutions is either pompous on conspiratorial. I hardly think that's what universities are doing. It is one thing to nod to the Invisible College but doing so in such meaningless way devoid of any content is rather sophomoric. It's the same as the whole cliche of I don't need school, it stifles me. Then the children like to quote Mark Twain; inevitably these people are never a Mark Twain or similar to that famous lowly German patent clerk they also tend to cite.

In short, I just don't see the point. Perhaps it's just a self-aggrandizing defense of the previous posts or something but I don't know. I hope it's not the cynical thing I quoted at the beginning of this rant.

charles on February 19, 2009 12:11 PM

One thing's for certain, I sure hope your doctor is an expert.

fb on February 19, 2009 12:12 PM

There are two types of experts, those who know a lot about their subject, but will not admit they don't know it : they cannot be trusted, and the humble expert as above who does not know everything, and will admit it, but knows where and how to find the answers

Wikipedia is a good resource if you treat it carefully, it is never an expert on any subject, it can be wrong or mistaken, but it's a good starting point (but never an end point...)

Some subjects are well covered because many people know a little about it, and some are experts who know a lot, some subjects are terrible simply because most people know nothing, or next to nothing, about it and there are few if any experts editing it, most of the Philosophy subjects, and similar esoteric subjects suffer from this

Wikipedia's anti-expert attitude was shown to be rather worthless when the subject of a biographical page attempted to correct errors about his own life

Wikipedia has a policy about this...it says don't do it

The problem is that the subject of a page will know more than anyone else *but* will be biased, will not be able to cite sources, and almost certainly be unable to prove they are who they say they are ....what is to stop me claiming to be a celebrity correcting my article and citing myself as the source

Wikipedia is not anti-expert, it is anti-non-humble-expert, if you can cite sources that are available to others your edits tend not to get overruled, the problem is lazy experts who correct a page, with no citations, and then complain when it is undone because they did not cite (they think they do not need to because they are an expert) on Wikipedia an expert is just another user, the only advantage they have is better knowledge


Jaster on February 19, 2009 12:17 PM

Great post Jeff. +1 :)

I first became an expert when the marketing people said so. It was news to me.
I prefer just trying to suck less everyday (although many days I suck just as much as the day before), comfortable that at least I know enough to be scared every now and then. Expert, hell no.
The day I start believing that is the day I should look for a new job.

I have met and worked with a few experts, but the real ones never talked about it or even thought about it, they just did it, and everyone who had their brain open learnt something.

seanb on February 19, 2009 12:27 PM

I don't understand how you can say that you can only be an expert if you are a fireman.

I mean, that is just so out of touch with reality, you clearly don't know anything about anything. This article is total garbage and the only reason you posted it is to drive traffic to stackoverflow and make more money for yourself.

----
I think I did that right, pick something Jeff didn't say or mean and argue against it, criticize Jeff personally, make some blanket idiotic statement, and then question Jeff's motives.

Greg H on February 19, 2009 12:29 PM

My favourite definition of an expert has become

The person with the greatest patience will always be called the expert

This is a bit inspired from the number of times I have had to come and troubleshoot at a development project :) You just know you don't know what the trouble is any more than any one else, but at least you-re willing to 'besiege' it and keep asking the (right) questions until you finally *do* find it.

The 'non-expert' will simply give up. Not necessarily because he/she didn't have the right questions, but mostly because most of them will be intimidated, lack the confidence to pursue.

Seth on February 19, 2009 12:49 PM

PS.just recalled the related and excellent title (I mean, just the title!) of a book by Joel Spolsky: Smart and gets stuff done

The and gets stuff done part is underrated!

Seth on February 19, 2009 12:54 PM

Mr. Green on experts: If there is one thing I have learned about experts, they're experts on fuck all.

Emanuel on February 19, 2009 12:59 PM

Definitely disagree with this article.

Experts are people who trained to know better on a specific topic, having both conscious and unconscious understanding of it. Sometimes, their knowledge is greater than yours. Accept it !

This is not to say that authority arguments should trump facts or dispense everyone else from trying to get an understanding of things. But unless something is at the core of your preocupations, you can take experts' opinion for a best practice to adopt, as long as you make sure that experts' advices are not guided by their personal agenda.

The advice from a software vendor expert to install their product on your system being an obvious example of a biased expertise.

But on other circumstances, you should listen to expert, more carefully than you listened to the random guy. And more importantly, you should listen to experts far more than you listen YOUR EGO

So to sum things up

Your research ans solid fact checking
expert
peer's opinion
your ego
random opinion
biased expert (aka Sales rep)
Jeff's opinion on expertise :)

Emmanuel M on February 20, 2009 4:27 AM

... an expert, as someone who has already discovered everything there is to know about a given topic ...
Jeff, you don't have your terms right. An expert is NOT someone who has already discovered everything there is to know about a given topic. An expert for a given topic knows that he/she does not know everything. Above that: The correct term for someone who _thinks_ he/she has already discovered everything there is to know about a given topic is idiot or even dangerous idiot.

Alex Jones on February 20, 2009 5:10 AM

Great post Jeff!! I plan to re-read this one on a regular basis just to keep myself in the right perspective.

Chris Porter on February 20, 2009 9:02 AM

Unfortunately, (or perhaps fortunately, the money is good), I became an expert. That appellation was the judgment of my peers; my own assessment was more realistic - I make a lot of mistakes. Even small errors (in the eyes of others) seem large to me, the expert. Hopefully, the standard deviation of my errors is sufficiently smaller than those of my peers - otherwise I should move on to some other line of work.


(Never Aggravate Mutated Bloodstock Ligature Anti-venin)

Lepto Spirosis on February 20, 2009 10:12 AM

Folks: I must agree w/ charles of 19-Feb. This blog post isn't an argument against experts, frankly I'm not sure what it's really about ! I will say I detect a certain wrong-headedness about the distinction between expertise and authority running in many comments. I was very recently promoted on my job, so I've thought about these issues quite a bit and here are a few observations.

Referring to the Towering Inferno/Steve McQueen example, the chief analyzes the situation by asking thoughtful questions, based on his experience in dealing w/ fires over decades. Subsequently, he commences to give **orders** to address the problem, as he has modelled it in his head. (Never saw the movie, so I don't know things turn out.)

Jeff mentions the 1st part of the equation: the analysis, but fails to mention the 2nd, even more ctitical element: implementation of a solution. In a team, there may be several experts, but only one of them is a team leader and that leader is supposed to **give orders**, to solve the task at hand. One can only hope that the team leader is competant (ie. has **adequate** skills in the problem domain: fire-fighting, programming, whatever) and knows how to achieve objectives through the efforts of others (ie. is a good supervisor/manager.) The team leader **needn't** be the best practictioner on the team, as long as he/she has firm control over his/her ego, so that the leader chooses the right person for the right job. Team members must also have a tight grip over their own egos, as an individual **must** accept that the leader need not be the best practictioner on the team, as long as the team's goals are achieved in a more-or-less timely **and** economical fashion. Unfortunately, we've all been victims of the 'Peter Principle', individuals who've been promoted past their level of competance, so we sometimes resist being team leaders/supervisors/managers and resist calling ourselves expert (ie. we resist **being** authority figures, possibly to avoid becoming the assholes we've come to loathe.)

Wikipedia is a nice idea and I use the facility regularly, but it isn't and never will be an **authoritative** resource, as long as Jimmy Wales has his way. He wants to create a comprehensive reference work by way of some utopian, democratic process, hence the so-called 'anti-expert bias'. He **will** fail, bec one must have referees (ie. editors) who will, in fact, end debates by saying: 'Because **I** said so !'. **Someone** must make important decisions when disputes arise and the democratic model isn't a viable tool for making **management** decisions. The publisher (Wales) chooses and validates his executive editor and assistant editors, who in turn, choose and validate their expert researchers. One **might** use the democratic process, to choose among expert researchers, the individual who will be the overall editor of an interest area. (However that might give an unfair advantage to the more politically adept in the group. C'est la vie.) But, it's ludicrous to suggest that **anyone from anywhere** should be permitted to decide the content of a particular article w/o knowing **anything** about their qualifications **or** (possibly more important) their motives.

Expert and authority aren't 'dirty' words. Responsible experts help to impart to neophytes the best practices for their chosen profession. Capable leaders achieve complex objectives (in a timely and econmical fashion) from the indivduals under their influence. However, if you want good experts/leaders/managers, **you** have to step up when the opportunities present themselves and **be** the role model of what a competant expert or leader is supposed to be.

The Jetman on February 20, 2009 12:52 PM

More comments»

Verify your Comment

Previewing your Comment

This is only a preview. Your comment has not yet been posted.

Working...
Your comment could not be posted. Error type:
Your comment has been posted. Post another comment

The letters and numbers you entered did not match the image. Please try again.

As a final step before posting your comment, enter the letters and numbers you see in the image below. This prevents automated programs from posting comments.

Having trouble reading this image? View an alternate.

Working...

Post a comment

Content (c) 2009 Jeff Atwood. Logo image used with permission of the author. (c) 1993 Steven C. McConnell. All Rights Reserved.