Aaron Campbell Interview
Meet Aaron Campbell (@aaroncampbell). He has more than ten years of web development experience, has been a regular contributor to WordPress for the last five years, and is currently co-leading the WordPress 3.6 release. He’s all about writing fast, scalable, quality code, and is happiest translating ideas and goals into functional sites. He’s been called both a coffee snob and a beer snob, but considers both to be compliments. When he’s not buried in code, Aaron can often be found spending time with his family, attending or hosting beer tastings, or taking his son drag racing.
How did you first get involved with WordPress and what drew you in?
In early 2005 I was using my personal site to test out a bunch of the available CMSs. I tried WordPress, Drupal, Mambo, Xoops, PHP-Nuke, phpBB, Typo3, and probably a few more that I can’t even remember at this point. I was trying to stick to the PHP-based options, since that’s what I knew. WordPress was the perfect mix for me. It was easily extensible and easy to use.
Two years later I was doing client work using WordPress and I ran across a bug. I fixed it for the client, and then started trying to figure out how to get my fix into Core. I remember reading a bunch of existing tickets in Trac, and asking several questions before actually opening my first ticket (#4433). The patch didn’t follow coding standards, was created with
svn diff, and it doesn’t look like it was relative to trunk, but Mark Jaquith recognized that it fixed a legitimate issue and committed it. That was it. The hook was set.
After that I started following WordPress development more closely. I wasn’t especially outgoing, so it was mostly lurking at first, but I’ve been getting progressively more involved ever since.
When did you first start working with WordPress commercially?
When version 2.0 came out in late 2005 I started seeing it as a viable solution for clients. WordPress now had rich editing, static pages, a decent default template that I could use as a starting point for whatever I built (yep, I’m talking about Kubrick), and it supported plugins. It took me a little while before I found the right projects for it, but by mid-2006 I had used it on several client projects.
Tell us about your involvement with WordPress Core and the community. Has that influenced your professional work with WordPress?
At this point I’d say that I’m pretty heavily involved in the community. The community itself is getting bigger though, so I try to focus my involvement into the areas where I can make the most difference. I’ve contributed code to every version of WordPress since I started on 2.3. I attend all the dev meetings in IRC, try to help review patches, etc. I’m even co-leading the 3.6 release. I also speak at WordCamps as well as other events, especially when they’ll let me talk about getting involved in WordPress.
And yes, it has drastically influenced my professional work. At first it mostly affected how I positioned myself in the market, allowing me to know more about WordPress and what was coming down the pipeline. Then I started getting work referrals from other community members that knew the quality of my work because they saw it in Core. Eventually this allowed me to be more selective about the work that I took, giving me the flexibility that every freelancer wants. The biggest change though came within the last year when I partnered with two other WordPress contributors to start Range, a WordPress design and development company staffed completely with WordPress contributors!
How can people get involved in helping out with WordPress as an Open Source project, and when or why should they?
There are a lot of reasons why you might want to get involved with the WordPress project. Sometimes it’s as simple as profit. WordPress currently runs 17.5% of the internet or more than one out of every six sites! This is up nearly two percent in the last year, with steady growth. It powers tens of millions of websites. If you’re a designer, developer, business consultant, or work with the web in any way, WordPress is a huge potential market. That’s great, but how do you differentiate yourself and stand out from all your competition? When you get involved with the WordPress project — you increase your WordPress skills and even learn about new or upcoming changes. Just by getting involved, you become more valuable to your clients.
Another reason is a little more altruistic, and is what actually drew me to contribute. If you help make WordPress better, it’s not only better for you, it’s better for everybody. Your contribution will help someone else out, and someone else will contribute something that will help you! In the end, everyone benefits.
Once you’re ready to help, there are plenty of places to get involved including translation, documentation, events, support, accessibility, user interface or user experience, testing, and development. A great place to start is the Codex article on Contributing to WordPress.
Tell us about WordPress 3.6 and what you’re proudest about as a co-lead of the release.
WordPress 3.6 is still under heavy development, but so far I definitely think it’s our work around post formats, lead by Helen Hou-Sandi and Range’s own Pete Mall. It’s been such an underused feature, that has such potential! We’re going to be revamping the post screen to make them easier to use, standardizing the way extra data for each post format is stored, and even creating fallback output so all themes can use them. Then, we’re going to add the icing on the cake by really showcasing them in Twenty Thirteen, the new default theme that will also be shipped with this release!
What are the three most important lessons you’ve learned since setting up shop?
Make sure you clearly set expectations up front, and be specific. No matter how well you think you understand what a client wants, it’s likely that you’re not quite right. Documenting exactly what is going to be delivered will help. It gives the client the chance to make corrections, gives the client something that they can hold you to, and helps prevent scope creep by giving you something that you can hold the client to. I can’t stress enough how important this is.
Charge what you’re worth. Undercharging isn’t just bad for you. When you undercharge you attract the wrong clientele. You end up with projects that don’t challenge you or interest you and you end up underperforming. Your poor work doesn’t allow you to charge more, and the cycle ends up being self-perpetuating.
Lastly, work with the right people. This applies to both clients as well as contractors or employees. A client that really matches your goals and abilities will be a happy client, and one that doesn’t only cause grief. Similarly, working with the wrong contractors or employees can kill your reputation. Remember, you’re putting your name on whatever they do. It is well worth it to take your time and make sure you’re always working with the right people.
Do you prefer to work solo, as part of a team, or both depending on the circumstances?
I love working on my own. I really do. I distract easily, take a long time to get back on task after being distracted, and I hate both waiting on other people to finish something I need as well as the feeling that someone is waiting on me. I’m also not bothered that I’m the only one in my office at home. I don’t feel the need for personal contact to come through work, I have friends for that.
Having said that though, there is a huge drawback to working solo, and that’s stagnation. You’ll never learn as quickly, or as much, than when you have other great people to learn from. This is something that I didn’t even realize I’d get from the community when I started contributing to WordPress, but I did. Working on WordPress with people like Mark Jaquith, Ryan Boren, Andrew Nacin, Pete Mall, and many more, has made me a better developer. Working with people like Sara Cannon, Jen Mylo, Lance Willet, and Helen Hou-Sandi has given me a better eye for usability. This was one of the driving forces behind starting Range. We get better just by working closer together.
Tell us about Range and the impetus behind joining forces with fellow WordPress luminaries Sara Cannon and Pete Mall. How does this fit into the other work you do?
First of all, Pete and Sara are awesome! Who wouldn’t want to work them?! Honestly though, we’d all been running our own companies for a while. We’d trade work back and forth some, but we realized there was a lot more potential there. By teaming up we’ve been able to create an amazing team capable of handling much more than we could ever do individually. And the best part is, we all have the same desires to give back to WordPress and have been able to make that an integral part of what Range is! Which means that instead of Range getting in the way of my contributions, it actually helps to enable them. There’s no possible way that I could be co-leading the 3.6 release without their support.
What advice would you give someone just getting started with working with WordPress professionally?
The WordPress community is a great tool. Use it to your advantage. Take the time to get involved and to connect with other WordPress professionals. There’s a huge wealth of knowledge there, and it would be crazy to ignore it.
Finally, as a self-confessed beer snob, could you recommend some choice beverages Code Poets should be seeking out?
My two favorite beer styles are the dark heavy beers with layers and layers of flavors, such as the porters and stouts, and the bitter hop-heavy beers like the IPAs. For the darks, you really can’t beat the barrel-aged Old Rasputin Russian Imperial Stout, but you should definitely try the Big Bad Baptist Imperial Stout as well. Also, look for a place that serves beers on nitro instead of just beer gas. They’ll often have something like the Left Hand Nitro Milk Stout, which is phenomenally smooth on nitro.
For the IPAs, just look to the West Coast. Almost everyone there is doing it right including Stone, Green Flash, Alpine Brewing, and many more. Some of the team-ups between these breweries are absolutely stellar.
Also, if you use untappd my username is aaroncampbell.