Posted by: T.D. Inoue | May 5, 2011

Be true to yourself

I just wrote this internal memo to my dev team and realized that I wanted to share this with others to help them avoid making one of  the biggest mistakes I made as an entrepreneur. As I note in the memo, I have very few regrets in life, but the ones I do have relate to not being true to myself. I have slightly edited this from the original memo, but it is largely as-written.

I have, as we Americans say: “baggage” from my previous company and management experience.

One of the biggest mistakes I made in my first company was that I did not fight hard enough for things that I felt strongly about. I promised that I would not make that mistake again.

But there are battles not worth fighting, and I promised that I would not waste my, or anybody else’s time fighting tiny battles. After all, we are all mature adults, capable of making decisions. Sometimes I will agree, sometimes I won’t, but as long as everybody understands where the company is trying to go and we reach our important goals, I don’t want myself or anybody else to dictate the specific path if it really doesn’t matter in the big picture.

I believe Google operates like this. And while I don’t agree with some things they do, I do agree with this philosophy.

Now to my war story.

I spec’d out my last company’s second generation digital imaging product in around 1987. There were certain features I knew we needed but those features weren’t supported by the libraries we used for the digital imaging hardware our system was built upon. However, by examining the hardware details, we knew that the hardware was in fact capable of supporting the features we needed. My hardware developer, an incredibly industrious programmer and electrical engineer, spent a lot of time and totally rewrote critical parts of the libraries.  Soon, we accomplished what even the manufacturer of the hardware said was impossible. These features gave us a unique place in the market because nobody else was able to do what we did for a decade when more advanced hardware came out. But we had a lock on the market and our entire success depended upon doing what most of the experts thought was impossible. I am incredibly proud of those achievements.

I created the project blue-book for our third generation product back in the early 1990’s. Before Java was released (1995) and about the same time Photoshop first allowed plugins (1991) and Microsoft released the first version of Visual Basic (1991).
My vision of the system was that it would become a digital imaging platform that would make it extremely easy for 3rd party application developers to extend the system.

We created a system that included our own platform independent object oriented pseudo-code compiler/interpreter and had a plug-in architecture that was powerful enough that we created our primary application in it. We also had an extensible system for supporting hardware devices that used their own low-level drivers through our API. Frankly, it was revolutionary and it was truly awesome. So awesome that it continued to be developed, extended until a few years ago when they rewrote the application natively. It’s still sold today – 20 years later.

My dev team created this system somewhat unwillingly because they didn’t believe in the platform approach. Partly, they were afraid of 3rd parties competing with our own products. So they and the sales manager passive-aggressively crippled the system and never supported releasing  it to outside developers, severely limiting the growth of our system as a standardized imaging platform.

Mistakenly, I didn’t force the issue. I allowed others to bully me into keeping the system proprietary. And, while I can’t say with certainty that things would have been better if I had followed the approach that I’d wanted to take, history has shown that the platform approach underlies all the most widely supported systems today from Facebook to the iPhone. From Photoshop to Firefox. Supply the platform, support 3rd party developers, and you grow far more than you can by trying to do everything yourself.

This is a decision that I regret to this day, and I have very, very few regrets in life.

So I will make every attempt to pick my battles. I will entrust our team to deal with most of the issues – they’re the experts after all. But big things that I feel are mission critical, I will fight for. Almost all of those issues come down to the user experience. I will unrepentantly fight to ensure we have the best user experience possible. Sometimes that will require that we do things in unconventional manners or it may make programming more difficult. It may even require us to do things in a way that “experts” advise against. Great things are not accomplished by those who simply follow the rules.

I must understand that sometimes my team won’t agree with me or understand why I’m making a big deal about something. But at the end of the day, I’m the one who has to live with these decisions and I’m the one who will take responsibility for them.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Categories

%d bloggers like this: