Steve is an incredible networker (which helps collecting intelligence, he’s got an excellent machine for picking up market rumours). His network also includes a lot of people whom he can draw on as consultants or employees.
Early in the life of the company he moved back to Chicago, to set up the company headquarters there. We needed a US presence (and parent company) and Steve initially ran it from his home. He soon got an excellent deal for office space in the heart of the Chicago CBD, exactly opposite the Willis Tower. Chicago isn’t the most obvious place, and time-zone wise, the West Coast would have been better, but in the end I don’t think it mattered. Chicago is well-connected and Motorola’s mobile business (who should have been a major customer) was there.
He also went on to hire an executive team: CFO, VP Product Management, VP Marketing, all based in Chicago. The VP Sales (eventually also Chicago-based) took years, including some false starts: one resigned within 2 weeks for family reasons, and a French guy resigned after the first phone meeting (never met either, but maybe they sensed more issues than I thought?) Together with Benno and myself this comprised the initial executive team.
Generally the executives Steve hired in the first round were nice and decent folks, I liked working with them. Rob, the VP Product Management, was a much better choice for talking to engineers than Steve, he didn’t rub them the wrong way and didn’t bullshit. Dennis, the CFO, was a voice of sanity. Marti, the VP Marketing, built a great 3-body marketing team that achieved amazing visibility with a very small budget, they were full of cool ideas and executed quickly and effectively.
A clear issue was the lack of domain knowledge in the executive team. Some of the false-start Sales VPs had it, the eventual Sales VP didn’t (but tried to made up for it by Steve-style bullshitting). Rob came from Wind River and as such the embedded systems domain, which is at least related. He had held a senior position at Wind River, but that didn’t prepare him for defining a product strategy for a startup. In the end he mostly managed the product development process, while the actual product strategy came from Benno.
But the most crucial shortcoming of the executive team was that all but Benno (and me, and maybe Dennis in his quiet way) were yes-men/women, who didn’t ever challenge Steve, and this presumably is why they were picked. No-one who is willing to form and express their own opinion, or dares to confront wishful thinking with facts, is welcome in the Steve world. Such a person would have to go (as it happened with a number of non-executive staff, see Tony and Josh).
Chicago head office was this bizarre perfect world, where everything went to plan and everything always looked good. Benno called it the “reality-distortion field” that was created there, with all those fantastic deals that were just about to happen.
Obviously, such an environment, where fantasy is reality and critical thinking is treason, is a recipe for disaster. It is also extremely painful for someone who spends considerable effort developing bullshit detectors in his students. Unfortunately I had to get used to muting my bullshit detectors whenever I went into a meeting with Steve. Meetings in Chicago were this roller-coaster of having fun catching up with folks, especially our marketing team, and facing this deluge of bullshit. Can’t imagine how others survived that on a daily basis.
The obvious question is, why didn’t I try to do something about this earlier on? It’s a question I still struggle with, I can’t find an easy answer. I can’t claim that I didn’t see the problems, but somehow I felt too insecure to react properly. I also didn’t know how to react, and I didn’t have good mentors to turn to. And I was isolated on the Board.
© 2014 by Gernot Heiser. All rights reserved.
Permission granted for verbatim reproduction, provided the reproduction is of the complete, unmodified text, is not made for commercial gain, and this copyright note is included in full. Fair-use abstracting permitted.
Benno’s appointment as VP Engineering, for all its good sides, was also part of Steve’s divide-and-rule approach – in this case designed to side-line me. It meant that Steve established a direct link with Benno bypassing me. I could also feel a distance developing between Benno and myself, which particularly saddened me, given that he was my star student and like a son to me. Whether this was the result of Benno thinking he had to actively compete with me, or it was Steve actively bad-mouthing me, I can’t tell (but I’ve seen a lot of bad-mouthing of third parties to consider the latter entirely possible).
Of course, there was also a (to a degree inevitable) clash between purity and engineering realities. And I felt that I had to give Benno the freedom to fulfil his role and earn the respect of the team, so I was very careful to avoid seeming at odds with him or undermining him. My confidence in Benno’s technical insight made this easier.
But one of the effects was that I was increasingly excluded from technical design discussions and decisions.
Circumstances made this relatively easy. Part of OK’s deal with NICTA was that the outcome of the still progressing research program (the seL4 microkernel and its formal verification) would go to OK, and I was to oversee the completion of that program. So I was 50% OK Labs CTO and 50% group leader in NICTA. As a part-timer I inherently couldn’t be running too much on a day-by-day basis.
In hindsight, this arrangement was a grave mistake. By the time seL4 was ready, OK had had to build its market and products on the existing technology, and wasn’t the right vehicle for marketing seL4. (That’s not the full story, but more about that later). We should have left seL4 out of the deal, and I should have either had a stronger day-to-day involvement or just be a consultant. But that’s with the benefit of hindsight…
So, my part-time status helped Steve to remove me from most decision-making. But I was excluded from too many other things too.
Many of the personal highlights of my OK experience were talking to customers, be it engineers, VPs or CTOs. I learned a lot about real-world trade-offs, market drivers and technical insights. And my presence helped the company’s reputation. One memorable example was a technical meeting at Nokia, with engineers and CTO-office staff, including a known virtualisation sceptic. As Abi told me afterwards, that sceptic after the meeting commented “he’s the smartest CTO I’ve met, and totally devoid of bullshit.”
But bullshit-freedom isn’t an asset in Steve World. In fact, he thought he could do anything I could do (just better, of course). For example he seemed to truly believe that having sat through one of my presentations, he could do it himself just as well. The few times I observed him doing this, I felt like hiding in a corner for embarrassment, and did my best to prevent damage (typically involving kicking him under the table). But it was surely embarrassing, and any engineers around couldn’t help noticing that. Steve simply can’t keep his mouth shut when he thinks he knows something, even if there are real experts around. I can only imagine what went on when he was on his own.
And I was around less and less. Once Steve hired a VP Sales (who sang to Steve’s song book without missing a beat) I was generally not taken to customer meetings any more. This was partially compensated by some of our top engineers moving into sales, such as Abi, another one of my star students. At least they knew what they were talking about, but generally weren’t in a position to take a stand against bullshit. The rare exceptions included field-application engineer Josh (also a former student) and sales guy Tony. The two of them brought in the biggest non-Qualcomm contract during my time at the company (from Motorola). In fact the two were the only successful sales team we ever had (despite Steve heaping praise on the VP Sales at the Board whenever they managed not to completely mess up a sale). But they didn’t take any bullshit, so they were pushed out and massively bad-mouthed. This became a pattern.
There were instances crying for my involvement, but mostly I only learned about them afterwards (or not at all). At one stage, several opportunities started to develop in China. One of our engineers, native Chinese, who was involved in the technical evaluations told me later “it’s because of you, you’re well-known in China” (something I was quite oblivious to, but had later independently confirmed). The natural reaction should have been to fly me over and talk about the technology and vision. But no, Steve and his VP-Sales clone knew better. In the end, none of the China opportunities went anywhere.
Another case was DoCoMo, the main Japanese mobile operator. They had, in a 2006 white paper co-authored by Intel proposed the concept of the dual-persona phone (two logical phones, work and private, on a single physical handset, separated by virtualisation). In 2009 they were looking at developing one. There was a competitor in play, whose only advantage over us was a security evaluation (similar to Common Criteria but extremely low-grade – glorified tyre-kicking). DoCoMo was going to go with us if we could tick that box. However, for us it would have been insane to go through the expense of an essentially worthless security “evaluation”. By the time I heard about it, they had been talking in circles for 6 months! I joined the next phone conference, and within an hour we had a solution. Too late, as it turned out, things had changed internally in DoCoMo and the project never happened.
There were plenty of other opportunities where I never got a chance to contribute. Besides Steve’s systematic side-lining of myself, a contributing factor was the cultural ignorance of Chicago (i.e. OK headquarters). Steve in particular prides himself of “understanding” other cultures, but, like is technical “insights”, this is very superficial stuff he’s read in mags and blogs. He utterly fails to understand the appeal of technical authority in continental European as well as Asian cultures. People there have high respect for professors and value their opinions, especially where the professor is strongly identified with a particular technology (as is the case with myself and the microkernel technology that formed the basis of OK products).
As such, the standard approach should have been to get me in front of senior engineers/CTOs of any prospective customer. Steve (and his VP Sales) never understood this, despite my attempts to tell them. But what do you expect from someone who seems to believe that bullshit is an adequate substitute for substance? One telling instance of complete lack of appreciation of culture was when he asked a junior marketing staff to approach leaders of big companies across a range of industry sectors. That way, the CEO of BMW got an email “Dear Norbert, I’d like to tell you about our virtualisation products”. The mail probably never reached Reithofer, but if it did, it could only get us filed in the category of dubious operators, rather than a respectable technology provider, and would certainly have done far more harm than good.
As a consequence I grew increasingly frustrated with my lack of ability to contribute in a meaningful way. This was compounded by my observation that the company strategy was wrong, based on wishful thinking rather than analysis of market needs and technical facts. (More on this later.) I was asked to write white papers and technical blogs (something I enjoyed greatly) but that’s a pretty minor role for the CTO and founder. And I was supposed to screen invention disclosures and work with the inventors and the patent attorneys on getting patens filed. That stopped after I assessed two of Steve’s “inventions”, which he got Josh to write up. After finding that the inventive step was non-existent, I wasn’t troubled with any further ones…
I also wasn’t effective as a director. I was caught between trying to avoid being seen as undermining the CEO while trying to voice my concerns. I failed miserably at the latter. Basically I was very naive (probably hard to believe by people who know me) but I was also quite aware of Steve’s bad-mouthing machine, which I had seen at work more than enough. I should have taken a stronger, independent stand at the Board, but that’s water under the bridge. It’s a reflection of my inexperience, which Steve exploited well.
More about the board later.
Basically, my position became more frustrating as time went on. Sometime during 2009 I had given up any hope that OK would be a major success. I stayed on partially because I thought I owed it to the many engineers who were there primarily because of me, and partially because, having been at the conception and birth, I wanted to stay around for the funeral. It couldn’t be far off.
© 2014 by Gernot Heiser. All rights reserved.
Permission granted for verbatim reproduction, provided the reproduction is of the complete, unmodified text, is not made for commercial gain, and this copyright note is included in full. Fair-use abstracting permitted.
Start … Previous … NextWe had a world-class engineering team, by any definition. Except for one or two we hired from outside, the complete team that spun out of NICTA on 1 January 2007 consisted of my former students (and Carl, who never was a student at UNSW but had worked with us as an engineer since the early days of NICTA). Most had years of experience hacking microkernel code, and all had an excellent understanding of what makes a microkernel tick, and how you build systems on top of L4. Each could have doubled or tripled their salary by moving to Silicon Valley. They also had grown up working in a tight-knit team, so personnel-wise we were in good shape.
Before we could actually spin out, a (to me) unexpected hurdle arose: the contract negotiations. Steve took a very hard-line approach with the employment contracts. While most high-tech startups tend to provide fairly liberal conditions, what Steve offered was generally the legal minimum. In addition there were very broad and severe non-compete clauses (extending for a full year after leaving the company). While our legal advice was that this was almost certainly unenforceable in NSW, Steve insisted on them anyway.
The result was a staff revolt. About half of the staff refused to sign the contracts in the offered form, some making extensive changes. What followed was a lengthy (4 weeks or so) period of to-ing and fro-ing until we had a contract people were willing to sign. The end effect was that the company started on a sour note. I have to accept some of the blame here, as the original contract didn’t feel right to me, not the way I wanted to treat my students. But, again, I was inexperienced, didn’t trust my instincts in this unfamiliar territory, and trusted Steve to know what he was doing. Clearly a misjudgment on my side, and one I regret to this day.
In the end, Chuck, one of the A Team, decided not to join OK Labs, but instead moved to the Valley to join the Core OS Team at Apple, where he still works happily. At least he didn’t bear any grudge against me, we’re still good friends and meet up for a beer or three whenever I’ve got spare time in SF.
Not so for two others, Alex and Hal, who did sign on but never recovered from the original confrontation. They left about a year later, triggered by another poor handling of a situation by Steve: he had forgotten to perform a stock split before assigning stock options to staff, with the result that they got 2.5 times the percentage they were meant to get. Instead of saying “sorry, guys, we stuffed up” he tried to sell the correction as an improvement to staff, with a mail starting “good news! the price of your stock options has been reduced”. Not a smart way to treat grown-up engineers.
This created more bad blood. And, while I left these management issues in Steve’s hand (bad call, I know!) staff saw both of us as “management”. And it’s safe to say most staff were there primarily there because of me, and saw this as a betrayal of the trust they had in me. This was particularly the case with Alex and Hal, the two who left after a year. Hal hasn’t spoken a word to me since. It was my advanced OS course which had brought him to UNSW (as a postgraduate coursework student), so this hurts and saddens me.
My takeaway: If something seems wrong, do something, familiar territory or not. I should have known that, of course. One of the challenges was that I’m used to be able to trust my instincts, but this was an unfamiliar environment where I didn’t feel I could trust them, and Steve did a convincing show of knowing what he was doing. He also turned any doubt immediately into a personal trust issue, a great way to prevent any frank and open discussion. As I learned over the years, this was symptomatic: he would never admit to any mistake, and the mere suggestion that his approach wasn’t good would be seen as betrayal. The exact opposite to how I’m used to running things: frank and open discussions and looking for consensus.
After the bad start things improved quickly, and morale in the engineering team was very good once most people didn’t have to deal with Steve directly. Steve appointed Benno as VP Engineering, which helped to create that distance. Benno had been my star student, one of the most experienced in the team, despite his young age. He had proven himself in the early Qualcomm project, and is generally one of the sharpest people I know. Making him VP Engineering (rather than getting an experienced manager from outside) was a good move: Benno had more or less grown into the role already and did an excellent job on it. He is a real leader, respected by his peers, absorbed a lot about software processes, and also was a visionary Chief Architect.
We had excellent engineers, and a VP Engineering in charge who, despite his youth, provided strong leadership. The team achieved many amazing feats, generally delivering high-quality software very quickly. One of the most satisfying comment came from the Motorola engineer responsible for the virtualised phone project. He said “there were no bugs!” with the look on his face of someone who for the first time enters a Tardis and sees that it’s bigger inside. And we got consistently glowing feedback from customers after some of our engineers visited them, they never failed to impress through their insight and professionalism.
So in engineering we clearly had what it takes to be successful. All we needed was a plan and leadership to execute it, the engineers would build whatever was required.
© 2014 by Gernot Heiser. All rights reserved.
Permission granted for verbatim reproduction, provided the reproduction is of the complete, unmodified text, is not made for commercial gain, and this copyright note is included in full. Fair-use abstracting permitted.
Sometime during 2004 NICTA employed two entrepreneurs-in-residence. Their job was to identify spinout opportunities among NICTA projects. One of them was Steve, who showed up at my door as soon as word got around that we were getting significant consulting income from Qualcomm. He talked about setting up a company, and I essentially told him to go away, as I didn’t think that you could make enough money from selling operating systems.
Steve persisted and got involved, and effectively became the commercial manager of the Qualcomm project. Concurrently, new momentum developed: we were approached by TI, Ericsson, Apple and later Samsung and did paid projects with each of them, and a number of other potential commercial users had discussions with us. While this is exactly what I had predicted when I first started the ERTOS program in NICTA in 2003, namely that the classic unprotected RTOS-technology was reaching its use-by date, I was still surprised when it started to happen so quickly.
The Samsung case was, in hindsight, interesting in its own way. The folks who approached (and paid) us were the ones who had done the port of Xen to ARM, and were trying to promote this as a solution for virtualisation on phones (totally unsuitable, as I explained at length in a paper some time later). In hindsight it is likely that they only engaged us to better understand this competitor technology in order to keep it out of Samsung. This went as far as sabotaging any attempts by folks at their San-Jose-based lab to build things on L4.
Not all of the various prospects were in the mobile space. Some (including Ericsson) were producing network infrastructure (mobile base stations, routers etc), and yet others were for point-of-sale terminals. With this wide range of options, Steve eventually convinced me that there was a business opportunity. Once I made this step, it was also obvious that we had to be able to move quickly to seize opportunities, and take business risks. Neither of these are possible in a taxpayer-funded research institute, so it was clear that we had to create a spinout.
I had zero experience in this, and was happy to leave the lead to Steve, who obviously had the experience. He was on top of what was required to set up a company, and the network to hire management and sales staff. He also created a business plan and financial models to present to the NICTA board. I was surprised how full these were of assumptions plugged out of thin air, but hey, I had no clue, and presumably that’s the way it is done.
However, what we needed in order to build the company and ramp up staffing was either external investment or a degree of stable revenue. We had a revenue stream from Qualcomm, but this was on a work-for-hire basis, with people working as requested by Qualcomm, and we would invoice monthly based on actual hours worked. While the general trend of the volume (and revenue) was upward, we needed more predictability. And it was Steve’s major achievement to re-negotiate the contract with Qualcomm for a fixed amount over 12 months, invoiced quarterly. The actual amount was a big increase over what we had invoiced the previous year (and would increase further in following years). We had what we needed to spin out!
But before that we had to negotiate a deal with NICTA, mostly concerning IP conditions, rent for the use of NICTA facilities, and NICTA’s share of equity. The eventual deal involved NICTA transferring all its rights to existing IP (which was mostly open-source code, much of it developed from open-source code created by Karlsruhe and my UNSW team prior to NICTA’s creation). It also involved exclusive licenses, with a buy-out option on achieving certain investment milestones, for the IP still under development: seL4 and its formal verification.
During the spinout negotiations I got to get to see Steve’s negotiation tactics – he considers himself an excellent negotiator. They were based on huge land-grabs, which he then defended viciously, trying to extract concessions on every bit of ambit territory “conceded”. Whenever he could establish that the other side had a hard deadline of sorts, he would only pretend to negotiate when in fact playing for time in an attempt to force concessions. He would also systematically and deliberately push for concessions he knew the negotiators on the other side couldn’t make, in order to force the decision up to the CEO of NICTA.
This “worked” to a degree, and he did end up with some surprisingly good deals. NICTA, being a young organisation with high expectations from its stake holders, needed runs on the board, and was keen to see companies spun out, and was as such a relatively soft target. Also, the attitude on NICTA’s side was to be supportive of its startups. Thus Steve managed to get a very good deal, much better than I thought possible (or even reasonable). Although, as I learned later, some of the hard-found concessions were needed by the company (but others were pretty sweet).
Steve’s tactics created a few excellent deals in a number of other cases. However, there was a high cost. Many negotiations ended in failure when they should (and could) have been successful. And many bridges were burnt in the process.
© 2014 by Gernot Heiser. All rights reserved.
Permission granted for verbatim reproduction, provided the reproduction is of the complete, unmodified text, is not made for commercial gain, and this copyright note is included in full. Fair-use abstracting permitted.
The CORE Rankings
Some may know that a few years ago, the Australian Research Council (ARC) had a ranking of publication outlets produced. For computer science, the exercise was outsourced to CORE, the association of Australian and NZ CS departments (Oz equivalent of CRA). It categorised conferences (and journals) into A*, A, B and C venues.
I have in the past stated what I think of that list: very little. In short, I think it’s highly compromised and an embarrassment for Australian computer science. And I’m outright appalled when I see that other countries are adopting the “CORE Rankings”!
The ARC disendorsed the rankings in 2011. Yet, in 2013, CORE decided to maintain and update it. I argued that updating with a similar process as the original one will not improve the list.
The Fellows Letter
Now, some senior colleagues (Fellows of the Australian Academy of Science) have written an open letter, denouncing not only the CORE list, but basically any use of publication venues as an indicator of research quality.
The letter was, apparently, written by Prof Bob Williamson from the ANU, and fellow group leader at NICTA. Bob is a guy I have a lot of respect for, and we rarely disagree. Here we do completely. I also highly respect the other Fellows (one of them is my boss).
The Fellows essentially argue (with more clarification by Bob) that looking at where a person has published is useless, and the right way to judge a researcher’s work is to read their papers.
What I think
With all respect, I think this is just plain nonsense:
-
These rankings exist, like it or not. In fact, we all use them all the time. (Ok, I cannot prove that the “all” bit is strictly true, some, like Bob, may not, the rest of us do.) When I look at a CV, the first thing I look for is where did they publish. And I claim that is what most people do. And I claim it makes sense.
Fact is that we know what the “good” venues are in our respective disciplines. This is where we send our papers to, this is where we tell our students and ECRs they need to get their papers accepted. They are the yardsticks of the community, like it or not, it is where you publish to have impact. Publishing in the right venues leads to high citations, publishing in the wrong ones doesn’t.
Of course, we really only understand the venues in our own sub-disciplines, and may be a few neighbouring ones. So, collecting and documenting these top venues across all of CS isn’t a bad thing, it creates clarity.
-
The idea that someone can judge a person’s work simply by reading some of their papers (even the self-selected best ones), with respect, borders on arrogance. In effect, what this is saying is that someone from a different sub-discipline can judge what is good/significant/relevant work!
If this was true, then we as a community could reduce our workload drastically: We’d stop having conference PCs where everyone has to read 30 papers, and every paper gets at least half a dozen reviews before being accepted (as at OSDI, where I’m presently struggling to get all my reviews done). Instead, every conference would simply convene a handful of Bobs, divide the submissions between them, and each decides which one of their share of the papers should be accepted.
Of course, things don’t work like this, for good reasons. I’ve served on enough top-tier conference PCs to have experienced plenty of cases where the reviews of discipline experts diverge drastically on multiple papers. In my present OSDI stack of 29 papers this is true for about 35% of papers: 10 papers have at least one clear reject and one clear accept! And it is the reason why each paper gets at least 6 reviews: we get the full spectrum, and then at the PC meeting work out who’s right and who’s wrong. The result is still imperfect, but vastly superior to relying on a simple opinion.
Now these reviewers are the discipline experts (in this case, leading researchers in “systems”, incorporating mostly operating systems and distributed systems). If you get such a diversity of opinions within such a relatively narrow subdiscipline, how much would you get across all of computer science? I certainly would not claim to be able to judge the quality of a paper in 80% of computer science, and someone thinks they can, then my respect for them is taking a serious hit.
In summary, I think the idea that someone, even one of the brightest computer scientists, can judge an arbitrary CS paper for its significance is simply indefensible. An expert PC of a top conference accepting a paper has far more significance than the opinion of a discipline outsider, even a bright one!
-
Of course, that doesn’t justify using the publication outlets as the only criterion for promotion/hiring or anything else. That’s why we do interviews, request letters etc. Also, I definitely believe that citations are a better metric (still imperfect). But citations are a useless measure for fresh PhDs, and mostly of not much use for ECRs.
-
Nor do I want to defend the present CORE list in any way. I said that before, but I’m repeating for completeness: the present CORE list is the result of an utterly broken process, is completely compromised, and an embarrassment for Australian computer science. And any attempt to fix it by using the existing process (or some minor variant of it) is not going to fix this. The list must either be abandoned or re-done from scratch, using a sound, robust and transparent process.
-
My arguments only are about top venues. A track record of publishing in those means something, and identifying across all of CS what those top venues are has a value. By the same token I believe trying to categorise further (i.e. B- and C-grade venues, as done in the CORE list) is a complete waste of time. Publishing in such venues means nothing (other than positively establishing that someone has low standards). So, if we bother to have a list, it should only be a list of discipline top venues, nothing more.