Hacker News new | ask | show | jobs
Why I'm The Best Programmer In The World (codinghorror.com)
24 points by pgmcgee 5525 days ago
2 comments

"When interviewing candidates for programming positions, I always look for someone who is brave enough to say "I don't know" when they need to. Candidates who can't or won't do this get red flagged; those types of programmers are dangerous. "Can-do" attitiudes have a superficial allure, but they're actually poison in our field."

I think this might be misleading. I never like saying "I don't know" by itself. Most of the time in real life situations, it's "I don't know, but I'm happy to find out" or "I don't know, but I'd love to learn how." To me, my attitude as a programmer is ALWAYS can-do, meaning, there is nothing that I can't or won't figure out or learn if it needs to be done. I think that helps me constantly push my technical limits.

I agree with you, but I still like people who can say just plainly "I don't know". This reminds me of PG's "How to Start a Startup" [1]:

"When nerds are unbearable it's usually because they're trying too hard to seem smart. But the smarter they are, the less pressure they feel to act smart. So as a rule you can recognize genuinely smart people by their ability to say things like 'I don't know,' 'Maybe you're right,' and 'I don't understand x well enough.'"

"This technique doesn't always work, because people can be influenced by their environment. In the MIT CS department, there seems to be a tradition of acting like a brusque know-it-all. I'm told it derives ultimately from Marvin Minsky, in the same way the classic airline pilot manner is said to derive from Chuck Yeager. Even genuinely smart people start to act this way there, so you have to make allowances."

"It helped us to have Robert Morris, who is one of the readiest to say 'I don't know' of anyone I've met. (At least, he was before he became a professor at MIT.) No one dared put on attitude around Robert, because he was obviously smarter than they were and yet had zero attitude himself."

[1] http://www.paulgraham.com/start.html

EDIT: formating

I almost never say "I don't know." I'll say something more useful like, "I haven't done that before. I'll have to do some research."

Why is this more useful? It shows that I am confident that I can get the task done, but some more time must be allotted for the research. "I don't know" is basically giving up.

I totally disagree about the 'can do' attitude statement, in case that wasn't already clear. It's absolutely vital to a good working environment that employees are actively trying to do their jobs, instead of giving up and forcing someone else to do it. Asking for help is expected. Giving up is useless.

> it's "I don't know, but I'm happy to find out" or "I don't know, but I'd love to learn how."

Indeed! That superficial allure is the technical person's user-talk reaction in my opinion. It's that very reason why I don't talk to users that way because, to some extent, it's condescending: something which I try very hard not to be.

Maybe I'm an idealist, but I find being honest gets a lot more things done than sugar-coating everything. It's probably why I'm also not good at politics.

There's a difference between admitting you don't know a piece of trivia, and just giving up on questions. Engineering interviews that are quizzes on trivia are really poor interviews. But if they ask a question I don't know the answer to, I'll talk my way through it as far as I can, but at some point you have to identify the missing pieces.
I agree. To me, "Can do" does not mean I am a$$licking. I maybe desperate to get a job but I definitely am more keen to find out how the hell it is done. "Can do" to me means, I am ready to learn because I want to.
Its funny I backed into programming by starting to do web development in the mid 90s. I was completely self taught, as most people were at that time when the technology of the web was changing so fast that a CS degree was almost obsolete the instant it was printed. I got my first web development job with little more then a desire and an "HTML for Dummies" book (which for years was the most borrowed book in my library)

It made me always question if I was "doing it right" so I quickly learned to eat any pride I had and ask questions of people. When I look back at it I always say that was one of the keys to any success I had. Even as I move a ways from development to building a business I still find myself constantly asking for advice even at risk of looking a bit naive, because I always felt that asking for advice and help was the only way to get better.