Being a Good Member of the Community

By on  

Disclaimer:  I've been waiting, a long, long time to write a post like this.  Passion may be present...

A man stands up with a sheepish smirk, sweat visible. "My name is David Walsh", the studly newcomer said, wearing his Arsenal jersey like a suit of armor.  "I'm a a member of the MooTools Development team and community.  I worked with SitePen and consider myself a member of the Dojo community as well.  I work at a company widely considered the 'web freedom fighters' called Mozilla.  I am a proud member of the JavaScript and front-end community."

At this point in his development life, that about summed him up.  At (almost) 29 years old, his story was quite remarkable:  grew up in a tech-oblivious area, taught himself HTML, CSS, and JavaScript at 14, went to small colleges to get his Associate and Bachelor degrees, experimented with front end technologies while his friends went out and partied, and worked tirelessly to learn everything he could about front end development.  The more he tried, the more he realized how much of a noob he was.  The more he learned, the more he realized he had so much more to learn.

Those are the first two paragraphs from my in-progress memoir titled Memoirs of a Geisha Walsha.  All jokes aside, over the past five years, I've had a quite an experience with MooTools, Dojo, and Mozilla communities.  I'm not the most talented developer in the world but I tend to fit in well with different communities.  In working within each of those communities, I've seen what works, what doesn't, and what ... the hell.  Here are a few thoughts on my experiences in these communities and how you can be an ideal member.

Don't Be an Asshole

The number one thing that brings a community down, and brings a member's credibility down, is being an asshole.  You know the guy.  His code is always better.  His idea is always smarter.  His opinion is always right.  His mouth probably needs a punch, too.  Being an asshole in a community is just about the worst thing you could do.  You turn off other contributors, you alienate yourself from everyone else, and your opinions are instantly disregarded, even if they're good.

The biggest problem is that assholes don't recognize that they're assholes, and usually continue their rampage while loads of valuable community members leave.

Find a Role, Be Good at It

Finding your role in a community is the best way to establish yourself.  Whether your strengths are documenting, providing general IRC or mailing list help, fixing bugs, creating new functionality, or creating plugins, you're an important part of the community.  

No one of those roles is any more important!


Being good at and taking on a specific role provides stability within the community and positions you as a point person for other people.  Other community members with the same skill set will look up to you and you'll be able to help them grow.

Include, Don't Exclude

This simple rule takes on a number of different meanings:

  • Don't exclude known members of other communities; don't be adversarial
  • Don't exclude members of your own community that are known for different roles;  let others dip their hands in all pots
  • Don't exclude new people:  every potential new member of the community has value

Exclusionary practices by any member of a community reflects poorly on all member of the community.

Branch Out

Keep tabs with, interact, and become a member of other similar communities.  Doing so provides the opportunity to learn from other communities, take ideas from code or initiatives, and generally network with people of the same interests.  You'll be surprised at the benefits of doing so, job opportunities being one of those benefits.

Work Hard

Working hard is especially important at the beginning.  Showing other members of the community how hard you're willing to work is a great way to become accepted.  This can't be stressed enough;  effort is the number one source of appreciation in a community.

Those are my initial thoughts.  Let me know if I'm off-base on any of these thoughts.  Most importantly though:  have a positive impact on your community.  No one likes the guy that brings people down.

Track.js Error Reporting

Upcoming Events

Recent Features

  • 9 Mind-Blowing WebGL Demos

    As much as developers now loathe Flash, we're still playing a bit of catch up to natively duplicate the animation capabilities that Adobe's old technology provided us.  Of course we have canvas, an awesome technology, one which I highlighted 9 mind-blowing demos.  Another technology available...

  • Designing for Simplicity

    Before we get started, it's worth me spending a brief moment introducing myself to you. My name is Mark (or @integralist if Twitter happens to be your communication tool of choice) and I currently work for BBC News in London England as a principal engineer/tech...

