Vacation of Work, Lesson Learned
I've spent literally a week now playing Oblivion for the majority of every day. Sometimes it is actually an effort not to think about working on some particular piece of code or detail for FanSiter. I feel some achievement from such an extended lethargy, pretending to rest and relax before a new three month programming contract starting on Monday. There is fun parts and there is grinding, I get inspired, and I yawn, but in the end I'll get wrapped up in code again with someone else telling me what to do. It is a relieving thought, that I won't have to think up my direction as well as follow it, for a while. I know that it will only last so long and thus a quarter year seems a decent length to take a break working for someone else.
One insight I'd like to share, which may seem obvious, is that working from the top down has resulted in the kind of code I always dreamed of writing in the first place. I focused on quick output and then fleshed it out more elaborately from there. This modest website production project has morphed into the meta CMS that the procrastinated WebFront was supposed to be. Sure, the data feeds are still fixed, but that's not difficult to modify. All of the sites are created by mixing multiple sources together and spitting them out on the other end, complete with a "skinning" system that contains a stripped-down (possibly better in its simplicity) HTML template component. And I did it in three months, the length of this upcoming consulting job.
Always Be Closing. Ship it. Get it out there. Prototype. To twist Alek Baldwin's phrase: "Good programmer? Fuck you, go play with your API's." I strive to overcome my architecture astronaut tendenices and become a duct tape programmer. More Kirk, less Spock. In summary: write the quickest solution to show it or you'll end up solving numerous solutions to non-problems.
Okay, you knew this rule, I knew this rule. It wasn't, however, until I saw it happen magically before me that I knew I hadn't been practicing it.
When I thought up WebFront (and WeatherFall before that -- funny they are both W.F.), I had a serious vision. The problem is there wasn't much of a problem. I was focusing on my own output which, when posting to blogs, is in sporadic bursts. Lots of clumps and deserts. So the pain I'd feel one moment in not being able to properly combine such things went away at every dry spell. I would be left with these scribblings and "specs", but no desire to assemble them into the finished result. When you refine something as much as I do, it becomes smooth to the point of frictionless: nothing to grab. Perfection is a skinned knee.
So then at the very beginning of July I read How to Get Rich and it inspired me to get started. Forgive the title, but it is fairly self-explanatory. He doesn't talk about the seedy or filthy ways to make money so much as what prevents normal people from amassing wealth. Along the side he waxes poetic about the problems of monetary monarchy and how, if he could do it all again, he wouldn't try to be rich ... just rich enough. Anyway, what stuck with me more than anything is his pep talk near the beginning. It smacks of a drill sergeant yelling at a cadet in the pouring rain. You're not going to be rich or get this thing done or start that company -- because you're too afraid! Because you like your comfortable life and abhor fear of unknown, of chances. You know that if you really and truly try, in the end you may end up with nothing. Don't worry little lad, most people are as you are, so go on with your predictable path and leave this book behind as only a disturbing memory, a reminder of what could have been if you were brave enough.
That's how I took it, I'm paraphrasing greatly because it motivated me so much that it filled my mind with an obsession to start and do and go and damn the details! It's the end of October and I started from scratch at the beginning of July. At the beginning of July, that is, I started by reading that book and then thinking of something to focus on. I chose FanSiter, a side project born of two website experiments that had modest success that I wanted to multiply. The fire that took hold, it burned down all those doors and barriers that had kept me from producing List Server, WebFront, Swordman 2007, etc. etc. I threaded together a prototype and 500 websites in two weeks, the bulk of the seed I am still tending now.
In the months that followed I hired 3 contractors for various parts of it and have ended up with a reliable writer who is doing great interviews for the blog (which has a life of its own beyond the CMS portion) and a data scrubber who is lazy but good when they get to it (still trying to think of ways to get him excited and to work consistently). I rewrote the hack software, which I had called version 2, and now have a solid platform to extend. There are plenty of things to do, exhausting items to think about, but I overcame the first hurdle and there are sites out there now just waiting to be visited, indexed, linked to, and finally monetized. That will take time, patience must follow fearlessness, but I have come this far and it's easier to keep going when you've already left the starting line.
Fear is why you haven't started, but climbing up instead of dropping down is why you haven't finished. That's something I'd try, in vain, to explain to my past self. And in order for any of this code to work, it has to do so on its own, without much prodding from me. What content needs to be written also can't be done by me, because of my sporadic nature. Technical issues are easy to solve, but these two concepts must be kept in mind as I move forward, lest I fall back into old habits. I'm partially writing this just to rally myself back to the cause.
Forward march!
Labels: motivation, reflection
