As developers we hear a lot about doing things the Right Way(tm). Sometimes, though, the right way is a prototype. I’ve learned the most from hacking out a solution. But not all of my hacked-out solutions worked they way I wanted, and most of them never make it into production in any form.
It’s okay to experiment, it’s okay to throw away experiments.
Don’t get mired in the details of doing it right. Focus on doing it first, then refine it to a better way.