I recently did an interview with Helen for my talk at WordCamp Tampa. I was only able to use such a small part of that interview due to time. However I thought that her thoughts were very relatable, and therefore I didn’t want them to go to waste. The subject of my whole talk – and therefore my questions to her – was about contributing to WordPress. I wanted to get Helen’s “origin story” about how she started to contribute to WordPress core, and what she could relate to others who want to give back to WordPress in some way (either by contributing to core or some other method).
I was helping a fellow collaborative pianist with the Collaborative Piano Blog, which he runs on Blogger. He asked me if I’d ever heard of WordPress, but I hadn’t. Not long afterward I was learning about buying a domain and hosting of my own, and since I had looked up WordPress and saw that it supported static pages, something Blogger did not at the time, I thought it would be a good thing to try out for my blog through the host’s one-click installer. This would have been early 2008, I think around the time of the 2.5 release.
I had started following along a little bit with betas and RCs during my first WordPress project at my first web development job, and started another major project that was dependent on features and refinements coming in 3.1 with a target of launching during 3.2, so we were developing against trunk. I didn’t know enough then to be patching much in those areas, but there was a tiny UI bug that was really bothering me and I wanted to challenge myself to learn how to make a patch. I really liked the idea of being able to fix a part of something so widely used, not because I wanted to be recognized for it, but because even something really small becomes big when multiplied so much.
My first experience contributing code (it was not my first Trac ticket) was fairly smooth. I got good feedback on my patch from two other core developers and it was committed fairly quickly, which kept me from becoming discouraged right off the bat. It also taught me that even something that seems like a small CSS change still needs to be done with a wider view of the code base and comes with gotchas, like how to patch against unminified files and what to do about those minified files. It’s a little scary, sure, but I’m a person who likes challenges and weighing many considerations.
I was so terrified of opening my first Trac ticket, which was about a character encoding problem on .org. I think I asked Jen Mylo on Twitter if it was okay to do because I was worried that I would sound stupid. Another one of my early tickets was invalid (at least, it was then – it isn’t today!) and I definitely felt silly afterward, even though looking at it with the context I have now, I can see that it was really quite small and everybody was perfectly nice about it. My worries were (and are) the same as many – afraid of doing something wrong, wary of making a decision that will bite us later, conflict with certain personalities, and so on.
Overcoming those fears has really been a matter of learning to reason with or ignore my inner pessimist – those feelings don’t just go away, and it’s unreasonable to expect yourself to “just get over it”. Some of it has also changed because of where I sit – worrying about ramifications of a decision are now taken as me being sage instead of slow 🙂 Largely I think it’s about personality traits, which makes this different for everybody. In particular, I’m pretty aggressive and don’t like to let people stand in my way of something. Not rebellion against obstacles, but just always wanting to move forward on my own terms. I will confront somebody or something that’s blocking me, but if they won’t move, then I’ll go around them. That’s how I cope – not necessarily something I recommend for everybody. It’s important to find what fits you as a person.
My first props is here, for 3.2: https://core.trac.wordpress.org/changeset/18362
Things go poorly on the micro scale constantly and consistently, with occasional visibly bad situations, and I feel frustrated and defeated frequently to varying degrees. This is true of basically everything, though, which is the important thing to recognize. I think the hardest period for me was when a lot of general life factors amplified each other negatively. In some ways, I couldn’t let it deter me so I forced myself through, because I couldn’t afford to not be working. I also did a lot of learning about the working world to get myself in a better place – negotiating for more community time with an end goal of full-time and the tough topics of salary and parental leave. Those are important lessons, especially in an industry where a lot of people are in their first or second job and haven’t matured in the workplace yet.
Some things that have been happening recently with over-mixing of the personal with the work parts of being in WordPress have also been very difficult to get through, and I’ll fully admit to wanting to leave tech entirely. But there are so many good people and good things about doing this, so I try to focus on that. I also blow off steam in a variety of ways, and maintain hobbies and activities that have nothing to do with computers 🙂
The thing about client work that was tough for me was reconciling things that professionally I would and should support but personally could not. I’m practical, but also have a stubborn ideological streak. WordPress can be used for any purpose, but not having to be directly invested in a given purpose fits me much better. Being able to work from anywhere, with a huge amount of flexibility, mostly reporting to myself, on something I really truly believe in – and get paid well for it! – is incredibly satisfying and almost impossible to believe sometimes. I’ve also made incredible friendships and been challenged intellectually.
It’s important to have empathy while letting go of sentiment. Empathy allows us to find motivations that are more resilient, like “what is the right experience for the majority” or “how can we fix this common pain point in a way that won’t be a pain point later”. It also allows us to communicate better while being flexible about interpretation of written communication. Sentiment, on the other hand, sets us up for disappointment – being attached to a given approach or idea that will almost certainly evolve over time, whether in patch form or once it’s in core, or allowing conceptions of personal relationships to affect work approach.