I definitely try to take the mantra "never be the smartest person in the room" to heart. It has been a fairly decent indicator of how enjoyable I've found working those particular roles.
That's because while being the dumbest lets you learn from people, it can also breed complacency. You've always got someone better to pass the buck to. You can easily end up relying on better coders to do the hard jobs, and not learn new stuff as a result.
Being the smartest means the buck stops with you. You need to learn anything you don't understand, or the site never gets done at all. It can be a big learning experience in its own way.
So my recommendation would be to have at least one job where you're the dumbest and least one where you're the smartest. They're two different situations experts need to be able to cope with.