The Blog of Maxim Porges

Archive for August, 2008

  • The First 90 Days

    Several months ago I posted on my blog that I was leaving CFI to pursue a new opportunity at Highwinds. Since I just passed the 90-day mark in the new job on July 13th, 2008, I thought I would share with all of you how it’s going.

    In a word: awesome.

    But to leave it at that would not provide any insight to other twenty- (or thirty-, or forty-…) somethings that might be considering a potentially risky career change, so I’m going to take this blog post as an opportunity to share my experience.

    So, Here It Is
    I became the youngest director at CFI after just six years, with a staff of 40 under my wing. For all my success, I have to thank fate for instilling me with a passion for excellence and the knowledge that it can only be achieved through the assembly of talented and highly motivated teams. In the end, it was a simple equation: if I brought the vision, they would bring the talent required to conjure it into being.

    For a long time, things went well. Practices were improved. Money was made and saved. With each new success, I was honored with larger teams and greater responsibility. People who worked on my teams got promoted, too.

    Unfortunately, corporate IT breeds a majority share of tremendous mediocrity. For every person who was like me and wanted to make things better, there were three more who personally benefitted from the inefficiencies of the status quo. In the worst cases, these people were unmotivated or just didn’t want to learn something new.

    Ultimately, I was left with a choice: (a) spend my career convincing people of their potential for excellence, or (b) join others in the pursuit of it. My decision to work for Highwinds was the latter.

    Why I’m Glad I Left
    Regardless of how well my projects turned out, the old guard at CFI often regarded me as a youngster with an unrealistically optimistic and utopian view of how technology teams should be run and how software systems should be built. This was, of course, totally incorrect. I may have been young, but I knew enough to learn from the experience of industry leaders who were kind enough to write books about how things should be done.

    So, one of the most satisfying parts of working for Highwinds is the fact that they follow all the rules that earned me this reputation, and they reap the rewards that come from them. I’m going to detail these rules and illustrate them with examples from my first 90 days.

    Rule #1: Hire Amazing Talent
    Yes, it costs more. Yes, it takes longer to find the right people. But the results speak for themselves. On the engineering teams, there’s very few people at Highwinds who aren’t senior level, and everybody brings top-flight skills to the table. The result is a highly innovative approach to CDN technology that has enabled us to close the gap between our system (officially launched in January) and those of the major competition (launched in the late 90’s and early 2000’s) in less than a year.

    And with high levels of talent comes common experience and understanding. It’s nice that when I say things like “use case” and “unit test” and “test coverage” and “design pattern”, people don’t look at me like I’m from Mars or think I am trying to steal their souls.

    As for executive management, we’ve got awesome coverage in every area of the business. As a software engineering manager, I can’t relay to you how satisfying it is to work with industry veterans that understand technology and what it takes to produce it. It also helps tremendously that we have a focused and business-centric approach to feature prioritization instead of the typical “whoever screams loudest” approach that sets the priorities at so many other companies.

    Rule #2: Do Things Right The First Time
    Having a CTO really makes a difference. In my previous life at CFI, the CIO reported in under the CFO and did not have a place at the executive table. This meant that there was little push-back to the business and more importance was placed on doing things as quickly as possible, regardless of the long-term costs. In turn, this results in high system maintenance costs and scalability challenges, and you end up with a vicious cycle.

    With a CTO on board, you’ve got an executive who actually writes code as part of their job. There is no way they are going to let the sales and marketing teams push so hard that the company ends up chasing its tail maintaining badly implemented systems. For the engineers, this means that the development deadlines are reasonable and time is allowed for design work and brainstorming, resulting in better software.

    Of course, Highwinds is still a business, and we live in the real world. When time runs short, necessary compromises are made – in a logical and strategic fashion. We take a pause every few releases to “pay our taxes” on these compromises and clean them up. And we never compromise on the things that are central to the health of the system.

    Rule #3: Create An Environment People Actually Want to Work In
    It’s hard to describe our office digs without sounding like I’m bragging. I’ll do it anyway.

    We have incredibly nice office suites, with a mix of oversized workspaces and private offices. There’s just the right amount of glass so that everybody can see each other without losing privacy.

    There’s artwork on the walls. Every office has a whiteboard, and there are well-equipped and comfortable conference rooms. When we have meetings near to lunch time, they are catered without exception. If my team decides to code through lunch or pull a late-nighter, I put it on the company tab.

    Dual 22″ flat panel monitors are standard equipment. Everybody who needs it gets VPN access. Hours are flexible so long as commitments are met.

    There’s a big break room with leather furniture, two big LCD TVs and a foosball table. The kitchen is stocked with utensils you’d find at somebody’s home. The fridge is full of soda, and we’ve got a coffee service so good that I don’t even go to Starbuck’s any more after lunch.

    My team has a “cave” at the back of the executive suite where we have the lights down low. When I’m slinging code, I’m sitting in an $800 Aeron chair that is extremely comfortable. We play music in our cave. We’ve managed to hit a vibe that encourages people to stop by and hang out at what has sometimes been dubbed “Club StrikeTracker.” It’s so peaceful and productive that the first two months I worked there, I’d often look up from a deep coding trance to realize that it was almost 7 PM already.

    I could go on, but by now you should have the picture.

    Life’s Short. Do Something You Love.
    So here’s the motivational part of the blog post. Hopefully this will inspire some of you to take the leap of faith required to get out of your rut and in to your calling.

    If you’re working for a corporate IT department and you feel like you are too talented to be there, you are right. If you think that mindless politics and endless bureaucracy exists everywhere, you are wrong. If your managers tell you that things are that bad at every company, remember that misery loves company and they are trying to convince themselves more than they are trying to convince you.

    Great companies are out there. Many of my respected peers made the decision to leave CFI at the same time I did, and I’ve stayed in touch with all of them. The majority are much happier in their new jobs, and for those that aren’t thrilled it’s no worse than it was before. Know that if you take the time to look around and you are honest with yourself about what you want from your career, you will find something better than what you have today.

    I Scored 100% On The Rands 90-Day Test
    Well, that’s it. In closing, I’ll take a run through the 8 steps outlined in Rands’s 90 day checklist.

    #1: Stay late
    Yep, did this by accident plenty of times, and getting StrikeTracker 1.5 out before we hired Russ and Mario made this a necessity early on.

    #2: Accept every lunch invitation you get
    Yep, easy – the teams eat lunch together a lot at Highwinds.

    #3: Always ask about acronyms
    Hmm… CDN, NNTP, CPC, ST. Then there are all the components: Canner, Megamaid, Doppler, Windstorm, FlashFlood… the list is long.

    #4) Say something really stupid
    I’d say I cover this on a daily (if not hourly) basis.

    #5) Have a drink
    My interview process consisted of dinner and bars on Park Ave. in downtown Winter Park, and I’m surrounded by alcoholic engineers and salespeople.

    #6) Tell someone what to do
    I’m in management so this comes with the territory, although I like to think that I ask.

    #7) Have an argument
    With strong talent comes type-A personalities, so respectful arguments are commonplace. And while many have the confident air that comes from being a bad ass at what they do, there is a surprising lack of ego on the team.

    #8) Find your inner circle
    The circle is there and in flux. It’s growing and shifting since the company keeps hiring.

    For those of you that decide to make a jump in your careers, good luck!

    2008.08.01 / 3 responses / Category: Uncategorized

  • MobileMe Disasters and the Importance of Early Betas

    Apple’s MobileMe service has been seriously sucking wind since it first launched. First it was down, then it had performance problems (which I understand are ongoing), and then they even lost emails for a bunch of their customers. David Pogue has written an excellent history of the matter.

    Personally, I would be mightily pissed off with Apple if I was one of their MobileMe customers and had to suffer through this.

    That being said, you get what you get when you are on the cutting edge. It’s a well-known fact that Apple’s first-run of anything (be it new laptops or iPhone software revisions) tends to be bug-prone and unstable. Those who jump in first usually get burned, and I’ve seen (and personally experienced) both the best and worst examples of Apple’s service recovery.

    The problem, of course, is that Apple keeps things so close to their chest that they can’t reveal what they are doing until the last minute, which potentially makes it very difficult to publicly beta any of their product offerings.

    One of the reasons Google is so smart is that they keep many (all?) of their services in beta for an extended period of time, allowing them to work out the kinks long before a product goes gold. Of course, Google has a dirty river of search engine advertising money rolling in, so they hardly care about their value-add (and no doubt personal-info-mining) services.

    That being said, one could argue that people are willing to pay to beta Apple’s products for them, so who can blame them for taking the money and stashing it in the bank? If nothing else, it will help to pay for all the support calls and bloggers.

    2008.08.01 / no responses / Category: Uncategorized

  • VMWare Fusion 2.0 Beta 2

    You know, looking at this feature list I would have happily paid an upgrade fee, but VMWare wants to give me Fusion 2.0 for free. Who can argue with that?

    Awesome stuff, guys – I can’t wait for it to go gold.

    2008.08.01 / no responses / Category: Uncategorized