Absolutely. And that imposter syndrome played a substantial part in motivating me to apply to FAANG :) I found myself in the doldroms for years afterward after starting at G, but I recently quit to do my own thing for awhile and have been so happy to find that I still have the capacity for joy and drive.
And, yes, it was incredibly fun to study and solve these problems. Sometimes I'd end up going on unrelated tangents--cache-oblivious algorithms, a full history of quicksort and all its variations and partitions, how all the concurrent data structures in the Java standard library are implemented--and just spend all day reading about them and/or re-implementing them on paper on a sunny day in Golden Gate Park (and one of my Google interview questions was with a gruff Ukrainian guy who wanted me to implement a concurrent LRU cache, so that went swimmingly!). And so when people talk about how hellishly oppressive and difficult having to learn about binary search trees is, it just doesn't resonate with me. Even if not for the jump in comp, it was just genuinely fun.
My background is math/physics, so perhaps that's part of it? Maybe many applicants just want to build something and just care about the final product, while the part of programming that I enjoy most is the brain teasers and making things work in the most efficient and elegant way possible.
Thanks for answering. If you're still in the Bay, and feel like drinking a beer to our dear departed friend the impostor syndrome, feel free to email me :) it's in my profile.
Absolutely. And that imposter syndrome played a substantial part in motivating me to apply to FAANG :) I found myself in the doldroms for years afterward after starting at G, but I recently quit to do my own thing for awhile and have been so happy to find that I still have the capacity for joy and drive.
And, yes, it was incredibly fun to study and solve these problems. Sometimes I'd end up going on unrelated tangents--cache-oblivious algorithms, a full history of quicksort and all its variations and partitions, how all the concurrent data structures in the Java standard library are implemented--and just spend all day reading about them and/or re-implementing them on paper on a sunny day in Golden Gate Park (and one of my Google interview questions was with a gruff Ukrainian guy who wanted me to implement a concurrent LRU cache, so that went swimmingly!). And so when people talk about how hellishly oppressive and difficult having to learn about binary search trees is, it just doesn't resonate with me. Even if not for the jump in comp, it was just genuinely fun.
My background is math/physics, so perhaps that's part of it? Maybe many applicants just want to build something and just care about the final product, while the part of programming that I enjoy most is the brain teasers and making things work in the most efficient and elegant way possible.