I just finished reading The Hard Thing About Hard Things by Ben Horowitz. As technology management books go it’s by far the most refreshing, honest and illuminating thing I have read in years. I strongly recommend buying the book. The profits go to a good cause too. I didn’t know much about Ben Horowitz, other than an awareness that he’s half of the VC power duo Andreessen-Horowitz, but he clearly deserves all the plaudits he gets. Plus, he likes rap music and, in addition to my love of jangly indie guitar music made by skinny chaps from Northern England, so do I.
The book is deliberately marketed as “things they don’t tell you in normal management books”. It covers topics like how to fire your friends and whilst the language is surgically direct (I bet he’s a tough guy to work with) there’s a lot of humanity in it (so if you measure up I bet he’s also great guy to work with). My favourite quote in the book is in the section covering what business is all about: people, strategy, markets, profits, customers, where he drops in:
Being a good company is an end in itself
Whether you buy into any of the practices he recommends in the book or not, you can not escape the fact that good companies are what it’s all about.
Good people want to work for good companies and good customers like to buy from good companies. It reminded me of the Nelson Mandela quote:
A good head and good heart are always a formidable combination.
But when you add to that a literate tongue or pen, then you have something very special.
I’m sure many good companies have gone out of business because they were in the wrong place at the wrong time, had a bad strategy, got caught out financially, but I know I’d rather fight adversity from inside a good company than a bad one. There are plenty of bad companies. Hell, most companies are pretty awful.
The secret Horowitz preaches is essentially the idea that one must constantly develop a kind of super-awareness to combat lazy decision making - people make bad decisions (and therefore create bad companies) because they make lazy decisions. They create standard organisation charts, follow standard people management processes, and adopt standard growth tactics, rather than take the time to challenge de facto default lazy ideas that are the norm in other companies (i.e. the bad ones).
In the ominously-titled section “Old People” he lays out the risks of hiring senior experienced staff into a growing company. As a bit of an old lag myself I read that section with some trepidation. The last thing I wanted was to hear was Ben Horowitz destroy any hopes (and stock options) I might have had for succeeding in the next Facebook. To be fair, his argument that senior staff are a risky bet (like an athlete taking performance enhancing drugs) is well made. Experienced people come with baggage. That baggage might be in the form of rigid cultural habits and expectations, a tendency toward political positioning, or just simply narrow perspectives on process and technology.
He does however advise would-be awesome CEOs to seek out experience if it brings with it some external knowledge that would benefit the company. For example, you want to break into a particular market in China when you’re in the UK, then you probably want to hire someone who’s already done that. And done it well. And done it for some time. In these cases that know-how outweighs the lack of flexibility they may come with in other areas.
And there’s valuable forewarning in that sentiment if you look at it from the flip side. The CEO in this case is seeing two sets of features. Horowitz calls them external experience and internal experience. Dealing with a market you don’t understand well requires external experience whereas many roles, especially in start-ups, require internal experience. Even (one might say particularly) technical roles - scaling Facebook required knowledge of Facebook not just knowledge of CAP theorem and Concurrent Common Knowledge.
But here’s the thing: when you go for a job interview you only have external experience. You might impress your interviewer by second-guessing their internal challenges but you’d only be simulating internal experience. No matter your age or actual experience, all your previous internal experience with other companies becomes external the moment you walk through the door of the interview room.
On the day you start your new job you carry a massive Competence Debt. Your internal experience equals zero. Your external experience may be vast but the value of most of it is also zero because you’re not in Kansas any more. You need to set about addressing your competence debt as soon as you can. That means learning plenty of new things and carefully moving external experiences to the internal pile where it’s applicable. The rest of that external experience needs to be moved to a pile marked “maybe useful for another day”.
So is debt a good term for this? Well I think so because, like Ward Cunningham’s concept of Technical Debt, it’s an obligation owed that if not paid will cause problems later. How many times have you heard someone constantly refer to where they last worked? “Oh at BlahCo we used to do Blah” (when you know that BlahCo sucks and Blah would pretty much suck here). Technically, many companies appear deceptively the same, but they’re also different in very important ways. That’s why I’ve never believed in diagram-driven code generation or CASE tools. The hubris that goes into thinking you can design a tool that can solve all future problems is the same kind of attitude that leads to Blah getting implemented precisely where it’s not needed. It’s lazy thinking and not super-awareness (but you know, I could be wrong - maybe visual programming tools will save the world and that’s just my competence debt talking).
Senior people are more prone to visible competence debt because they have more external experience to filter through every time they join a new company. Being more aware of this helps. As does regularly engaging with the opinions of people who don’t hold your point of view.
Ben Horowitz makes a similar point about hiring people based on their ambitions - people can be what he terms locally optimised (driven by a desire to do well for themselves) or globally optimised (driven by a desire to do well for the company). Management teams, he says, should be globally optimised.
I don’t know if anyone could (or should) fake their optimisation, but clearly interviewers are looking for the latter. And quite right too because caring about the company makes for a better company, whereas caring exclusively about oneself in the long term only creates distrust.
Of course they’re not mutually exclusive - whenever I start a new project I think of how the company will kick the respective butts of its competitors based on my efforts. It’s a bit childish, I know, but it helps me focus daily tasks on why they should be done. However, I don’t put all this effort in for free. At least not for everyone. The field of software development is so great to work in that I would do it for free. And I do do things for free for people and causes that are deserving or intriguing in some way. But when there’s remuneration involved it has to reflect the value of the effort, otherwise global optimisation erodes enthusiasm for local activism.
It’s not covered in the book, but I think there’s a third ambition vector. I’ll call it Orthogonal Ambition: a desire to do well for the work itself. This is probably peculiar to software and other craft-like activities, but I have worked with many outstanding individuals who turn up and do a great job purely for the joy in producing a technically fine product. Not because it’s good for the company (although clearly it can be) or because they will gain financially.
This is a point worth considering in some depth before making a new hire (and, as a potential new hire, to understand your own motivations). Making technically great products is not the same as making products that get to market on time. And yet investment in technical greatness (by which I mean architecturally clean products) is an important part of making a company strategically successful. If you can’t add new features cheaply you will eventually be beaten by someone who can.
In the end it’s all back to awareness: awareness of needs, awareness of people’s desires, and awareness of longer term plans. And self-awareness, both for what we each want from any one experience, and our capabilities and short-term inadequacies in meeting all those goals.