# The inns we stayed at Discuss the different communities and how there's something to be learned from programming in languages that aren't considered good languages. Discuss how there's no such thing as a truly bad language. ## Fellow travellers Whenever we think of programmers we think of a person working in solitude entering code into a computer. Usually that programmer is alone, although there are methodologies that utilize more than one programmer at a time ("pair-programming" for instance). During those coding sessions there isn't' a lot of contact with other programmers and it can feel isolating to be in the company of yourself for most of the day. Granted this may be a good feeling (there are times when I really enjoy being by myself at the computer) but there are other times when we need to feel like we're not alone in this. This is especially true when we're learning and pushing ourselves into uncomfortable territory. Finding others who are in a similar situation can help us with our learning process by fielding questions and reviewing our progress. Finding a good community that is supportive of our learning is vital to our programming journey. When we have a good community we have somewhere that we can learn and help others learn. We can grow in the community and find friendship. A good community is one that strengthens us and the ones around us. It nurtures us and provides some shelter. It is a safe place where we don't have to constantly keep our guard up from attacks on ourselves and others. It holds people we can trust and feel that trust is reciprocated without fear of betrayal. ## Finding a good community There are a lot of good communities out there that are willing to help you become a better programmer, but how do you find them? That's a tricky question. Most programming languages have some form of community around them. Some have mailing lists or other communication channels that you can check out. Unfortunately most popular languages have spaces that are next to impossible to follow, especially when you're trying to learn. I know I have had instances where I've joined the main channel for a popular language only to be overrun with multiple conversations happening at once. Some programming languages have local user groups. Those can seem intimidating at first, especially if the group has been around for a long while. I know I was intimidated before I went to my first user group for fear of what I might find inside. What I found was a group of folks who were interested in the topics that I was interested in. I've made lasting friendships through users groups and I encourage you to see if they might work for you. If you're at a loss for finding the right group (perhaps you're in an area where you feel you're the only person who shares your interests) you might consider starting your own, or a branch of an existing group. My friend Rick started a branch of a group called Coffee House Coders where coders meet once a week for a few hours to sit and code. We've met some amazing folks along the way. Starting a group is an act of courage and there have been many times where it's just myself sitting in a coffee shop. That's fine. People get busy and interests fade over time. What is important is creating the space for others to feel welcome. And for us that meant finding a local coffee shop with later hours and ample space for setting down a laptop. There are many ways to be creative with this as well. The advent of many different online tools allows you to build communities with folks across the globe. Bringing these folks together to talk and discuss ideas and offer help is amazing when it happens. I recognize that not everyone can do this.