Jess (Drupal.org username xjm) is a Drupal developer, core contributor, module maintainer, and mentor, and just plain all-around awesome! She is a web developer for the University of Wisconsin's Department of Family Medicine. She also volunteers at the University of Wisconsin-Madison Arboretum.

Jess has made many contributions to Drupal, including roles as:

Sites she's built with Drupal include the UW Department of Family Medicine's public and intranet websites, an organizational knowledge base, and various small sites.

Jess attended her first DrupalCon in Chicago, and is coming to DrupalCon Denver as well, where she is planning to run an in-person core office hours sprint!

We asked Jess a few questions:

Tell us a bit about yourself! What is your background, or things that interest you outside Drupal?

I love the outdoors. I often bike 30 miles a day in the summer (that's 50 km for those of you using reasonable systems of measurement). I camp, hike, and do ecological restoration, and I probably can identify more plant species than you. ;) I also have other crunchy pastimes like gardening, cooking, and making candles. (I have not yet attempted to weave my own yogurt.)

I read a ridiculous number of books, and I speak bits of five foreign-to-me languages (though I can only carry on a conversation of any substance in French). I think General Relativity is awesome and I love mathematics and statistics.

I'm also a nerd. You probably got that already.

How and why did you start contributing to Drupal core?

I opened the 7.x-1.x branch of TAC with no knowledge of Drupal 7. 80% of TAC's upgrade from D6 was straightforward, but then I crashed headlong into the Field API and D7's entity form handling. I started asking a lot of questions, and catch was incredibly patient and helpful. I connected with someone in IRC who had a similar issue with entity forms, and we came to the conclusion that we needed a hook_field_widget_form_alter(), which did not yet exist in the API. We posted an issue for that, and before I'd finished my lunch, sun had written a patch for it.

Around then two things happened. First, the issue summary functionality was deployed on Drupal.org, and I saw a way that I could actually do something useful in the core queue in exchange for all the help I was getting. My hope was that issue summaries would widen the "review bottleneck" by saving reviewers and core committers time. I started writing an issue summary every day for major and critical core issues. Every summary I wrote also taught me something about Drupal.

A few days later, chx asked in IRC for someone to reroll a patch with a couple of minor fixes. I thought, hey, I can do that, and it ended up being my first core commit credit. For chx, who has written more of core than pretty much anyone, it would have been a triviality, but for me, it was the realization that I was actually capable of contributing, at least in a small way. That opened a door for me.

In the process of writing my once-a-day issue summaries, I came across some issues in subject areas I already understood well, so I worked on the patches as well as the summaries. Then I learned how to write automated tests for TAC, and consequently I was able to start contributing automated tests for core as well. The more issues I worked on, the more I understood, and the more I could do. Kind of an avalanche set off by a pebble, by the fact that people like catch and sun and chx took the time to be supportive and encouraging. So that's why I have my Drupal.org profile tagged with "full frontal nicety" (cr. webchick). Be nice. Go out of your way to be helpful and kind, because it can make all the difference to a budding contributor.

Can you explain some of the benefits of getting involved with the community and what you get out of it?

The best part is having co-ownership in the software that I use every day in my job. Being able to help resolve problems I encounter is very empowering, as is knowing where I can turn when I get stumped by something. It's also wonderful to collaborate with talented, engaging people from all over the world.

Now, if I were talking to my boss (hi Justin!), I'd emphasize that being actively involved in the project is good business strategy:

  • Filing and participating in issues helps resolve real, production problems for our sites in maintainable ways.
  • Contributing code back to the community means that there are thousands of other sites to help debug and test that code.
  • Participating in discussions about Drupal core and contributed projects helps us make informed decisions.

What motivates you to help out others to get involved?

Two things:

  1. For years, I was active in contributed module queues, but terrified of core. It took meeting a couple of friendly Acquianauts at DrupalCon Chicago to show me that core developers were actually completely approachable human beings. ;) So I'd like to extend that same realization to everyone else who might be in the same place I was.
  2. Drupal 7's fantastic success also means that there are a lot more people using Drupal and filing issues. There's also a chronic shortage of experienced patch reviewers, which means issues that could well be fixed by an existing patch get stuck and languish. We as a community need to invest in connecting new contributors with the work they can do now.

What's your advice to new would-be contributors?

  1. Join Drupal IRC channels. Lurk in #drupal-contribute.
  2. Check out core office hours or the Novice queue.
  3. Try your hand at contributing an issue summary. If you take the time to carefully read and understand an issue, you'll likely learn a lot about a particular topic, and also get a feel for how the community resolves issues and makes decisions.
  4. Code is not the only way to contribute--not even for core. (Just today, a self-proclaimed "not a PHP nerd" unblocked a 4+ year old core issue by doing manual testing.)
  5. When someone gives you feedback, embrace it! If code is your thing, learn to love the patch reviews you get. Even if all someone says is that a code comment is unclear, they're helping your patch move forward.
  6. Pay attention to the feedback that experienced contributors give others, as well. You can learn a lot by watching what reviewers look for.
  7. Above all, be patient and don't get discouraged! Sometimes it can take a long time and a lot of iterations for issues to be resolved. And, if you are unsure about anything, ask the nice folks in IRC.

What do you do with Drupal these days?

Well, it looks like I'm finally going to get to upgrade my department's sites to D7, which is a huge relief. I'm looking forward to experimenting with responsive frontend design and all the cool stuff I missed out on during a decade of supporting pixel-perfect IE6. (We finally decided to drop support this year.)

