A native speaker of English is a person who has grown up speaking English as their first language or mother tongue. In terms of English teachers this usually means from one of the major English speaking countries: the USA, the United Kingdom, Ireland, Australia, Canada, New Zealand or South Africa.
A non-native speaker is someone who has learned English at school and knows English in addition to their mother tongue.
Most jobs are for native speakers and some jobs and countries will specify this; however, there are still a great number of non-native speakers as teachers.
The native vs non-native distinction between speakers can be a little blurred sometimes. There are also bilingual speakers to consider. These are people who grew up speaking English as well as another language and have, effectively, two mother tongues.
In addition there are near-native speakers who learned English as a second or foreign language but speak it so well that they can are often considered to be a native speaker. An example of a near-native speaker would be someone who was born and grew up in, say, Vietnam, but then moved to the US as a young child where they spoke Vietnamese at home with their family but then learned English and started attending school in English. Initially they may well have spoken English with a slight accent which identified them as a non-native speaker but over time that accent all but disappeared.
Non-Native Speakers as Teachers – how people who do not speak English as their first language can teach it