Time-strapped Striving for Excellence in Programming
by Mike Levin SEO & Datamaster, 03/21/2009
So at the times in my life where I was most effective at work and with my programming, I have unfortunately allowed my personality to become somewhat harsh and uncompromising. For whatever reason, I have an ability to become someone that really takes aback people who know me. I’m something of a nice-guy pussycat–the kind who get walked all over in life. But I’ve attempted to lead a shareholder revolt when I was 18 (Commodore), have shot someone (running a check-cashing store for my dad’s estate), and dragged a psychotic out of a foreign country (I’ll tell ya later). Losing my first love, the Commodore Amiga computer, to corporate incompetence was my first heartbreak, followed quickly on the heel by family, loss-of-innocence, and failed-relationship heartbreak. But perhaps none so much as the Commodore spin-off company that I went to after the check-cashing.
It was at my second stint at a multimedia software company where I was earning commission as a new-age webby salesperson that I locked horns with an intransigent system administrator. I won’t go into the full story, because it would fill a book, but in short I had to migrate my work off of the ancient computer equipment relegated to me, and had to go through a year-long knock-down drag-out battle with a sysadmin who was basically trying to keep my new equipment for himself, and put my work on VMWare. The problem for those who know about such things was that he was using the ill-equipped Workstation version, starting VM application sessions through Terminal Server in a neighborhood with constant brown-outs, and backing up power with inadequate UPSes (uninterrupted power supplies). The upshot of it being that as a salesperson on commission, I was incented to keep my app running 24/7, but in this scenario, it wouldn’t even come back after a brownout without manually logging in and starting it up again–not-to-mention the loss of performance that came from a virtual harddrive on a harddrive intensive application.
The awesome VMWare marketers who are always monitoring the blogs will surely read this. You have nutty sysadmins out there who completely miss the point of VMWare and are giving it a bad name by flaking out perfectly stable systems. When I left the company to go to NYC, my sucessor was tricked onto VMWare, and Netcraft reported the drop from an average uptime of 3-months down to 4-days. Mission critical apps on VMWare need the supporting, and often expensive, infrastructure to boost it back up to the performance and reliability levels of well-optimized hardware. This is especially true when the application is directly optimized to the hardware.
But I digress. What about this constant writing, especially when I have so much work to do today? Well for starters, writing is one of the only things that gets me into the zone. It transports me to another place, much like reading. If TV or attention-hungry pets or ambient chit-chat are going on, I am immediately and keenly aware of its damaging effect on my state-of-mind. And writing is easier than programming, so it bridges the gap from the easy stream-of-consiousness flow of writing, to the difficult, problem-solving acrobatic stream-of-consiousness of programming. Unlike prose-writing, programming has lulls that hang there in the air like a charged moment in time, that converging bollinger bands (google it) can either break in a productive upwards direction, or destructive downward direction. Real programming productivity comes from chaining up a series of nexus cross-roads moments, each with a positive outcome. That’s why 12 hours in some circumstances can disappear down the drain, and in other circumstances can change the world.
I plan on changing the world, but in order to do so, I have to be forever dilligent. I have to know when I’m heading into a 12-hour stretch where I need to think, write, mull, get inspired and code in a progressively upward direction, then think write and mull again.
Sounds artistic and dorky? Yep, it is. Programming-on-demand is as mediocre of a profession as being a construction worker. But programming on your own terms inspired by critical insights and thoughts no one has ever taken action upon before, is as excellent as being an architect. And when artistry and arcitecture combine, you have some real world-changing ability. Steve Jobs is an example of an artistic architect without having to himself personally program, and that’s because he had enough success early in life that he could shape his reality that way (the Jobs reality distortion field). But I’m not a boss, and for me to get a programmer to carry out my vision to the tee (the smallest detail), I would likely have to evangelize them on a vision, and then micromanage them. And with me actually loving the process of programming, why would I give up my passion in exchange for grief and compromise?
OK, so we’re zeroing in on the point of this post. It’s about the motivation for programming, the preparing for programming, and managing the time spent programming. One must be well motivated, well prepared, and disciplined once begun–especially if you have ambitious programming plans and precious litte time to do it. A later post will actually address all the processes engage in day-to-day from idea-capture, to dealing with the important/urgent tasks (fires), to making time for small snippets of focused, inspired time like this througout the week.
But today, it’s about getting into the zone, and actually carrying out an SEO website site audit. And that’s a perfect cut-off for my next blog-post, which will probably be greatly about programming. This also brings me to the point where what much of I do is intended to provide competitive advantage for my employer, and noone else. Therefore, I have at lest 2 categories of writing: this Cialdini public-committment stuff, and competitive keep-your-cards-close-to-your-chest stuff. I’m about to embark on the later, so you are unlikely to see much writing from me for awhile. But my head is clear. What’s at stake of not getting this done today is clear. And the method of my approach to the work is clear.