random opinions about various companies. Note that these are generally based on unfounded rumors and gossip and not to be taken as factual or indeed very seriously. My main purpose in formulating these is in identify potential good strategies and also potential mistakes, to emulate/avoid in my own businesses.

Generally any company famous enough to show up in this list is one that i'd consider to be a huge success overall, so please don't think that just because i point out some potential mistakes that i think that these companies aren't successful, or that i could do better, or that they are not to be emulated. Also, some of these "mistakes" are not really mistakes but rather are necessary tradeoffs; although it can be hard to tell which is which.


Google is fantastic in how they make their engineers happy and (hence) attract the best engineers. They are fantastic at openness and breaking down silos within the company.

Unfortunately, although intra-Google communication is fantastic, communication across the boundary to the outside world is terrible. I think a lot of this stems from Google's initial focus on products that did not demand customer support, and their focus on data for product design decisions. What i hear is that now, even for products that do demand reliably good customer support (e.g. platforms for other companies to build upon; products that individuals use for business e.g. paying people for youtube videos, google apps for business), even for paying/paid customers, there is not good support (although now that some of those products that offer separate support add-on support options, hopefully at least those do the job). I've heard multiple anecdotes where people couldn't even get any response from anyone at Google about some critical problem until either (a) they had a friend at Google intervene for them, or (b) they got their sob story voted up on Reddit, Twitter, Hacker News, etc.

Separate from actual communication about detailed issues, Google's branding is great. People seem to love them.

many of google's products are free and/or ad-supported.

also, i think google got too big. First, they seem to have a zillion products and lines of business, who can keep it all straight? Second, it's not clear to me how or if these various products and lines of business are synergistic. At least from the outside, i don't see a narrative that attempts to classify all of their products into a few divisions, although the "Senior Leadership" provides a clue that they are organized into:

Even 6 divisions is too many for me. Were i they, i would do:

but this is lumping together dissimilar things. What i would really do is:

Google seems to think that the devices are synergistic in a kind of 'if we don't do it, we don't control our destiny and are slaves to apple if they win' way, as well as 'well if we make the internet better we'll sell more ads'. Imo neither of these is important enough to justify the distraction of these things. Google seems to think the Google X stuff fits in because their core competency is attracting and managing awesome AI-ish engineers; I agree with that but i don't think it justifies such a disparate business. Yes, Apple made devices; but there are synergies between Apple computers and iPods and iPhones, e.g. you can make it easy to have your iTunes library across all of them. I don't see the synergy between self-driving cars and Google search.

Google's recent "more wood behind fewer arrows" campaign is exactly the right idea imo, but they made a big mistake in how it was done; they don't provide the outside world with any clarity on how where each of their products stands in their thinking, so now the outside world has the impression that any google product (besides search and adwords and maps and gmail and android and youtube and docs) may be cancelled at any moment. This kills developer and ecosystem adoption of products like the Google Cloud services (particularly the hard-to-migrate ones like App Engine), and hinders user adoption of any product. Note that this coheres with the "Google is weak at communication between inside Google and the outside world". Were i they, i would create a standard classification system for how committed they are to each product, perhaps backing it up with legal promises (e.g. "we promise that none of our gold tier products will be cancelled within five years of being gold tier"). Yes, this has disadvantages, and yes, no one else (e.g. Amazon) has to do this, but Google needs to recover the trust they lost by surprising everyone by unexpectedly killing services in the past.

one might think that google's focus problem (if it is a problem, as i suspect) goes hand-in-hand with making engineers happy by letting them start new projects, as e.g. gmail was started bottom-up. However, i don't think this is the case, as recently google execs have defunded or killed projects that the rank-and-file liked (e.g. google reader), and emphasized other ones based seemingly on what execs were excited about rather than engineers. i wouldn't think it would be a problem for google just to have a bunch of random not-well-funded 'google labs' projects that are bottom-up driven; it's the large number of funded, management-driven projects, and the inconstancy with which management supports these, that bothers me.

google is thought to have a great internal technical infrastructure. however this causes google products to be built in a way such that they cannot easily be spun out or open-sourced, because they are dependent on google's one-of-a-kind infrastructure

google has chosen a small set of languages to use internally, and has a system where almost any google engineer can see almost any source code at google, which assists the goal of knocking down silos and internal communication.

google is thought to have a cultural issue wherein people and projects who aren't located at the 'main office' are disadvantaged.

potential lessons to learn:


microsoft seems to have a cultural problem. It seems that they had an internal competitive atmosphere which eventually led to managers who were more interested in politicing and back-stabbling than in making MS awesome.

probably because of this, microsoft is rumored to be an unpleasant place to work.

branding-wise, they are currently ridiculed as a big old 'legacy' company but they are beginning to turn this around, at least among devs, with their new friendliness towards open-source and their excellent C# language and toolset (note: i don't know C# myself but the rumor is that it's excellent).

although devs ridicule windows, the evidence shows that microsoft is great at creating software platforms that will be used by businesses and populated by an ecosystem of developers.

microsoft is great at backwards-compatibility.

microsoft has a reputation of having solid documentation.

also, i think microsoft got too big. First, they seem to have a zillion products and divisions of business, who can keep it all straight? Second, it's not clear to me how or if these various products and lines of business are synergistic.

were i they, i would have 3 divisions:

and spin off anything else that doesn't fit. This isn't that far from what they actually have:

potential lessons to learn:


amazon is great at customer focus.

the CEO sometimes answers customer emails and ensures that their complaints are handled.

amazon is great at holding down costs.

amazon is great at creating platforms (e.g. amazon marketplace and ec2) that will be populated by an ecosystem of users/businesses/developers (there was a popular blog post by Yegge suggesting that Amazon has 'platform-thinking' in the software sense, too).

amazon is reputed to be an unpleasant place to work, probably due to a focus on cost-cutting and a lack of lovey-dovey spirit emanating from the CEO. It's unclear if this is intentional (e.g. if the CEO has decided that being a nice place to work is not worth the costs) or not; the rumor is that it is intentional but i can see how this may be a mistake.

amazon has some unsynergistic-seeming businesses (amazon marketplace, and EC2? amazon prime video streaming? amazon kindle?) but since there are only a few it doesn't seem out-of-control yet.

potential lessons to learn:


apple is thought to excel at 'vision', which in this case seems to mean, creating new products that others don't think will be popular, but turn out to be.

apple is great at focusing on a small number of synergistic product lines, and at doing both good design and (usually) good engineering.

the CEO (at least used to, and maybe still does) sometimes answers customer emails.

apple is reputed to attract the best people; i have no information on whether or not people are happy there. apple's past CEO, Jobs, was infamous for ultracompetitive unkindness.

apple has great branding; everybody loves them.

apple is considered to be innovative despite their spending proportionately less on R&D than many tech companies.

it's unclear if apple's internal structure can survive the loss of Jobs, we'll see. It's doing fine so far.

random note: "When I arrived, everyone was in bowties and suits. They did not look like revolutionaries." --

potential lessons to learn:


i don't know what to think about Yahoo. From the outside, and without looking at their numbers, it seems like they've been treading water, squandering their opportunities and ruined businesses they've bought for awhile now. But they're still alive, so maybe they are making money in some quiet way.


i've heard facebook is good at having a hacker-friendly culture, where individual developers can dream up new features and implement them.

however, this may come at a cost: facebook as an application, and especially as a developer platform, has a reputation of being too mercurial. This is especially deadly for the developer platform. The dev platform also has a reputation for having out-of-date documentation.

facebook's branding is mixed. facebook has acquired the reputation for caring more about money than user privacy, and is also becoming uncool.

potential lessons to learn: