I am awed by the fact that we manage to release any software at all, let alone functional software.
The biggest problem is communication. No one fucking communicates.
- No communication between orgs. Tons of bureaucratic tape to cut through just to get a hand on someone working on a different product
- Barely any communication between teams. Literally every group of 4 people is in a little silo with no incentive to go outside it
- Broken management structure. I have had many managers (a red flag in itself) but even worse none of the managers take suggestions from engineers. Everything is purely top down. If an engineer realizes there is a problem on a macro scale they cannot fix it. It is literally impossible to unite more than 1.5 teams to get anything done.
- So what happens is that you’re working on a product that’s part of another product but you never talked to any other teams or orgs on how to make your product fit in
- 10 different teams working on the same products and services. Zero unification means you are literally wasting developers and internally fragmenting every tool. Even worse, these teams compete for internal market domination
- Culture of secrecy means nothing gets fucking done. You file a bug report and you can’t even see it any more for some orgs
This is only the tip of the iceberg. There are fundamental and serious problems at Apple that no one in management gives a shit about solving. Any time engineers try to congregate or work on anything constructive with another team, they are shot down.
The only time I have seen cross-team developers working together has been to deal with critical bugs.
Because of the lack of communication, none of management’s goals align. They are all out of sync and poorly thought out. So year after year your manager has something they want you to implement but the feature for the year is bullshit because it makes no sense and is just there to pad the manager’s resume.
And you can’t speak out about this. Apple doesn’t take well to employees complaining. Even then, because of the lack of organization there is no one you could raise these issues with.