13 Nov 2005
Choosing A Community
“But when you choose a language, you’re also choosing a community.”
– Paul Graham, Great Hackers
I’m not a great hacker. I’m not even sure if I’m a hacker at all. Either way, I wanted to take a minute and just say something about community. I’m an ASP.NET/C# developer by day, yet in the past few months have really started to enjoy Ruby on Rails. Ruby is an incredibly poetic language, concise and powerful, and Rails is an incredible combination of flexibility within solid architecture. I’d like to speak about the community that I found around Rails.
I’ve been a part of three developer communities over the last 10 years: ColdFusion, ASP.NET, and now Ruby on Rails. Here’s my take:
CF developer community was vibrant. Initially I could have asked for nothing more, but as I grew as a professional developer, I began seeing weak spots. I would venture to say that most of the people that choose CF do so because of the low learning curve. It is a tagged-based language, so HTML designers could easily make the transition. It also rather beautifully abstracted the low-level implementation so you didn’t really have to know what was going on under the covers to rapidly build a web application. Resulting from the low barrier to entry, there was a lack of depth in the community regarding best practices. From my experience, most CF guys don’t understand proper architecture much less Object Orientation. There were a few superstars (mostly Java converts), but most of the developers really didn’t care about scalability, maintainability, extensibility, and all the other
abilities. Quick and dirty was just fine.
Desiring a little more depth, and my company needing to become a bit more
enterprisey, we faced the Java/.NET question. We landed on .NET as the vast majority of the company is on a Windows platform. Initially it was great. The toolset far superseded that of CF. In my experience however, the community was a step backwards. The ASP.NET community is huge and complicated. I also find it impersonal and somewhat sterile. It just lacked warmth. When you have a question, the answer IS out there. You just need to keep googling until you find it. Hopefully it’s not a
known bug that Microsoft will be fixed sometime in the next few years. Dread. What I haven’t found is a close knit focused group who know what they are doing, where they are going, and are willing to help others grow as a developer.
Enter the Rails community. They are an intelligent, helpful, and focused. More importantly there is an innate love for coding and design and doing things the best way possible. This love comes through as being always willing to pull another up by sharing one’s experience, knowledge, and even code.
My intention is not to hold out one community as better than another. That’s just foolish. I will say that your community experience will determine, to a large degree, your success and enjoyment of a particular language. Paul Graham’s was right. So, find a community that you enjoy. Participate. Contribute. Leave it better than you found it. And have fun.