People like to throw around this kind of advice often. Hanging around people who "get shit done" is a privilege that not everyone has. What happens when you go to a cheap college in Mexico where none of the computer science teachers have ever worked in a large scale application and most haven't even written one in their lives? How do you apply this advice when 90% of your classmates can't read a sentence of english and learning something unusual like python and deploying a toy app on some server not only puts you ahead by miles of the rest of your class but also of the rest of your entire generation? Some communities don't have this kind of people. Is someone in this position supposed to ditch everyone around him/her?
If you have internet access, hang around on-line communities that get shit done that interests you. Open source projects are the trivial example, but there are other options too.
For instance, I do participate in flashmobs organized via Facebook and I didn't know anyone there the first time I went. Some friends are the core group of a well known latin-american mailing list dedicated to crack software (and most of them learned how to use cracking tools by hanging around in the list). These friends are from small towns around Argentina (where usually there are very few interesting people). Also, lots of charities and political parties are open for people who want to do things and organize via internet.