I still have to look stuff up constantly.
I still watch how-to code videos everywhere.
Don't know if I'm alone or other people just can't bring themselves to admit that.
No brain can contain the exact right way to do x, y and z - and it needn't, because we have a magic box that we can ask and get great help when we need it.
IMO, being a developer isn't about being 100% amazing with your syntax or being able to recite the ES2015 spec by heart; it's about knowing what tools to use when.
There are many things that perhaps legitimately should make people feel like “impostors” even when they aren’t, but the need to use reference material definitely shouldn’t be one of them.
Unfortunately many people in our business still equate knowledge or competence with “knowing things by heart” which is really unfortunate, because I think at best it tells you very little about the person, and in the worst case you may be hiring someone that through arrogance will make mistakes because they don’t care about double checking crucial parts of their code because they too feel that they “should” know what’s going on.
Instead I went to industry where I felt like an imposter for years, then built a system that worked really well, and got to work with some absolutely fantastic people who were far smarter than me. I still felt like an imposter, but at least I was well paid and respected.
Finally, now in my career I get paid huge amounts to debug complex ML systems in production when they break. Almost nobody else has the skills to do this; almost nobody has the interest in doing it; but I've spent 20+ years focusing on exactly this kind of problem. I don't feel like an imposter any more.
I like to think that it's something anyone who isn't absolutely full of himself will experience.
But different people have different comfort zones
It was many years later that I started realizing that maybe it wasn’t a fluke mistake
I definitely also use the "if I have this question at least ten other people do but are afraid to ask" logic lots of times, true or not. It's a lot easier to be unafraid of failure if you don't consider yourself good at it ^_^. Way easier to learn if you're willing to look like an idiot, the hard part is getting people you already know to change the context in which they interact with you. That is the main reason I switched labs between undergrad and grad school - not being the "undergrad helper" for the first three years of grad school. I bet moving over to Google did similarly for you.
Yeah, regarding perception, yeah, I have definitely noticed a jump in responsibilities every time I’ve switched teams, and a bigger jump each time I switched companies. But I hadn’t quite realized why that was happening until my previous manager mentioned out the perception bit when I was preparing to leave Google