When I was 22, I found myself working for an Internet company that IPO’d to 4 billion dollars of value. It seems like eons ago. I was fortunate enough to get myself into a niche that allowed me to be the manager/software engineer of one of their greatest cash cows – search. I didn’t get all the information on the back-end deals, but I want to say that a company paid $8 million dollars to put a custom ad on our site for a year. It took me all of 5 minutes. I was hooked on the Internet.
One of the great benefits of being a manager was that people treated with respect and I was invited into meeting with the big-wigs. Typically, I hate meetings. It seems like 99% of the time, they waste time and nothing gets accomplished. It was one of these meetings where an executive uttered something so simple and profound that it still echos in my head today… “Perfect is the enemy of good.” I can’t remember if anything came out of that meeting, but those six words were profound.
For those who have read yesterday’s post, I left a little cliff-hanger about why I had done nothing towards my new business venture in 2 months. The problem was simply that I was trying to be too perfect, getting everything right on the first try. The biggest case of this was choose Java for a development language. It’s great and I work with it every day at work, but it can be tedious and repetitive to do everything the right way. The last two months, I had been postponing it because doing something repetitive is just not interesting or challenging to me.
I was talking with a friend the other day and he suggested that I look into the Python programming language. He says that he can build things in 100 lines that can take 2000 in Java. I argued that Java is so much more efficient than Python and that neither one of us could name a company that bases it’s stuff on Python. His response was that processor time is cheap and it’s getting cheaper every day, while developer’s time is expensive. I couldn’t argue, he was 100% correct.
He then showed me an example of what Python could do and I was floored by the functionality he squeezed out of 100 lines. For those in the software industry, they were readable lines too. I looked at this new-to-me language and complete grasped each step of what he did. I’m starting to learn the language and developing my game at the same time. One would think this would be difficult, but I’ve already completed 50% of two major parts to the baseball game – creating players, and simulating an at bat. It took me about 4 hours last Saturday. There’s a ton of stuff left and I’m betting that it’s over 200 hours to get the basics of what I want in there, but it’s exciting.
So if you take one lesson away from this site on entrepreneurism, remember this, “Perfect is the enemy of good.”