Steve Ballmer’s Retirement Timing Sucks

Steve Ballmer, in his retirement letter to Microsoft employees:

There is never a perfect time for this type of transition, but now is the right time. My original thoughts on timing would have had my retirement happen in the middle of our transformation to a devices and services company focused on empowering customers in the activities they value most. We need a CEO who will be here longer term for this new direction.

I’d like to know what goes through Steve Ballmer’s head. [1] How, in a million years and at this seminal point in Microsoft’s history, did he possibly think he could start a major re-organization of the company and then hand it over to a new CEO part way through? And when he said he’d do it in the middle of the “transformation,” where in that transformation does he actually think the company will be in a year?

I feel bad for the next girl. Not only is she going to have to complete a half finished transition, but she will have to pick up the pieces and try to make it her own company at the same time. If Ballmer was going to retire, he should have done it before the re-org announcement, helping the new CEO formulate the plan and act as an advisor during the transition. Then Microsoft would truly be her company.

I’ve already expressed my perspective on Microsoft and what direction I think the company should go. It’s no where close to the direction Ballmer has set for it. If Microsoft wants to talk anyway, though, I’d be happy to go to Seattle. 🙂

[1] I’d also like to know if this is him being forced to retire, but that’s a separate issue.

The Imperfect Craft

Nice post by Daniel Jalkut on his philosophical change regarding refining his craft:

As a modern software developer, I derive as much joy from remaining relevant as I do from the thrill of identifying and solving the particular problems in my work. To remain relevant, I have to reject my previous assumption that I would spend a lifetime refining my craft. Instead, I will spend a lifetime adapting the techniques of yesterday’s craft to the sometimes radically different challenges of today. I may never become “a real expert,” as I hoped I might be. But by diligently throwing out the old rules and embracing the new ones, I hope to come close.

I would argue that remaining relevant is refining his craft. It is really hard, I think, in the modern coding era to be good at only one thing. Once upon a time I was a very good Palm OS programmer. That skill is completely irrelevant today.

Today I’m a solid iOS, Rails and Javascript programmer. I’ve been programming for almost 30 years and I have never been more relevant and never felt as capable of crafting amazing software products as I do right now.

Taken Out Of Context

Marco Arment on a recent Accidental Tech Podcast:

People assume because I have an audience in some places means that any app I release will be a giant hit. That really isn’t the case. I have an advantage, certainly, by having an established audience. I have an advantage mostly up-front where I’m mostly guaranteed a pretty good launch. After that I’m in the same boat as everyone else.

Marco released the information to his app BugShot here. Since then, he went on to say in ATP, his sales have dropped further and are now down to about 15-20 per day.

I’m saddened to admit that I apparently was the catalyst for that post based on a footnote in my post The App Store Problem Is Not Price. What I meant by my footnote is exactly what Marco said on ATP: he has an advantage, particularly at launch, and nothing more.

What frustrated me was not annoying Marco, although I wasn’t happy about that. We emailed and worked it out. What bothered me was that other people took my footnote, ignored the point I was really making, and focused on the Marco part, leaving out the update I added to clarify the point.

I’ve had a few highly read posts over the years, that one being one of them. But I’ve never had a post so taken out of context by others before. That was a real eye-opener. It felt like a horrible game of telephone. My offhand, misinterpreted footnote seemed to become something else entirely.

Sorry, Marco.

Failing… Again

A week ago we launched an update to powerOne. It was mostly bug fixes and a couple of other things. I screwed up one of the fixes and tried to re-fix it late last week. In the process I swapped out one file provided by a third-party (Flurry). I didn’t think much of it and released it to Apple. They reviewed it quickly and released it. Saturday a couple of reports came in that the app failed to launch on iOS 5. I quickly added a message to the What’s New dialog in iTunes, fixed that problem and released it to Apple again. It’s awaiting review.

I’m frustrated, mostly with myself but a little with Flurry and a little with Apple. Look, the bug was my fault. I failed to test a use case, a use case that turned out to be a pretty big one (using it on an entire OS version). Flurry gets a little of my angst, though, as they made major changes in a point release that broke the app if not set up properly, and then failed to mention how to set it up properly. And a little of my angst is aimed at Apple. What kind of review is this if you don’t even run it on the operating systems it is available for? And why can’t you, after six years of the App Store, give me something to help me out when I screw up, like maybe allowing me to roll back to the previous version?

But mostly I’m upset at myself. I failed to perform a very simple test. I released a new version without completely testing one of the changes. The number of things I am doing is piling up bigger than me. In an effort to get one of them off my plate I rushed and screwed up. I’d like to say this is the first time but it’s not. I’ve done this before, although never to this extent. And that’s the part that is really inexcusable. I’ve failed to learn from a lesson I’ve learned before.

 

Winding Down

The last few weeks have been incredibly intense. My schedule has flipped back and forth from vacation time to programmer’s time to manager’s time [1]. Because we are working on so many things at the same time, I never feel like any one thing gets done.  I really like to complete things and then move on.

The craziness has manifested itself in odd ways. For instance I will sleep from 10:30 to 7:30 but wake up more tired than I went to bed the night before. I get this way sometimes and usually take naps in the afternoon to compensate, but the schedule has been so crazy that there has literally been no down time to do that.

I’ve found that one thing in particular helps: having an hour or two to just sit and read in the evenings. I usually read my RSS feed and the day’s news from other sources. For whatever reason that time helps calm me down and let my brain unwind from the day’s events. Lately, since the resting problems started, I haven’t gotten that either.

Hopefully things are calming down again. I will clear out some of the email this week, have gotten a handle on the Equals communications, and next week have big holes to get back to programming. While the personal stuff is only ramping up (both girls are playing soccer this fall), I will complete a big project this weekend — I’m building a dog kennel — that has been taking up evening time for me.

I woke up this morning feeling better. Hopefully it will last.

[1] Programmer’s time is scheduled in four hour blocks while manager time is one hour blocks. For more, see Paul Graham’s classic post on the topic.