"By the time we get to school, we have been speaking a few years."
This sentence is from a text in reply to a question: "What do native English speakers learn at school in the English Language classes."
I can understand what the sentence means, but I understand it from the context. It means "When we start school, we find ourselves in a situation in which we have been speaking English for a few years."
However, the structure of the sentence seemed unusual to me, because as far as I know "By the time+simple present, requires the main clause in future tense, or in a future tense or future perfect tense".
For instance this sentence makes sense; "By the time you get back, I will have washed the dishes".
However in this sentence "By the time" is in simple present tense, and the main clause is not in a Future Tense but it is in "Present perfect continuous tense".
So, shortly, is this sentence grammatically correct?