Do I say
How many years have you been speaking English?
For how many years have you been speaking English?
English Language Learners Stack Exchange is a question and answer site for speakers of other languages learning English. It only takes a minute to sign up.Sign up to join this community
I think both are acceptable; the second might be more technically correct but the first sounds more natural.
Most question sentences start with the question word at the beginning (who, what, where, when, why, etc.). Starting with a preposition sounds like you're trying to be strictly correct but it adds awkwardness. For example, in natural casual conversation you'll hear, "Who are they going with?" But in proper writing you'll see "With whom are they going?" which is more technically correct but sounds like a robot.