I think that most people in language learning circles seem to believe that native speakers of a language are better teachers than non-natives, but I have found non-natives to be excellent teachers, at least for me. They tend to have an excellent ability to explain the rules of the language and how it functions. Additionally, I have found that they can explain the nuances and idiosyncrasies better than natives. I find a skilled non-native to be perfectly fine, at least up to level B2.
What do you think? Natives or non-natives?
That's always an interesting question. I agree with you Leslie.
First we have to differentiate between speaking a language and teaching a language. There are people who confuse both things.
A native speaker can be an excellent teacher of his own language but not all natives can teach their language. Most of them have no idea about its own grammar. Most of them can't explain rules. Many of them have problems to answer language questions.
On the contrary, non natives, who have been learning this language for long and have achieved a good level, can explain rules, know the grammar, can answer difficult language questions and have great emphaty because they know well how hard can be and where you'll find the difficulties. They can teach beginners better than the natives can. That's my opinion.
Maybe the experience of learning a language helps develop that skill in non-native speakers. But native speakers can also have good teaching skills, or they can develop them.
Edit: I also think there is value in being able to model native-level speech for learners. But that is also distinct from teaching skill.
As Irene and Pedro mentioned, there are multiple skills.
Usually, trained teachers know general teaching methods, second language acquisition teaching methods and have an explicit knowledge of English grammar and vocabulary. Some have more specialized knowledge such as a knowledge of English phonology and pronunciation teaching methods.
Native speakers have an implicit knowledge of English, thus they can identify bad grammar, vocabulary, and pronunciation. They can give good examples, but they usually can't explain why because they don't have explicit knowledge of English. Unlike some cultures that teach explicit language knowledge to school children, English-speaking cultures don't do this.
Teachers and non-teachers have varying amounts of patience and politeness.
For students who want to practice existing skills, a patient native speaker can be very effective.
For students who want to learn new skills, a trained teacher, even if non-native, can be very effective.
I completely agree with Pedro. In many cases not native speakers can be better teachers for beginners than natives. Especially if they have the same native language as students have.
But students with intermediate level and higher should prefer natives as teachers, this is my opinion.
But again. not every native speaker can be a teacher. Probably that is the reason that many language exchange partners are fail.