Hacker News new | ask | show | jobs
by IBM 3412 days ago
Apple is not a big company. Out of the 116k employees they have 60k are in retail [1]. Another 6k are in AppleCare call centers [2]. So about 50k of them are at corporate. Contrast that with Google which has 72k employees [3] and Microsoft which has 120k employees [4].

Apple's organizational culture is meant to be about small teams. Steve Jobs once said "we're the biggest startup on the planet" [5]. This leads to complaints about various neglected features or products and calls for Apple to hire more employees or spin off divisions so it can have dedicated resources. Just like people will always complain about the quality of service at airlines, Apple watchers will always complain about whatever pet issue they feel isn't getting enough attention. That there are complaints doesn't in and of itself mean that Apple needs to change their organizational culture. These complaints always miss the opportunity cost of the changes they suggest: that Apple is Apple because they are resource constrained.

[1] http://fortune.com/2016/01/28/apple-retail-ahrendts-employee...

[2] https://www.nytimes.com/2016/11/21/technology/how-apple-empo...

[3] https://abc.xyz/investor/pdf/20161231_alphabet_10K.pdf

[4] https://news.microsoft.com/facts-about-microsoft/

[5] https://www.youtube.com/watch?v=f60dheI4ARg

4 comments

Did you seriously just try to convince me that a 50k employee (by your logic) company is not a big company?
This (https://www.quora.com/How-many-software-engineers-does-Apple...) says that Apple employs ~16k software engineers.

Let's break that down across everything those 16k software engineers are responsible for:

• The OS kernels, drivers, and frameworks of macOS, iOS, watchOS, and tvOS

• The base-system software on all of those OSes, including rather involved apps like: iBooks, Safari, Mail.app, iTunes, Photos.app

• "Apps by Apple" like iWork, GarageBand, Pages/Keynote/Numbers, Final Cut Pro, Logic Pro X, iBooks Author, and, yes, Xcode

• Server.app (which adds to macOS the kind of enterprise domain-management + provisioning + MDM tooling that Windows gets in its Server releases, but also includes extra stuff like Wiki software, Xcode build-bots, and VPN management)

• Firmware + macOS drivers + Windows drivers(!) for Apple hardware (keyboards, mice, touchpads, headphones; I bought one of those MacBook USB-C multiport dongles recently and it did a firmware update, so apparently it has firmware too)

• Firmware and operating systems (usually NetBSD-derived) for "appliances" like the Airport/Time Capsule [though at least this has been dropped]

• Sponsored work on open-source projects (Webkit and LLVM being the two big ones) and standards (the Swift language; the Bonjour protocol)

• iCloud backend services: this includes the "obvious" things like the object store behind iCloud Drive and the per-app iCloud CoreData syncing servers; but also includes:

• • Apple's own maps service to back Maps.app

• • the iTunes store and App store (both in web and app form)

• • the Apple Music / "iTunes in the Cloud" sync servers

• • iCloud PIM support (mail, notes, calendars, reminders)

• • the FaceTime and Messages.app servers

• • Siri and Dictation (and you likely won't believe just how many languages Apple has built well-trained speech models for)

• • the Apple website / Apple Store + Apple Support apps

• • Xcode "development team provisioning" servers

• • webapp versions of iWork and the PIM apps (go look at icloud.com)

• • the Game Center servers

• • the iAd servers

This looks like a reasonable list, however I think the overarching view is that with all of Apple resources (money, etc.) they should be able to point some of them at XCode. This may involve hiring developers or shifting priorities from other projects. Either way, it's something that most developers feel is necessary and good.

Then again, maybe this is another way of saying that Apple really doesn't care about professional programmers and their needs. Similar to the feedback around the latest MacBook Pro specifications and the lack of movement in the Mac Pro and Mac Mini machines.

I'm not sure what flaw you found in what he wrote, or why even ask.

Obviously it's not the absolute number (50k) that counts, but how it's distributed. (And those 50k are not even all programmers).

If you do an OS, a mobile version of it, an embedded version of it, your own language, several huge SDKs, your own mail app, your own calendar app, you own spreadsheet, your own word processor, a TV appliance, the biggest mobile app store on the planet, your own logic board and CPU designs, the biggest music store on the planet, another large desktop app store, your own DAW, your own NLE, your own compositor, your own broswer, your own javascript engine, your own AI, your own Maps, and several other things besides, then no, "50k" might not be enough.

Microsoft has 5000 programmers just for Office.

The flaw is that when you have 50k employees, you have much greater flexibility and resources with regard to human resources (and likely almost every other resource) to move around than a company with 200 employees.

Additionally, we are invited to "Contrast that with Google which has 72k employees". So, Google, which has almost exactly 20% more employees (after removing all retail and help center Apple employees), is supposed to be so much different, and an example of a large company? At least the comparison to Microsoft has more than a doubling of employees.

The argument that Apple works the way they do because they run their teams lean is fine, but let's not start acting like they're not a large company just because their culture is intentionally different in some aspects.

Edit: To be clear, by objection is to the premise "Apple is not a big company." which was the leading statement of the comment I replied to.

A company with 50,000 employees in its corporate office(s) is huge. Saying another huge company is a bit larger and therefore this company is no longer huge is nonsense. Also, that a common range for defining "mid-sized" companies is under 1,000 employees should hint that Apple is beyond large. Here's a nice summary on how SBA and some companies classify other organizations:

http://smbresearch.net/sizing-up-smb/

Businesses with thousand or more employees are so rare as percent of the whole that they deserve their own category anyway. As in, what you say about them wouldn't apply to businesses in general and vice versa.

SpaceX has 5000 employees and they design, build, launch, and LAND rockets.
A much easier feat than having to deal with retail customers in shopping malls. Physics is much more rational.
Also, the company with the most cash reserves.
Perhaps because they don't have huge uncofuced teams?

It's not like having fewer people per project hasn't worked out for them in the one way that really matters for a company -- profit.

They have the most cash reserves because they're (a) incredibly profitable due to product demand and monopolistic practices (i.e. patent suits); (b) stockpiling cash. It's that simple. There's plenty of things they could be improving at Apple or just investing in. They're hoarding instead. They're not alone: many of the greediest, richest, and shareholder-oriented companies are doing the same thing while stagnating.
I'm not sure the best way to measure and compare, but it sure seems like Apple focuses a lot more on a narrow set of products than either Microsoft or Google.

Apple might be vertically integrated to a higher degree than Microsoft and Google, but Apple doesn't have as big of product diversity.

You don't need many people to improve xcode. I bet 50 people could do miracles if anybody cares.
50 people would just have a lot of meetings. I bet 6 people could make a real difference though.
I actually picked a small number. With documentation, testing and everything you get pretty quickly to large teams. I bet less than 10 would be devs.
I was all-in with six. Three people to write the code. Two people to write the documentation and otherwise interface with the public. One person to answer all of the emails and attend all of the meetings and make sure nobody interrupts the other five people.

If you have headcount for "testing" then I don't want to use your software. Tests are integral to coding and should be written first.

Grandparent's not talking about unit tests. A good human tester can be very useful in finding the mysterious edge cases where the bugs roam, without wasting your developer's time doing the same.
If you have headcount for "testing" then I don't want to use your software. Tests are integral to coding and should be written first.

Yeah, if everything were synchronous, deterministic, linear, and non-interactive, life would be so much easier, and test-driven development might actually work.

Do you use Apple software? I understand they are pretty big on manual testing.

Your process description doesn't sound anything like how I understand products are developed at Apple. Where's the headcount for the designers / UI specialists? Are you counting them as engineers?

Do you have a publicly accessible project I could inspect how this all worked out for you?
That would be a dream but I have never seen that I a large company. Every little thing gets huge overhead.
Mythical man month.
It seems like what was once their strength is now becoming a liability. They seem to be spreading themselves too thin and more and more people are complaining about more and more things. Since more customers are unhappy it seems like they either need to hire more people or cut products.
I thought they were already cutting products. Apple displays: gone. Airport: gone. Mac Mini and Mac Pro haven't had updates in so long they should be gone.