Home About Eric Topics SourceGear

2008-05-20 13:00:00

Choose Your Manager

The Context:  Being a slacker

In the early months of 1994 I wrote a program to play Scrabble.

It was a magnificent piece of code, easily the fastest Scrabble program I had ever seen.  The implementation (in C) was based on the GADDAG data structure and algorithm explained in a paper by Steven Gordon.  The resulting program was so fast that computer moves were instantaneous.

Unfortunately I had to keep my software a secret.  The lawyers at Hasbro love to send nastygrams to anyone who implements a Scrabble program.  These guys are a lot like the lawyers at the RIAA who have become famous for their lawsuits against toddlers and family pets.  The Hasbro legal team is merely less prolific.

Actually there was one other reason why I kept my Scrabble program a secret:

I wrote the entire thing on company time using my employer's hardware.

At the time I was working for Spyglass.  We had recently finished shipping version 2.0 of our flagship product, Spyglass Transform.  Things were a bit slow, so I was discreetly hacking on my pet project.  I setup my office such that nobody could see my screen from the door.

Unfortunately, I gave myself away.  At times when I was working on my Scrabble code when my boss (Tim Krauskopf) walked in the door, I would flinch and quickly try to minimize the window.  About the third time it happened, Tim said, "All right, what game are you playing?"  Suddenly I wished I actually was playing something like Doom.  In that moment, working on non-company software seemed more shameful than wasting time in a first-person shooter.

I offered a full confession and an apology. 

I don't remember what he said. 

I do remember that he never mentioned it again.

The Inflection Point:  Day 1 of the browser wars

A few weeks later, on April 4th, 1994, Tim once again stepped into my office.  He said he needed to talk with me somewhere offsite.  We left.

In that conversation, Tim told me that the Spyglass management team was making the decision to abandon our then current business (scientific data visualization tools) and get into the web browser business.  He asked me to immediately begin working and commit to giving a demo to an important potential customer a few weeks later.

I shifted into high gear.  I came in at 5:30 am every day for weeks.  I was writing code at a fantastic pace.  The demo was successful.  We showed them our browser.  It didn't have as many features as NCSA Mosaic, but it was a lot faster.  We didn't tell them that it was written from scratch in less than a month by a kid who had never written any networking code before.  We got the sale.

And that was just the beginning.  The project started out with me alone, but two years later it was a team of 50 with me in a leadership role.  We were the first Internet IPO.  We licensed our browser to Microsoft and it became Internet Explorer.

That conversation on April 4th ended up being a defining moment for my career.  And it happened just a few weeks after Tim caught me skiving off on the job.

What the %#$@ was Tim thinking?

The Premise:  Tim made a wise choice

I'm going to surface a lesson from this story, but you should probably read no further if you disagree with Tim's decision.

And if you do, I can't really argue with you.  I'm not going to defend my actions.  I was being irresponsible, even dishonest.  There are no excuses for behavior like that.

Maybe Tim should have fired me.  At the very least, maybe Tim should not have entrusted the development of his company's next big product to someone who lacked the discipline to stay on task.

Still, the overall results deserve some kind of voice in this argument.  Tim and his company were very successful.  Tim drives a Ferrari now.  Tim's choice worked out very well for me, but it turned out pretty well for Spyglass too.

The Lesson Learned:  Choose your manager carefully

This story may seem like it's about me, but really it's about Tim Krauskopf.

I've never asked Tim why, so I guess I don't really know.  Maybe he just believes that being obsessive to a fault about code isn't the worst character defect for a developer to have.

I spent five years at Spyglass.  The incident described above is just one of many that left me in awe of Tim's leadership skills and discernment.  I don't think I ever really figured out what makes that guy tick, but I still think of him every time I measure myself as a manager and leader.

The part that seems most astonishing to me is that he kept his emotions in check.  Didn't he feel any sort of disappointment or even betrayal?  Why didn't he overreact?  That's what most people would have done.  I probably would have.

All I really know here is this:

Your manager plays an enormous role in determining the success of your career.  Choose your manager very, very carefully.

Just to be clear, I am not saying you are powerless.  Your success is mostly determined by your own abilities and choices.

But one of those choices is the decision of who you are going to work with.

Don't take that choice lightly.

Update:  See my follow-up.