Overcoming Impostor Syndrome
jeanhsu.com
jeanhsu.com
>I got the job through a summer internship, which allowed me to bypass the rigorous 8-interviews-in-a-day hiring process. And I lucked out... completely escaped having to code over the phone.
I'm not trying to troll. However, I honestly do consider you landing a Google engineering internship/job with those school background (and zero coding experience outside of school up to that point) being pretty lucky. Consider this guy[1]. I believe he would've most likely gotten the internship had he gone through the same interview process as you. I know that's just my subjective opinion. However, the bottom line is he went through a very different (arguably harder) interview process than you did. It's harder in the sense you could have very well failed had you been asked to code over google doc + phone. The key factor here is this process that Google uses everyday to turn down countless competent but not extraordinary people - you did not have to go through it. That is the basis I deem you lucky.
There is a certain level of respect (among other befits) given to former or current Google engineers among hackers. And I would argue that is the case largely because of the very difficult process that they had to through to become one. I can totally understand why you had the sense of inferiority and insecurity of your coding abilities, having not gone through that process.
Of course none of this makes your point of everyone is good at different things and you should not beat yourself up any less significant. I agree with you on most other points. I'm also happy for you that you've overcome these self defeating thoughts and have proven to yourself. As some one else mentioned in the comments, the problem was you being you own toughest critic.
But what you do with the opportunity that you were lucky to get is up to you.
In my experience, Google's interview process is very random. You never know when you're going to get some jackass who wants to ask you some aha-problem question. When I was at Google we had some interns who were forced to reinterview, and some of the best were knocked out by a question about betting on the color of shells chosen in complete darkness or some such nonsense.
Side note -- I had impostor syndrome at Google because I had only gotten through the interviews, and never done any CS coursework.
Alternatively, how about the syndrome where someone blames bad luck for their failures, but in fact their failures are really just due to the fact that they personally suck?
Also related, the actor-observer bias, which describes the opposite effect, and has had more research done on it. This is a common problem in psychology, humans are so full of contradiction.
https://secure.wikimedia.org/wikipedia/en/wiki/Actor%E2%80%9...
Wanted to comment on this "The first project I did on my own was jeansbargains ... I built it and then realized that I did not want to spend the time looking for deals to put on it"
This seems to run as a common theme in many engineer friends (including myself, several times.) When approached with a sales-like problem, such as a opening a store or a SaaS product, or even starting a social network, we dig into the code first and build, but then get stymied by the "business stuff" necessary to get things off the ground. This might mean not e-mailing potential customers, sales leads, blogging, etc. In the meantime, we'd spend time polishing back-end code that no one will end up using.
I have several unfinished projects due to this syndrome (does it have a name?) And while I am not better at this yet, reading HN has definitely inspired me to do more than just code in that regard.
The division of labour. Different people have different strengths and preferences. Gains are made from trading on those differences.
It's easy to realize you have these problems. The problem though, is it an impostor syndrome, or are you really an impostor? Considering you are always seeing your work as less than perfect, it's easy to believe the latter.
I see this in so much that I do. I cannot just enjoy learning something new. I have to learn the right way, and that means understanding everything. If I'm learning a new language, my first inclination is to rewrite the Hello World example that's posted, because it's not right. So I skip past the introduction and start looking for implementing things properly.
I accept in others supposed deficiencies that I do not tolerate in myself, and it holds me back.
It is, I believe, my greatest weakness.
The slogan went: "Faking it? Try a new position."
uhh, dammit. not helping.