How did you get started in Drupal? What were your stumbling blocks, and what were the moments that things started to click?

The full version of that story requires a couple drinks, or possibly a therapist. However, I'll say that cowboy-coding a CMS with 2-3 others back in 2003 taught me the comparative value of open source projects, and that I picked Drupal for a client in 2006 primarily because the Drupal community seemed to be active and thriving.

The thing that stumped me the most in those first few months with Drupal 4.7 was probably access control; I spent weeks of testing and hacking trying to implement the permission scheme I wanted. (I installed TAC very briefly in D4.7... and uninstalled it as fast as I possibly could. I'm not sure if it's irony or fate that led to me maintaining it.) A few turning points for me were learning firsthand the bad things that could happen if I hacked core; the release of the Zen theme, which brightened my relationship with Drupal's frontend considerably; and my discovery of hook_nodeapi() and hook_form_alter(). Oh, and when I got over the idea that "I was a developer and knew how to write SQL" and realized that Views was pretty powerful. ;)

What's your favorite restaurant in Madison?

That might be the toughest question here, because we have a lot of amazing restaurants! In this context, I think the honor must go to Bradbury's, where I've written a whole lot of code, issue summaries, and so on; not to mention papers on topics ranging from the ecological history of Cherokee Marsh to the sociolinguistics of the distinction between Hindi and Urdu. (This is what happens when you go to college for over a decade.) Bradbury's has the best coffee in town, plus a rotating, seasonal menu of sweet and savory crêpes featuring local produce.

What would Linnaeus do?

Well, I'd love it if he could help me out with the Cyperaceae. If you think Drupal can be confusing, try identifying sedges sometime.

Anything else to add? :)

t5'''''''''''''''/
(This last contribution is from my cat Auri, who wisely considers my laptop to be her primary competitor for my attention.)

Know of anyone else doing awesome things in the community? Nominate them for Community Spotlight!

Comments

I love reading these Spotlights; I learn so many things. For example, I was never aware of the mentors page. I guess I just skipped right over that checkbox when I was editing my profile. Maybe if I hit up enough people on the page, I will build my skills to the point that I'll end up checking the box in my profile!

Angie, thanks for doing the writeup.

Jess, thanks for being you.

Angie and Jess, thanks for all you do for the Drupal community.

And Happy New Year to all! May 2012 be a great one for all of us, both within and outside of the Drupal community.

The long and winding road .... (dun dun - dun dun) .. tha-at leads ... to dru-pal.

congrats on the spotlight xjm!

Thank you for sharing. Will u be sharing ur tips and advice of converting to drupal 7?

That would be a great topic to go over.

PS: /me also thinks bunny ears _are_ fuzzy not furry.

What a well written article on a worthy person. It provides practical motivation.

We meet a real person (and a face to put with the name) who had the common travails we all experience when starting with Drupal and the steps she took to grow into her Drupal role. Beyond the biography, we are given the links on how we can do the same thing.

Consider adding a main topic in the Support Forum. Every Drupal installer ends up there eventually. The main info with your links could be a sticky post and Module Maintainers could add posts to recruit help with details of exactly what they needed you to do, the normal time required to do it, and the deadline. I have found that when I need volunteers for my nature projects giving them that information removes their hesitation.

Forum: Support: Ways to Help For Drupal Beginners
Forum: Support: Ways to Help After Your 1st Year With Drupal
Forum: Support: Ways to Help After Your 2nd Year With Drupal

Quite often the Drupal vocabulary is Greek to me. Just think. If Linnaeus had been involved, it would have all been labeled in Latin. Drupalloncanicus Viewastrus Argumenti? It makes my head hurt to think about it.

_____________________________
Pay It Forward at Drupal
When you ask a Forum question, look for one you can answer.

"Sedges have edges, while rushes are round".

*wiiink!*

And grasses have knees, hollow up from the ground!

A huge thank you to Jess who helped me for my 1st patch to Drupal (a small one).
Always available on the IRC channel and a great help !

*rubs against xjm's legs*

Fantastic to read about you. This happens to be the first Community Profile I've read (stumbled upon) and coincidentally, I've been using the Taxonomy Access Control module with complete delight on a recent site build. Thank you so much for your contributions to that!

CG

Catherine G. | Mobtown Design

hey! this is a very inspiring post, thanks so much for taking the time you do to help people and keep the commits happening. There's so much to learn, and at times it seems such a daunting task it's hard to see the light. This post clears up a lot of mental roadblocks for me :)

xjm++

Send my regards to your cat Auri, and thanks for sharing your invaluable and useful information about Drupal.

Very interesting, your a great developer and good lock on D7

Very interesting post, I wish you all the best of luck!

xjm, has a good support in IRC chat too and she helped me several times. I am so happy that we have such active persons in drupal community that always try to make Drupal better by using their time and energy. I just wanted to say thanks to xjm and all other people help drupal.

Doubt is the father of invention..... Hubmesh | download converter

Hi,

I'm new to the drupal community & for the first time I read the community spotlight! I really enjoyed reading it. Congratulations for being in the spotlight Jess & thank you for contributing towards this community. Your piece of advice is something I ll keep in mind. Maybe in coming days I ll contribute just like others!

Regards,
Arihant

Thanks, this is very inspiring!
I've been using some taxonomy modules by her,
but I would never thought of what it takes to develop it.
Great job,
Thanks for sharing <3

I'm actually looking at using TAC, looks fantastic. Keep up the amazing contributions!