Incredible Demos

  • Shake Things Up Using jQuery UI’s Shake Effect

    Yesterday I created a tutorial showing you how you can shake an element using Fx.Shake, a MooTools component written by Aaron Newton. It turns out that jQuery UI also has a shake effect which can draw attention to an element. The XHTML Exactly the same as...

  • Animated AJAX Record Deletion Using MooTools

    I'm a huge fan of WordPress' method of individual article deletion. You click the delete link, the menu item animates red, and the item disappears. Here's how to achieve that functionality with MooTools JavaScript. The PHP - Content & Header The following snippet goes at the...


  1. Alex

    A “Don’t be an Ass Kisser” would definitely have a place in my == list, as I tend to dislike people who, without much knowledge, talent or even luck, get happier += $

    and worked tirelessly learn everything

    and worked tirelessly to learn everything

  2. Well said David.

    Thanks for the advice.

  3. “Don’t Be an Asshole” +1

    really nice post on being a good contributor.

    you’ve got a typo btw, ‘Include, Don’t Exclude’

  4. Something about “get out when you are too busy” would be nice. In the Joomla community (where I’m from) there are some excellent contributors, but often times they are burned out, busy, and they aren’t able to work with the new folks enough to get anything worthwhile completed. Then it becomes a political game, trying to work around people who hold the project back. That really hurts the community in a big way.

    Great post, though!

  5. Lyza Gardner from Cloud Four recently blogged in a similar spirit and even used the phrase “Don’t be an asshole”.

  6. I love how you said “community” and not “website forum”. This applies to everything in life for the msot part.

  7. 100 Likes for ” Don’t Be an Asshole ” … Lovely article .. As usual ..it inspired me a lot.

  8. Sam Williams

    I have been a hobbyist for five years and professional developer for about 12 months. I would be absolutely useless without quality communities and I help out as much I can.

    BTW: “No one of those roles is any more important!” (missing the ‘T’) :P – I’m a grammar nazi.

  9. Jesus Bejarano

    lol “Memoirs of a Geisha Walsha” , one of my favorite movie

  10. Don’t be an asshole? Completely agree. Except for when that person might be considered an “asshole” for pointing out someone else’s laziness. The only thing worse than being an asshole is asking a question on a forum or place like stackoverflow that could be answered with a 2 second google search. So in my book, when you read those lazy questions… ashole it up!

  11. “The more he tried, the more he realized how much of a noob he was. The more he learned, the more he realized he had so much more to learn.” – I can relate to this. You’ll never know what’s to be learned next unless you tried or put something to practice.

  12. Daniel

    David, you went and wrote a whole post about me – shucks, I’m blushing! JK, rock on Sir Kid Walsh, rock on.

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!

Recently on David Walsh Blog

  • Intercept HTTP Requests with Node.js nock

    Unit testing external APIs is difficult no matter what language you do it in.  Hell, working with any external API is scary, if only because you have zero control of networking issues, API changes, and a host of other issues.  But if you do create a service...

  • Introducing Frontend Masters (with Giveaway)

    Hey DWB readers, I'm super happy to sponsor this blog. I've been a long-time reader and fan, since back when David wrote about JavaScript and MooTools back in 2007. ;-) We are in one of the fastest changing, evolving, most lively communities on earth: JavaScript and front-end web...

  • Get Node.js Command Line Arguments with yargs

    Using command line arguments within Node.js apps is par for the course, especially when you're like me and you use JavaScript to code tasks (instead of bash scripts).  Node.js provides process.argv but that doesn't provide a key: value object like you'd expect: Bleh.  If you want to work with a...

  • OâReilly Velocity Conference â New York

    My favorite front-end conference has always been O'Reilly's Velocity Conference because the conference series has focused on one of the most undervalued parts of client side coding:  speed.  So often we're so excited that our JavaScript works that we forget that speed, efficiency, and performance are just as important. The next Velocity...

  • Free Download: Font Bundle Featuring 17 Incredible Typefaces

    The only thing we love more than a good font, is a good free font. So we’ve combed the Web for some of our favorite free fonts, and gathered them here in a single download. You’ll find a variety of useful typefaces, from highly geometric designs...