Apple's Flexible Engineering Teams Said to Operate Like a Startup
In an interesting blog post, Posterous co-founder and former Apple engineer Sachin Agarwal describes how Apple runs its engineering divisions "like a huge startup", with engineers frequently being moved from project to project based on whatever is the highest priority at the moment. As an example of the effect of Apple's lean staffing policies, Agarwal points to the company's stagnated Remote application for the iPhone, which has yet to see such enhancements as iPad compatibility or iPhone 4 retina display support.
Yes, the Remote app is due for an update. But here's why it hasn't been updated: the person who wrote it is busy working on other things. Yes, the person, not the team. (He's a good friend of mine)
Apple doesn't build large teams to work on every product they make. Instead, they hire very few, but very intelligent people who can work on different projects and move around as needed.
While the engineer responsible for Remote is not identified in Agarwal's post, it is believed to be Alan Cannistraro, who has been one of the primary lecturers in Stanford University's iPhone Application Development course [iTunes Store] that has seen significant success through Apple's iTunes U program. Cannistraro has introduced himself as the developer of Remote as part of that course.
Startups also thrive by keeping things lean. Great startups have small teams that can build quickly and pivot when needed. When working at a startup, you don't own just one part of the application: you have to be able to work on whatever needs your attention that day.
Apple's staffing strategy even goes as far as moving engineers between platforms, as had been suggested in reports earlier this year claiming that Apple had diverted resources from Mac OS X 10.7 development in order to push forward on iOS 4. While the lack of dedicated projects for engineering staff provides for efficiency and flexibility, as well as offering employees opportunities to develop breadth of expertise and fresh intellectual experiences, it can result in certain low-priority projects such as the Remote app becoming stranded as their developers are redirected to other areas.