March 23, 2011
Bertrand is someone I have immense respect for and consider a friend, and, personally, I will miss working with him a ton. He is every inch a scientist, with all that implies: he liked thinking about big ideas, and loved broad strokes. Bertrand was at NeXT for as long as I can remember, and over the years he and I established a tradition of meeting every year during NeXTWorld and then WWDC for lunch, and we’d talk about the state of NeXTstep / Rhapsody / Mac OS X and what the future might hold, and I’d always pitch him on my latest crazy ideas.
One year, when I was still at Omni, all our WWDC-going guys used one of these lunches with Bertrand to beg him to bring back Enterprise Objects (“EOF”), after NeXT/Apple had killed everything we liked about it by folding it into WebObjects and then porting it to Java. I still remember the discussion because Bertrand zoomed in on the big idea we were getting at – what did we want in EOF? What was the core part that was cool? What’s the minimum necessary? The idea of storing files in a database, yes, but also the idea of binding to the interface layer from the model layer? He liked these kinds of issues.
Now, of course, Bertrand could never tell us what was in development, he could just say, “Yes, yes, this is interesting, yes… of course, I can’t promise anything, of course.” But, two years later we got CoreData, which had exactly the parts of EOF we had asked for, and it was pretty damn awesome.
Note I’m NOT saying, “OH HAI GUYS I INVENTED COREDATA.” Obviously, we weren’t the first or the only people who wanted EOF back; it was awesome and we all loved it. This is a story about Bertrand, and how he’d listen to engineers and people “under” him, distilled the essence of those ideas, and made them real.
A couple years ago when I had my lunch with Bertrand he talked about how we now believe the raw amount of bits of information in Mac OS X is equivalent to the bits of information in the human brain – we are now working on that scale. He seemed very excited by the idea; I was kind of surprised that he had this non-software-wonk side. But that makes it more understandable that today he announced he wants to do “science.”
Craig Federighi started working for NeXT in about 1994, joining the EOF team during a period where Omni was EOF’s biggest and hardest user. Omni was part of a team writing the customer care / customer acquisition software for McCaw Cellular, which did well enough that it is now known as “AT&T Wireless” (but they threw away our software) – eventually our guys (especially Tim Wood, Greg Titus, and Len Case but not including me) got promoted up the food chain enough that they were designing the technical infrastructure for this $6 billion company’s software, which was kind of awesome for a bunch of 23-year-old kids.
So Craig joins the EOF team and that’s our bailiwick, and so there’s sort of a natural sniffing-of-butts when he first flies up to Seattle for a conference with McCaw’s teams. (At the time NeXT knew McCaw was a hugely important customer, so we were all working very closely with NeXT.)
We’re all around this table in some generic conference room, and in comes Craig – the new guy – and he’s like seven feet tall and gameshow-host handsome and he’s smiling like a used car salesman. I will admit it; I was prepared not to like him. I mean, nerds have a certain look to them, and if you violate the unwritten nerd contract then you risk ostracization, dammit.
You naturally expect a tall, handsome dude to be, well, kind of a jerk. Like, his ideas are more important than yours. But what struck me so hard in that first meeting, so much so that it’s still in my head 17 years later, is that he was there to listen. And not just to passively listen – he wanted to make sure he understood what we were saying, yes, but also to get to the heart of it. Are you saying we need this? Is this what’s really important, or is it this other thing? Active listening. In an industry where most engineers just want to talk about how big their metaphorical dicks are, this was a huge surprise.
The NeXT EOF team had some of the smartest engineers on it I’ve ever had the pleasure of working with, but they tended to be kind of lone wolves. They did their thing, they had their ideas, the wrote code. Craig brought ideas together. He didn’t care who they came from – I’ve got mail from him asking if we want to put sample source code on an EOF release, I’ve got mail where he followed up on bug reports he filed against OmniWeb and OmniPDF. Why was Craig so concerned about third-party software? Craig likes to get things right. Sure, he’s damn charming, but he’s not really concerned about politics, he’s concerned with making sure we the needed things are done well.
I’m notoriously bad with dates, but in my story-telling memory Craig was running the EOF group within, like, a month. EOF was a HUGE deal for NeXT, so this was the then-equivalent that running the iPod group at Apple would have been a few years ago. During this time he always dealt with Omni openly; he integrated code we’d written at McCaw into EOF, and let us in on what was happening with the framework. We felt like we were his partners – not exclusive partners, obviously, but our voices mattered, none-the-less.
After the Java port killed everything beautiful and fun about EOF, Craig left the company – I don’t claim to know his thoughts, but I wouldn’t blame him if it was because they took his baby and turned it into hideous slow ugly beast. Over the years I’d occasionally write Craig to beg him to come back to Apple, because he was one of my favorite guys in the industry and I wanted to work with him again.
As it happens, I wasn’t the only one with that thought, and Apple had been sending out feelers to Craig at the same time. He came back a couple years ago to take over Mac OS software. And, now, voila: VP of Software.
So, we’re losing a great man in Bertrand, and we’re gaining one in Craig. I think most people want to know “is this good for Apple?” Well, what’s good for Apple is: Bertrand wants to do something different, Craig wants to do this, and the most effective employees are the ones who are doing exactly what they want.
So, yes, this is good for Apple. And if Bertrand comes back someday, in some capacity, that’ll be good, then, as well.
Good-bye, Bertrand, old friend. And welcome, Craig, old friend!
I write the software for
- In Semi-Defense of Twitter
- Why I hate "Fallout: New Vegas"
- Q&A with TSA Chairman John Pistole
- Adobe & Microsoft, Sitting in a Tree. W-T-F-I-N-G?...
- “Curated” Doesn’t Necessarily Mean “Secure”
- TED 2010
- An Open Letter to Steve Jobs Concerning the HTC La...
- Pimp My Code, Part 17: Lost in Translations.
- Pimp My Code, Part 16: On Heuristics and Human Fac...
- Welcome to the iTunes App Store!
Pimp My Code
- Free Programming Tips are Worth Every Penny.
- I will insult your code!
- Part 1: Code Insults, Mark I
- Part 2: self = [stupid init];
- Part 3: Gradient TableViews
- Part 4: Returning late to return early
- JPEG2000: Cool but SLOW.
- Unit testing is teh suck, Urr.
- Part 5: Special Apple Sample Code Edition...
- Interlude: Free Code
- Pimp, Pimp Thyself.
- Frameworks are Teh Suck, Err.
- Part 6: The Pimp Before Christmas
- Thinking, boxes, & what kittens can do to them.
- Part 7: Pimplette?
- Part 8: Mary, Mary, why you buggin?
- Part 9: Beginner Code
- Part 10: Whining about Cocoa
- Part 11: This Sheet is Tight
- Part 12: Frozen in Carbonite
- Part 13: The Pimp Before Christmas, Redux
- Part 14: Be Inflexible!
- Part 15: The Greatest Bug of All
- Part 16: On Heuristics and Human Factors
- Part 17: Lost in Translations