I've heard that at google (urban legend?) the best way to advance is to start a promising project that catches the eyes of managers as a potential money maker, get a very basic prototype going, and had it off to a team and then move on to your next big "money maker" idea. The people who "maintain" never really get much attention from management