Worked there for 10 years starting from a junior SE to a SSE and TL responsible for shipping major products for OS X
Pros
Good for newbies and students, since company provides a training centre and further assistance by senior staff. Flexible work hours are typical for in-house projects, but it highly depends on habits of a particular team leader. And that's almost it.
Cons
-- Constant delays with payments with no reasoning and excuses, you just don't receive your salary in time even if you work hard and your team have shipped all products in time with a good quality -- No benefits, you just receive your salary and this salary can only be increased if you're telling your management you're leaving the company -- Senior staff is overloaded with a necessity to mentor newbies and ship products at the same time, there is no balance, if you're a TL you have to do a real work with trainees, nobody cares it's beyond limits -- Hardware is old and slow, it's just annoying -- cheap additional slots of memory may save lots of nerve cells and time, but CEO just doesn't approve its buying -- Absence of Internet connection at the workplace; there is only one slow machine to access the Internet, , a complete insanity -- Working conditions are just unacceptable: rooms are packed with hardware and people, it's too noisy; tables and chairs are all old and almost broken, there is no place even to have a phone call, toilets are dirty and there is no hot water -- Necessity to work a private entrepreneur, but with payed vacations and sick leaves -- Medical assurance is just formal and very cheap, nothing is covered by it -- Company doesn't provide any entreatments or trainings. Want to visit some conference? Just forget it, this luxury is only available for CTO and several top management representatives, for instance I haven't visited any conference and haven't had any business trip for 10 years of hard work -- it's too expensive for the owner