Get to work on industry-leading technology. Few jobs will involve technology which reaches as many people as the hardware and software Apple produces.
Reasonable pay, but good benefits (on-site doctor, good health plan, etc.).
Challenging work environment with a high potential for personal development.
Absolutely no work/life balance; arguably one of the worst among large Bay Area companies. You should be okay not seeing your family and friends very often, and it helps to have a personality that thrives on constant stress and work.
Schizophrenic upper and middle management, changing priorities constantly and treating engineers like disposable resources. Release goals are often unachievable, and code is often hurriedly thrown together. Software quality suffers as a result.
Poor facilities: employees often have no place to park and are all but required to eat at the on-campus cafeteria (which is not free) to avoid losing parking spots. It wasn't uncommon to have to spend 30 minutes hunting for parking in residential Cupertino after getting back from a doctor's appointment. Campus is generally overcrowded with work environments that aren't conducive to productivity.
Focus on smaller, more achievable sets of features that can be delivered with high quality. Make sure engineering has the support they need to get things done.
Overbudgeting for a release means engineers kill themselves to try to pull together features that are ultimately cut anyway; it's better to underbudget and have stretch goals if you have extra time.
Apple has always been a magnet for engineers who thrive in high-stress environments, but the work-life balance the last 4 years I worked there was unreal, and will only result in attrition of talent.
Team-specific interview process. This team focused on OOP principles. The phone screen involved OOP with a bit of system design. The onsite included another OOP section and a peculiar tree/node question where the task was to serialize and deserializ
Honestly, pretty damn easy, lol. I'm going to try Google next. This was genuinely so simple, I'm amazed a FAANG company would do this. Just practice 300 LeetCode questions and you'll be set!
It was good, tough, and long. 1. Prescreen interview with overall questions to estimate my technology knowledge and experience. It took a 15-minute talk. 2. Test task: write a project. It took 2 hours. 3. Tech interview: 3 sessions, 1 hour each.
Team-specific interview process. This team focused on OOP principles. The phone screen involved OOP with a bit of system design. The onsite included another OOP section and a peculiar tree/node question where the task was to serialize and deserializ
Honestly, pretty damn easy, lol. I'm going to try Google next. This was genuinely so simple, I'm amazed a FAANG company would do this. Just practice 300 LeetCode questions and you'll be set!
It was good, tough, and long. 1. Prescreen interview with overall questions to estimate my technology knowledge and experience. It took a 15-minute talk. 2. Test task: write a project. It took 2 hours. 3. Tech interview: 3 sessions, 1 hour each.