I felt that I was surrounded by people far smarter and more knowledgeable than me. All the time. My team [1] had amazing machine learning experts, C++ gurus, and so on. I felt inadequate. This hurt my career progression (mostly because of self-doubt) and my general happiness in life.
Until I got my hands on this very interesting project that involved designing an instruction set for a custom CPU, implementing a VM, a code generator for the instruction set, a server that did all this on the fly, and some infrastructure around the whole thing. I have written CPU emulators in the past for fun [2], so this was not particularly challenging - it felt like a really exciting project to work on, but at all times I was confident in what I was doing.
Then one of my teammates, whom I really looked up to, asked me how had I pulled that off. She was in awe, amazed - exactly how I felt about her incredible machine learning antics!
And that's when I understood why I had impostor syndrome, and so did so many people at Google: Google hires really good engineers, but it hires them from very different backgrounds. So you're likely to be surrounded by people who make things you consider impossible black magic seem easy, but crucially, you don't notice that the things that feel easy to yourself are seen by them as impossible black magic!
Understanding this actually let me get over my impostor syndrome pretty much entirely. I later left Google to join Improbable and had a fresh start, which I used to consciously avoid falling back into these negative patterns. Although I'm surrounded by the smartest people I've ever worked with, to the point where I still ask myself "how the hell did I manage to get here?" from time to time, I've largely succeded in avoiding falling in the impostor syndrome trap again :)
[1]: https://googleblog.blogspot.co.uk/2013/02/an-update-on-our-w... [2]: http://gabrielgambetta.com/remakes.html [3]: http://improbable.io