It sounds great but most places seem to hire based on current abilities or previous accomplishments, not potential, so how does one go about implementing this advice for anything other than an entry level position?
Of all the places I've worked as an employee, I've always been around people smarter than me. I never found it difficult to find them. Maybe this is because I'm not very smart! :-) I like to think it's because I looked for them. Even if they weren't in my direct group of peers, they were somewhere in the company and easy to associate with. Without fail, if I became the top person in my group, it was time to move up or move out.
The only real time I've had a problem with this is when consulting. I usually WAS the expert, or at least perceived expert, and had difficulty finding people to work with that could elevate me to the next level. The easy solution to this is to go to local meetups with people who share your passion.
Work for companies that are weak in what you're strong in, but strong in lots of other areas.
When I joined Google Search, I was frequently the smartest guy in the room when it came to JavaScript quirks, or web development, or rich AJAX apps. I was usually the dumbest when it came to massively distributed systems, or information retrieval, or i18n and accessibility, or unstructured data mining.
Over time, I've transferred a bunch of my frontend knowledge to other engineers, and I've learned a whole lot about how massive software systems are architected. I'm a better developer, the people around me are better developers, the company is several hundred million dollars richer, and everybody wins.