Things are so broken here at Apple. I joined about 4 years ago.
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.
ALSA is not the problem, it works very fine for the low-latency case, I can reliably run soundcards with light processing load at 96 kHz @ 64 frames/period (20.7ms --> 1.4 ms latency) on a quad core i5, e.g. for running a reverb effect, but most of the time I only record and will settle for 1024 frames/period or so. (210ms --> 20ms). The period size, just for completeness, is the number of samples recorded on each block that is forwarded to the audio processing application.
If whatever audio framework you use doesn't allow to run processing with a input-to-output delay (latency) of two times the period size, it's broken (probably the case for Audio Flinger at Android, don't know much about it).
➜ ~ jackd -d alsa -p 64 -r 96000
jackdmp 1.9.10
Copyright 2001-2005 Paul Davis and others.
Copyright 2004-2014 Grame.
(...)
creating alsa driver hw:0|hw:0|64|2|96000|0|0|nomon|swmeter|-|32bit
configuring for 96000Hz, period = 64 frames (0.7 ms), buffer = 2 periods
ALSA: final selected sample format for capture: 32bit integer little-endian
ALSA: use 2 periods for capture
ALSA: final selected sample format for playback: 32bit integer little-endian
ALSA: use 2 periods for playback
(this is on my laptop, just for illustration purposes)
As someone who works at a company similar to Google (not FAANG, but just below), this is hilariously accurate.
> You cannot get promoted beyond a certain level in this place unless you...
YES! It's soooo not about smarts/(true) impact/anything truly relevant - it's about racing to the bottom via launches, and crazy ways to generate revenue. I find is so funny looking back, that pre-undergrad-graduation, I thought promotions came via actually doing great things.
> people internally usually warn about this shit, complain about it, file bugs about shitty performance, etc. It is ALL ignored
It's hilarious how L2s and L3s truly just don't give a damn about the opinions of those working at the company (first-level employees and those just above that)
After this job, I AM DONE with this big company ish. I'll leave that to the new-grads who still believe you get promoted by being smart ;)
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.