On the other hand, companies recruiting (at least FB because that's what they have told me for the upcoming interview) expect you to quickly find the most effecient algorithm in your head first and then code it bug free. I don't know how much creative thinking one can do under pressure but for this question I'm concerned with the second part.
So my question,
How does one before proficient learn "inside workings", idioms and in general become proficient in a language?
If the advice is language specific, I love Python the most so how does become a Pythonista? I want to be able to code without having to look up syntax, know and use idioms wherever apt, follow the standard practices, etc.
Those who suggest practice, practice only makes permanent. Practice reinforces what you already know. So that may work for syntax, but you have other issues like internal workings, idioms, not-as-expected cases, etc.