Finely Tuned Consultant: Jared Atchison
This week I’m doing something I shouldn’t, and featuring an Aggie in this post. If you live in Austin, Texas, that’s not allowed. [I’m going to try my best to put “Hook ’em” in here as many times as possible.] Jared is an incredible Genesis developer hailing from College Station, Texas. He gives really good WordPress, and has been building sites on the platform for more than 5 years. He specializes in the Genesis Framework, and has worked with VIP customers, as well as smaller sites. Jared also gave me the longest WordPress Developer in the history of Open Source Software. The New Yorker would be proud of this tome.
Ahem. Hook ‘Em.
In Jared’s own words:
I’m a WordPress consultant, Genesis developer, husband, and Texan. Proud to be all four.
Now, onto Jared’s answers, which are amazing, to be honest. Hook ’em.
When was the first time that you really got excited about WordPress and at what point did you decide to make it your career?
I’ve always enjoyed using WordPress, for blogs and for clients. Over time it just grew into an obsession. I’d like to think the community had a lot to do with it. As someone who had a very brief stint developing with Drupal, the WordPress community and culture is top-notch. What sealed the deal, in my opinion, was attending a few WordCamps. I had been developing with WordPress for a while but still had a full-time job when I started attending WordCamps. After I left, I decided come hell or high water I was going to make a living developing with WordPress. About a year later I quit my full-time job and now am a WordPress consultant.
Where do you go first to get your WP news, insights, and updates?
The best source of info, in my opinion is Twitter. I have a finely tuned Twitter list that is pure WordPress. I read through my list periodically throughout the day to keep up with what’s happening. Outside of that I read WPCandy, WPDevel, and Make WordPress UI in my RSS reader. Lastly I’m always idling in #wordpress, #wordpress-dev, #bbpress, and #genesis on irc.freenode.net which is another great way to keep an eye on things (weekly dev chats, etc).
What WP consultants deserve more love than they get? Who should we be paying attention to?
That’s a hard one because many of my favorite consultants are all fairly well-known. Hell, you’ve done a write-up on most of them already!
I will say WordPress Trac is full of unknown developers who are trying their best to help out or ‘get noticed’. If I had to name a few specifically I would say Thomas Griffin and Travis Smith. Thomas has released TGM plugin activation and Soliloquy, both of which are not only useful but the quality of code is just awesome. Travis has also been doing some pretty interesting projects as well as submitting patches to Genesis.
What performance tips would you give to other pros (as related to speed, scalability, security, plugins, backup, etc.)?
For starters, when possible, I have my clients host on WPEngine. This automatically addresses almost all of these points – built-in caching, security scanning, daily snapshots, etc. Going this route is definitely preferred since it covers everything.
On some projects, for whatever reason, WPEngine isn’t in the cards. On these projects I typically use W3 Total Cache to at least do basic level caching. For backups I use BackupBuddy which is awesome – every developer should have a license.
Security wise there are a handful of things that can be done behind the scenes (nuke ‘admin’ user account, prefix tables, etc) but a lot of that boils down to the user. Dre Armeda’s security talk does a good job covering all the security basics.
Lastly, in my mind, plugins are a big one as they can directly relate to security and speed. Just because there are 65,000 plugins available in the WordPress.org repo doesn’t mean they are all good. Don’t get plugin happy. Do your research.
For example there are dozens of plugins for lightbox-type scripts. Take the time to investigate them and see which one is superior before you download/activate. Look at when it was last updated. Look at the rating. Look at who the author is. Look at how many issues other users are reporting and what they are. If you are a developer I would recommend going one step further and looking through the code. Is it up to the WordPress coding standards? Are they using the appropriate WordPress APIs (such as the settings API and enqueuing scripts properly)?
I started doing this on almost every plugin before I even activate it. It takes 10 minutes to skim through the code and the results will often surprise you. I found a lightbox plugin that not only called the javascript wrong but saved all 40+ options separately. I found an Email-to-friend plugin that injected a hidden tracking pixel on your site so the author could see who was using it (I reported it and it has since been removed). Both of these plugins had tens of thousands of downloads.
So when time permits, I definitely recommend vetting the plugins you use on your sites. It can potentially make a big difference.
Confess to us your biggest moment of WP fail?
That’s a tough one. I think all developers periodically have their “oh shit” (Oh, Hook ’em) moments – myself included – it’s part of the learning process.
A while back I rolled out a custom plugin for a really large site – millions of hits each month. First mistake was when I was developing the plugin (on the very helpful WPE staging setup) I didn’t keep an eye on the error log. Second mistake was moving the plugin over to production on a Friday when I was going to be away from the computer most of the weekend. By Saturday I got a few reports in my email about the site being really slow. Come to find out I was hooking a Genesis function into the print template (wp-print) and anytime someone tried to access the print view things would explode under the hood.
After that I learned to always analyze the error log as I develop and to not ship code on a Friday if possible!
If you were going to spend this weekend creating a plugin that doesn’t exist, what would it be?
A plugin for bbPress. I’ve been on a real big bbPress kick in 2012 and that’s been where a good portion of my free time (free time, what is that?) has gone. There are so many opportunities for developers to get into the bbPress game right now. Not only is bbPress a developers paradise, but version 2.1 is right around the corner and really takes things to the next level.
On top of that the bbPress code (mostly written by jjj) is fantastic. The quality of code and documentation is the best I’ve seen. I’m constantly learning new things by working with it.
Do you use Themes & Child Themes, Roll your own, or both?
I work almost exclusively with the Genesis Framework, so all the themes I create are custom child themes. I have a base child theme I use as a starting point for every new site. About every 3-4 months I make it a point to go in and adjust/update my base theme to accommodate any features I’m constantly adding (or ripping out).
I also use a core functionality plugin for all my sites, which lets me keep things that are not theme dependent out of the theme. I don’t have mine on GitHub yet, but it’s very similar to Bill’s plugin.
What’s your favorite theme or theme framework? Why?
Genesis Framework by a mile. By many miles. I started using Genesis fairly early on in its inception, sometime in 2010 if I recall. Since then I’ve never looked back. Why? Well prior to giving Genesis a whirl I had tried about half a dozen other frameworks. Some of them were just complete crap while others were fairly decent – but none of them compared to Genesis.
I suppose one of my favorite things about Genesis is that, in my opinion, it was written by developers for developers. This isn’t to say Genesis is only for developers, just that Nathan (lead Genesis developer) has done a great job making everything extendable via hooks and filters. Also, the Genesis team does a great job listening to developer feedback and taking that into account with future releases.
Lastly, the StudioPress/Genesis community is fantastic. I can say with full confidence I wouldn’t be in the position I am in now if it wasn’t for Nathan, Brian Gardner, and the folks over at StudioPress.
Favorite plugin?
Does bbPress count? 😛
I probably don’t have a single plugin I like the most, but rather several used together – what I would call a war chest. The plugins that get installed on almost every site I develop are core functionality plugin, Google Analytics for WordPress, OpenGraph Meta tags, Login Logo, Registered Users Only (used during development), Sidekick, WP101, Image widget, W3 Total Cache, GravityForms, BackupBuddy, and Soliloquy.
Least favorite plugin?
Off the top of my head, Wishlist Member. I won’t touch it with a 10 foot pole – it’s crap. I also hate plugins that were written by clueless developers. Nothing pisses me off more than having a plugin give me 30 errors on every page because the developer was too lazy to use WP_DEBUG.
What’s the coolest thing you’ve ever done with Custom Post Types?
That’s tough since I use CPTs with over half of all my projects. I’d say the most useful thing I have built with CPTs is a Delicious-type theme dubbed “Tasty”. Tasty is a Genesis child theme I made that adds a ton of cool features to turn it into a bookmarking site. I use it fairly frequently and it works great. I’m going to put it up to download (free of course) this summer when my new website launches.
One of the craziest things I’ve done with CPT is a coupon site that has 3 CPTs: coupons, merchants, and schools. All 3 are connected in various ways using Scribu’s Post 2 Post plugin. It got pretty intense.
What do you think is the biggest challenge that WP consultants will face in 2012?
Keeping up with the demand while not sacrificing quality. From my experience there seems to be quite a few good developers (such as the ones featured on the WPE blog) and then a ton of crappy ones – with not a lot in between. This means that clients typically end up with a very good experience or a terrible one. I can’t tell you how many clients I have met that had all but lost faith in WordPress and/or web developers because they had such a poor experience with a previous developer.
Ideally, the good developers (you know who you are!) should spend time helping people just learning the ropes when possible. Luckily, most do this already. I know I’m always available on IRC or Twitter for questions, things like that. I try to encourage new developers to ask questions when they get stumped. Sure it would be easier to tell them to “RTFM” or “just Google it”, however a good explanation from a real person goes a long way.
I know when I first got started there were people in the #wordpress IRC room and the StudioPress forums that helped me tremendously. Now that I am fortunate to be on the other side of things I try to give back when time permits.
Though some might see having more quality developers as competition, I see it as win for everyone. (Hook ‘Em)
If you could change one thing today about WP, what would it be?
I wish there was an easy way to deal with post meta information (custom fields) and post revisions. Custom fields aren’t included in post revisions, and this becomes a problem when you are storing things such as recipes in custom fields, since it would be ideal to keep track of the revisions.
A close second would be looking into ways to ditch Thickbox. A distant third would be improvements to the media library.
Where do you see WordPress going in the next 2-3 years?
I don’t think we are going to see anything radical. Overall things will get tweaked, features will be added, and it will continue to improve as a CMS.
Much of this, in my opinion, depends on what the release cycles are like in the future. Shorter release cycles make it harder to pump out huge changes (e.g. media library updates) but then long release cycles can drag on and things can get stale.
Most importantly is that things continue to improve. If the past 2 to 3 years are any indication I think we are going to be in good shape.
What’s the biggest misconception you encounter about WordPress, and how do you clear it up for your clients?
A few years ago the biggest misconception I ran across was that WordPress was mainly for blogs and wasn’t a good CMS. I think it is safe to say everyone has heard that one.
However, since then clients have really noticed all the cool CMS-type stuff WordPress can do. All you have to do is go look at the showcase on WordPress.org or StudioPress.com and you will see tons of sites that really push the limits of WordPress. Because of this, it seems some clients just assume that this slick custom functionality is something that simply gets “turned on” – after all so many other sites are doing it!
For example a client will want a Testimonial section in their website. They don’t realize that I have to create the custom post type, setup custom meta boxes, style the archive and single post templates, write a custom widget that pulls a random testimonial, etc. I have to explain to them, while WordPress can do just about anything it’s not as simple as define(‘TESTIMONIALS’, true).
If you were interviewing another WordPress developer for a job, what is the first question you would ask and why?
I’d ask them for the links to their blog, Twitter, WordPress.org account, and GitHub account. Just from those 4 things I would have a really good idea if this person was a good fit or not. The number one thing I would be looking for is passion. Are they truly passionate about WordPress and writing code OR are they content just doing it 9-5?
People who are passionate about what they do tend to be very good learners – so their existing skill set is less important compared the fire that drives them.
I’m a good example of this. When I first started developing with WordPress consistently (around 2.7) my knowledge of PHP was not that great. I had no idea was SVN was or how to use it. The concept of hooks and filters confused the hell out of me. However, that didn’t keep me from busting my ass and getting knee-deep in code. I idled in IRC every day, listened in on weekly dev chats, went to WordCamps, followed Trac, and continually broke things until I understood them. I did everything possible to put myself in a position to learn more (and still do).
Had I just approached WordPress as a normal job I wouldn’t be where I am today.
What did I miss? Here’s your chance to fill in the blanks and add something you want people to know about you!
WordPress is such a great platform and has a fantastic community behind it. I’m very fortunate to say I am one of the few people who absolutely love what I do and wouldn’t change anything. With some hard work and determination others can achieve this too – I’m proof.
Lastly I’d like to give a lot of credit to my wife, Sam. The saying “behind every successful man is a woman” is 100 percent accurate as I wouldn’t be able to do what I do without her support. She puts up with my rants and crazy “work hours.” Additionally she often proofs emails I send to clients so I don’t sound like an idiot.
Thanks Jared!
OK, folks if you’ve made it this far, then you need to bounce over to Jared’s Site to hire him!
It’s great to hear interview from a WP Consultant to see what they are thinking and planning to improve WordPress every day. I have used WP on every site of mine, but I admit that I haven’t really digged into the code. I just install WordPress, get a theme from Studiopress with some basic plugins and set them go. Maybe I have to consider carefully in the furture to keep my sites clean and fast. Thank Jared for the tip about digging into WP Plugin, I have no idea that these plugins on Official WP Site could harm my sites.
Good information, thank you. But I’d like to hear some specifics as to why Jared says that WishList Member is “crap”. I don’t know it well, but so far it seems like a pretty good product.
Also, I have no idea what “Aggie” or “Hook ’em” means, just FYI. I mean, not even the tiniest clue. 🙂
Patty
Jared has been my developer for more than a year. He spent the first few months undoing the mess of two previous WP developers. There’s nothing I can throw at Jared that he can’t accomplish. And when he’s stumped–which is rare–he digs in, asks the community for help, and delivers–always on time. I’ll have stuff for him to do for as long as he wants to work.