Differentiation and Diversity

I'd rather learn something new and struggler at it than be at the top of my game with nowhere to go but down.

It’s amazing to see how we can each withdraw into a comfortable bubble and disappear from the world. We surround ourselves with people who look like us, talk like us, and think like us because it’s easier (and safer) to agree than disagree and we’d rather be comfortable than challenged.

I’ve been a member of the WordPress community – and have attended WordPress conferences – for several years now. The biggest thing I’ve noticed is how markedly different that community is from the one I came from. I used to be a .Net developer.

The Windows world was a very different place. I thought that just meant it was weird (i.e. the WordPress world was “normal”).

jQuery

Over the past year, I’ve begun to reach out to different software communities. I’ve attended and spoken at two different jQuery conferences and can tell you first hand the jQuery community shares much in common with WordPress.

It also differs heavily.

The community is painted by the personalities that comprise it, yielding an interesting collidescope of ideas, options, and approaches to problems. The way politics works within each community is unique. The way each project’s architecture is defined differs immensely as well.

I admit, WordPress and jQuery are built in two different languages (primarily PHP and JavaScript, respectively), but that’s not the only source of the differing ways their code is structured. WordPress looks nothing like jQuery (and vice-versa), either in the form of the actual product or the project that birthed it.

JavaScript

jQuery is written in JavaScript, yet the two communities are highly distinct as well. jQuery developers have one set of approaches and opinions – those who deal with vanilla JavaScript (or just other libraries) have another. It’s interesting to see how varied the conversations will be between a group of jQuery developers and, say, a group of Ember developers.

There are jQuery conferences and there are JS conferences; both are special in their own ways, and both help enrich the community. At the same time, they each seem to target their own niche communities.

Diversity

I like to surround myself with people whose opinions I don’t understand or with which I disagree. It helps me challenge my own stances and either adopt a more refined viewpoint or better hone my arguments.

I like to work with different languages and frameworks for the same reason. WordPress does database interaction one way. Hoodie does it an entirely different way. Both are “right” in different circumstances, and both bring new techniques that can help the other improve.

I work with PHP. I work with JavaScript. I work with Ruby. I work with C#. I might not be the best developer in each language, but working across each definitely makes me a better programmer in the end.

All because I don’t want to live in a bubble of comfort – I’d rather learn something new and struggler at it than be at the top of my game with nowhere to go but down. Some have told me that spreading myself too much across various languages and frameworks is a weakness – I see it as a strength.

How different is your chosen community of comfort from those around it? Does that differentiation strengthen or weaken you as an individual? How would diversifying your contact with outsiders affect you?