Terraform's documentation on how to write a Terraform provider might be a little daunting in the beginning (mostly because the lack of it) and even confusing if you try to read the source of some of the existing providers if you want to use them as a starting point.
On this talk I walk you through the basics on how to get started writing your own provider and also I talk about some pitfalls that I fell into while developing mine.