Internet services takes completely different skills than hardware. For hardware you have one chance to make it right. So teams plan long ahead, test like crazy and release products as close to perfect as possible. For internet services, it’s the other way around. You release the MVP, learn from users and constantly iterate.
That’s the root cause why Apple sucks at internet service.
Is it possible to decouple software development from hardware development very loosely in an integrated platform company? That is, is it possible to allow software teams to shoot like cowboys, let users complain and scramble to fit the issues accordingly while the hardware teams follow a strictly old fashioned waterfall methodology.
Also, almost every software companies paid their SWEs more than Apple… I heard easily 30% more… correct me, anyone. Apple can’t really pay that high because of the need to harmonize the pay amongst its employees. Is a compensation issue with an integrated hardware and software platform company that need to be carefully balanced.