|
When my wife completed medical school in Chicago, she had her heart set on going to the most heavily surgical residency available. Los Angeles County Hospital. Everyone told me how much I would hate LA -- the people are shallow and superficial, the smog is horrible, the traffic is unbearable, there are no seasons (oh the horror.) I did not want to move to LA.
When my wife completed medical school in Chicago, she had her heart set on going to the most heavily surgical residency available. Los Angeles County Hospital. Everyone told me how much I would hate LA -- the people are shallow and superficial, the smog is horrible, the traffic is unbearable, there are no seasons (oh the horror.) I did not want to move to LA.
Of course I ended up loving LA. We made so many great friends, intelligent down-to-earth people. We lived (and I worked) in Santa Monica, where the smog isn't so bad. And you can learn pretty quickly to do without Chicago-style winters and summers.
I always have loved the arts, and thought it would be cool to apply my technical skills toward something that was made purely for people's pleasure and enjoyment, if possible working side-by-side with artists. So I decided it would be cool to work in the computer game industry.
So in 1998 I signed on as a programmer at Eight Cylinder Studios, working on a 3rd-person action/adventure game. Because I had a strong math and physics background, I was able to pick up the 3D graphics stuff pretty quickly. And with my 5 years of experience in Windows programming, I was able to fix a lot of problems and implement cool features in the art tools. It was a blast to be banging out code and seeing the tangible results! Not having to worry about managing schedules and keeping a whole team on track!
Then I started to notice that we could do things better, and I started asking questions. Why don't we design this better? We could improve the object model like this, without sacrificing performance. Sure, sure, in the game industry all of the code is thrown out after each product is released, but it won't cost us extra time to just do it right the first time, and who knows, maybe the code will live longer than we think...
I had already earned some respect from my supervisor and coworkers for the fact that I got good work done in a timely fashion. But I started to gain more influence by talking sense and convincing them of the importance of improving our code quality and our development practices.
The biggest transition occurred when the 3 owners of the company assembled the whole company for what was thereafter referred to as "The Meeting". They had decided that the time was right to take the company and make it into a "Broadband" company.
Everyone was floored -- Hey, we're a game company, we make games, right!? And what the hell is Broadband, anyhow?
But I loved the idea. I saw that we could take the game engine, add an HTTP Client and some simple content management classes, and the technology would basically just work. The rest would be art -- smoke and mirrors, maybe -- but the technology just wasn't that complicated.
It was during this turbulent transition that I think the owners realized how useful I could be to them. I had the technical chops to earn the respect of my coworkers, and knew how to work on schedule and meet milestones. But I was also able to think outside the box and to get excited about a massive shift in direction. They soon also realized that I was useful in client meetings and pitches to investors, smooth enough without being slick, and obviously intelligent and well-educated.
It was not long before I became one of the key players in the company's strategy. Although I was a relative latecomer to the engineering team, I was apparently the de-facto technical leader, and became the VP of Engineering. The company moved to the Bay Area, raised some capital, and grew to almost 30 employees -- what a fun and fascinating time!
During this time, I learned that it wasn't just a coincidence that I had ended up as the director of development at my first job. I love doing hands-on work; it's nice to have such tangible results, and I love learning the details of software systems. But each time I start working as a software developer, I think of how the team could be so much more effective if we just changed a few things. Then I start convincing the people around me, and next thing you know, I am in charge of a team. This is a clear pattern in my career so far.
Perhaps this tendency grows out of my being a middle child, always evaluating the situation around me and influencing people in any way possible. But if I get such a thrill out of just programming, why not just put my head down and code? After all, I could just ignore the fact that things could be done a little bit better. But I am idealistic, and want to make the world better in some small way. If that's by improving a bit of code, that's great. If it's by improving a work environment for a group of engineers, it's better. I can't bring world peace or bring an end to hunger or disease, but I can try to make my workplace a happy and productive place, where our work comes to fruition and comes to be used and appreciated by real people. |