Writing your own WordPress plugin is not that difficult if you are a web developer with basic PHP skills. The only thing you will need, coupled with your PHP skills, is some direction, some resources, a little information on how WordPress expects your plugin to behave, and most importantly a great idea.
A plugin is a simple program, a set of functions, that adds a specific set of features and services that can be executed in different sections of your WordPress site.
WordPress Essentials: How To Create A WordPress Plugin
Beginner’s Guide to WordPress Plugin Development
Create a Custom WordPress Plugin From Scratch
How to Create Your Very First WordPress Plugin
Codex Writing a Plugin