If you have some experience with coding, why not just pick up someone else's miner and start doing mods to it?
I'm not sure why you would want to reinvent the wheel, there are several open source miners out there to start playing around with. Never know, you might put something good together.