I'm getting increasingly discouraged at how long it takes me to solve technical problems, whether it's during programming interviews or doing puzzles on the internet.
I know the most common advice is to practice practice practice and that is what I have been doing - online puzzles, TopCoder etc etc, but I don't seem to be getting better. I have friends who are always able to solve these things much faster than me, seemingly without any practice.
This is holding me back from getting the job I want because I'm always so slow to come up with an answer during interviews.
The sad thing is that I have a PhD in CS from a top university, and an IQ in the high 130's, so on paper I'm not exactly stupid... But I always rationalize this and say that the only reason I got accepted was because of good grades due to excellent rote learning skills, not smartness.
Does anyone have any pearls of wisdom?
You are not the fastest at solving programming puzzles. Does that mean you're not smart? No.
Personally I think you are one of many who overvalue the importance of solving technical problems quickly. Quoting a Google analysis from two years ago at http://www.nytimes.com/2013/06/20/business/in-head-hunting-b... :
> Years ago, we did a study to determine whether anyone at Google is particularly good at hiring. We looked at tens of thousands of interviews, and everyone who had done the interviews and what they scored the candidate, and how that person ultimately performed in their job. We found zero relationship. It’s a complete random mess, except for one guy who was highly predictive because he only interviewed people for a very specialized area, where he happened to be the world’s leading expert.
It sucks that you didn't get the job you want. Don't conclude that you are not smart because of it. Throw your rationalization out the window - by analogy, chess playing computers are all about "rote learning skills", and they play better chess then pretty much every human. It's all too easy to be caught up in the idea that hard work isn't as important as some sort of innate genius.
See also http://www.kolotv.com/home/headlines/Praise-That-Backfires-W... which is one of many pieces (https://www.khanacademy.org/about/blog/post/95208400815/the-... is another) on how praise for smartness can backfire. Eg:
> In Dweck's research, she split kids into two groups. As one group solved puzzles, her team would tell the kids they were smart upon completing the task. She found that these kids started to avoid doing anything tougher. ...
> "If you try hard, it's almost like, 'Oh, you just really didn't have the talent to do it,'" said Barone.
> With sports, it's accepted that being the best means practicing. But if the brain is a muscle, just like your body, why is the body praised for going through the struggle, and the other, stigmatized?
> "In the U.S., struggle is seen by kids -- we've studied this -- as something that makes them feel incompetent," said Dweck. "They think, if you're really really smart or talented, it should come easily."